/**
 * MFA theme overrides (loaded after main.css).
 * Typography: Source Sans 3 — see fonts.css / source-sans-3.css
 */

:root {
	/* Chrome: 5px+5px+block ~68px + inner bar padding */
	--mfa-site-search-bar-height: clamp(5.5rem, 12vw, 6.75rem);
	--mfa-site-search-bar-height-expanded: clamp(8rem, 22vw, 10rem);
	/* Same width as filters panel (max width for search block with chips) */
	--mfa-site-search-filters-panel-width: min(26rem, 100vw);
	/* Filters panel background and Filter button when panel is open (single place to tweak). */
	--mfa-site-search-filters-panel-background: #226372;
	--mfa-site-search-filters-panel-background-hover: #2d7f94;
	/* Detail viewport: browse prev/next stack buttons */
	--mfa-detail-nav-btn-bg: #c41e3a;
	--mfa-detail-nav-btn-fg: #c08a8a;
	/* Subtle horizontal rules (same as first rule under panel context); accordions match — not the brighter divider. */
	--mfa-site-search-filters-panel-rule: rgba(255, 255, 255, 0.12);
	/* Applied filter: second line only (.mfa-site-search-filters-leaf-main) */
	--mfa-site-search-filters-leaf-applied-fg: #96e922;
	/*
	 * Minimum chrome ↔ panel gap (horizontal). >20px requested; clamp adds breathing room on desktop.
	 */
	--mfa-site-search-filters-panel-side-gap: clamp(28px, 3vw, 48px);
	/*
	 * Chrome max width with chips: right viewport edge minus fixed panel minus gap.
	 * Uses 100vw (and panel width in vw/rem) → updates when the window is resized.
	 */
	/* Fudge: scrollbars / subpixels / 100vw vs usable area; keeps chrome from touching the panel edge. */
	--mfa-site-search-chrome-viewport-fudge: 20px;
	--mfa-site-search-chrome-max-width-with-chips: max(
		12rem,
		calc(
			100vw - var(--mfa-site-search-filters-panel-width) - var(--mfa-site-search-filters-panel-side-gap) -
				var(--mfa-site-search-chrome-viewport-fudge)
		)
	);
	/*
	 * Chips column (expanded search): min ~2 chips, max ~3 + horizontal scroll if more.
	 * The input (grow column) takes the rest with minmax(0, 1fr).
	 */
	--mfa-site-search-chips-column-min: 11rem;
	--mfa-site-search-chips-column-max: min(28rem, 42vw);
	/*
	 * Accordion section title block height (padding + line-height); used for panel bottom breathing room.
	 */
	--mfa-site-search-filters-accordion-header-block: calc(0.65rem + 0.75rem + 1.45 * 1rem);
	/*
	 * Visible padding below the last filter group when panel is open: ~2 accordion title heights.
	 * scroll-padding-bottom on .mfa-site-search-filters-panel-inner handles click clearance under the fixed bar.
	 */
	--mfa-site-search-filters-panel-scroll-clear-bottom: calc(
		2 * var(--mfa-site-search-filters-accordion-header-block) + env(safe-area-inset-bottom, 0px)
	);
	--mfa-site-search-filters-panel-scroll-padding-bottom: calc(
		0.5 * var(--mfa-site-search-bar-height) + env(safe-area-inset-bottom, 0px)
	);
	/**
	 * Default transition for hover/focus in the MFA theme.
	 * Use in new components: transition: var(--mfa-transition-hover);
	 */
	--mfa-transition-hover: background-color 0.22s ease, color 0.22s ease, border-color 0.22s ease, opacity 0.22s ease, box-shadow 0.22s ease, text-decoration-color 0.22s ease, filter 0.22s ease;
}

/* Theme links and buttons: smooth hovers (respects prefers-reduced-motion below) */
nav.navbar .mfa-page-container a,
footer.mfa-site-footer a,
.mfa-page-content-wrap a,
.mfa-site-search-bar button,
.mfa-site-search-filters-panel button,
.mfa-site-search-filters-accordion-header,
.mfa-site-search-filters-leaf,
.mfa-site-search-filters-leaf-remove,
.mfa-site-search-filter-chip-remove {
	transition: var(--mfa-transition-hover);
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--mfa-transition-hover: none;
	}
}

html {
	font-size: 100%;
	height: 100%;
	min-height: 100%;
	background-color: #454c54;
}

/**
 * Nav + content with background image: normal flow (scroll), min-height = viewport
 * so the footer sits below the first screen until the user scrolls.
 */
.mfa-page-background-wrap {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex: 1 0 auto;
	/* +1px: skip link adds no height in flow; avoids footer sitting on the first-screen edge */
	min-height: calc(100vh + 1px);
	min-height: calc(100svh + 1px);
	min-height: calc(100dvh + 1px);
	background-image: var(--mfa-page-bg-image);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}

/* No global veil: photo matches the source file. Only the top band darkens for the navbar. */
body.mfa-has-page-background .mfa-page-background-wrap::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: clamp(6.5rem, 24vh, 15rem);
	pointer-events: none;
	z-index: 0;
	background: linear-gradient(
		to bottom,
		rgba(30, 33, 38, 0.88) 0%,
		rgba(45, 50, 56, 0.55) 42%,
		rgba(69, 76, 84, 0.18) 78%,
		transparent 100%
	);
}

/*
 * Nav and content cannot share the same z-index: the later sibling (.mfa-page-content-wrap)
 * paints over the entire nav subtree; the .dropdown-menu (absolute) is covered and clicks
 * on lower items never reach the <a> (language change appears to do nothing).
 */
.mfa-page-background-wrap > nav.navbar {
	position: relative;
	z-index: 1030;
	flex-shrink: 0;
}

.mfa-page-background-wrap > .mfa-page-content-wrap {
	position: relative;
	z-index: 1;
}

/* Same when there is no background wrap: nav and content are direct children of body. */
body:not(.mfa-has-page-background) > nav.navbar.navbar-default {
	position: relative;
	z-index: 1030;
}

#skipNavigation {
	position: relative;
	z-index: 3;
	flex-shrink: 0;
}

/* Fresco detail: keep skip link off-screen unless keyboard focus (a11y). */
body.mfa-detail-fresco #skipNavigation a {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	margin: 0;
	padding: 0;
	border: 0;
}

body.mfa-detail-fresco #skipNavigation a:focus-visible {
	left: 1rem;
	top: 1rem;
	width: auto;
	height: auto;
	overflow: visible;
	clip: auto;
	white-space: normal;
	padding: 0.5rem 0.75rem;
	z-index: 10000;
	background: rgba(20, 20, 20, 0.92);
	color: #ffffff !important;
	border-radius: 4px;
}

/*
 * pageFormat/pageFooter: clear before closing #pageArea. A 1px height left a grey line under Browse.
 */
.mfa-page-area-clearfix {
	clear: both;
	height: 1px;
	margin: 0;
	padding: 0;
	border: 0;
	overflow: hidden;
	line-height: 0;
}

body.mfa-browse .mfa-page-area-clearfix {
	height: 0;
	min-height: 0;
}

/**
 * Global color: background #454c54, text #ffffff.
 * Fluid base size ~16–19px by viewport width.
 * margin-bottom: main.css reserves 82px for an old absolute #footer; we clear it for the MFA footer.
 */
body {
	background-color: #454c54 !important;
	color: #ffffff !important;
	margin-bottom: 0 !important;
	min-height: 100%;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

/*
 * Fixed search bar: do NOT use padding-bottom on body — it created a grey strip below the black footer
 * (body background #454c54). Reserve space inside the column and on the footer instead.
 */
body.mfa-has-site-search-bar .mfa-page-background-wrap {
	padding-bottom: calc(20px + var(--mfa-site-search-bar-height));
}

body.mfa-has-site-search-bar.mfa-site-search-body-expanded .mfa-page-background-wrap {
	padding-bottom: calc(20px + var(--mfa-site-search-bar-height-expanded));
}

/* Browse: no bottom padding on the wrap (avoids grey band after the grid; footer reserves space for the bar). */
body.mfa-browse.mfa-has-site-search-bar .mfa-page-background-wrap,
body.mfa-browse.mfa-has-site-search-bar.mfa-site-search-body-expanded .mfa-page-background-wrap {
	padding-bottom: 0;
}

body.mfa-has-page-background:not(.mfa-browse-fresco):not(.mfa-detail-fresco),
body.mfa-detail-objects {
	background-color: #454c54 !important;
}

/* Reduce layout jump when #caMediaPanel opens (scrollbar / reflow); detail uses the media overlay most. */
html:has(body.mfa-detail-objects) {
	scrollbar-gutter: stable;
}

/*
 * Object detail (/Detail/objects): full-width viewport media under navbar, then 1/3 sidebar + 2/3 facts
 * (title/date at top of facts). No sticky media — normal page scroll.
 * #pageArea.detail — object detail layout (MFA theme only; do not rely on themes/default for this).
 * body.mfa-detail-objects — MFA dark page chrome + hero title/date colors.
 */
#pageArea.detail .mfa-detail-object-wrap {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow: visible;
	--mfa-detail-viewport-max: min(78dvh, calc(100dvh - 10.5rem));
}

body.mfa-detail-objects #pageArea.detail {
	overflow: visible;
}

/*
 * Object detail: extra space below the facts column before the page footer (breakpoint-specific).
 * Prior values 90/72/75px were tripled again at request (3× that block).
 */
body.mfa-detail-objects .mfa-page-content-wrap > .container.mfa-page-container {
	padding-bottom: 270px;
}

@media (max-width: 991px) {
	body.mfa-detail-objects .mfa-page-content-wrap > .container.mfa-page-container {
		padding-bottom: 216px;
	}
}

@media (max-width: 767px) {
	body.mfa-detail-objects .mfa-page-content-wrap > .container.mfa-page-container {
		padding-bottom: 225px;
	}
}

#pageArea.detail .mfa-detail-object-hero {
	margin-bottom: clamp(2.25rem, 1.75rem + 2vw, 3rem);
	text-align: left;
}

#pageArea.detail .mfa-detail-object-facts-hero {
	margin-bottom: clamp(1.25rem, 1rem + 1.25vw, 2rem);
}

/*
 * Facts column (right): label vs value colours. Value text: #ffffff @ 0.82 alpha (rgb(... / 0.82)).
 * Chip facet title (.mfa-site-search-filters-leaf-cat) uses its own lighter alpha so it stays visually secondary.
 */
#pageArea.detail .mfa-detail-object-facts {
	--mfa-detail-facts-label-fg: rgba(255, 255, 255, 0.82);
	--mfa-detail-facts-value-fg: rgb(255 255 255 / 0.82);
	--mfa-detail-section-title-fg: #ffffff;
	--mfa-detail-section-title-fw: 550;
	--mfa-detail-section-title-pad-bottom: clamp(0.75rem, 0.55rem + 0.65vw, 1.25rem);
	--mfa-detail-row-label-fg: #ffffff;
	--mfa-detail-row-label-fw: 400;
}

#pageArea.detail .mfa-detail-object-facts .mfa-detail-object-hero-date {
	color: var(--mfa-detail-facts-value-fg);
}

#pageArea.detail .mfa-detail-object-facts .unit > label,
#pageArea.detail .mfa-detail-object-facts label.mfa-detail-identification__section-title,
#pageArea.detail .mfa-detail-object-facts .mfa-detail-identification__block-heading {
	color: var(--mfa-detail-facts-label-fg);
}

/* Identification section: __section-title is the block heading only; __body + __facts table hold label/value rows. */
#pageArea.detail .mfa-detail-identification {
	margin-top: 0;
	padding-bottom: clamp(0.45rem, 0.35rem + 0.45vw, 0.85rem);
}

/* Section titles (IDENTIFICATION, Physical characteristics, Content & context, …): uppercase + theme scale. */
#pageArea.detail .mfa-detail-identification > label.mfa-detail-identification__section-title {
	font-size: clamp(1.224rem, calc(1.152rem + 0.24vw), 1.368rem) !important;
	font-weight: var(--mfa-detail-section-title-fw) !important;
	line-height: 1.45 !important;
	color: var(--mfa-detail-section-title-fg) !important;
	-webkit-text-fill-color: var(--mfa-detail-section-title-fg) !important;
	text-transform: uppercase !important;
	display: block;
	margin-bottom: 0;
	padding-bottom: var(--mfa-detail-section-title-pad-bottom, clamp(0.75rem, 0.55rem + 0.65vw, 1.25rem));
}

/* Table-only identification blocks (no label above the table): body gap handled by table rows. */
#pageArea.detail .mfa-detail-identification--no-section > .mfa-detail-identification__body,
#pageArea.detail .mfa-detail-identification--related-terms > .mfa-detail-identification__body {
	padding-top: 0;
}

/* Related terms: full-width heading row inside the table (same left edge as label/value columns). */
#pageArea.detail .mfa-detail-identification__facts thead th.mfa-detail-identification__block-heading {
	width: auto;
	max-width: none;
	padding-right: 0;
	font-weight: 500 !important;
	vertical-align: bottom;
	padding-bottom: clamp(6px, 0.28rem + 0.35vw, 26px);
}

/* Title → table: gap only (no rule under "Identifier"). */
#pageArea.detail .mfa-detail-identification__body {
	margin-top: 0;
	padding-top: 0;
}

#pageArea.detail .mfa-detail-identification__facts {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-family: 'Source Sans 3', sans-serif;
	line-height: 1.45;
	color: var(--mfa-detail-facts-value-fg);
}

/*
 * Fixed layout uses the first row for widths unless colgroup is set; a thead colspan row breaks that split.
 * Explicit columns keep label ≈ 2/12 and value filling the rest on every detail facts table.
 */
#pageArea.detail .mfa-detail-identification__facts col.mfa-detail-identification__col-label {
	width: 16.6667%;
}

#pageArea.detail .mfa-detail-identification__facts col.mfa-detail-identification__col-value {
	width: auto;
	min-width: 0;
}

#pageArea.detail .mfa-detail-identification__facts th,
#pageArea.detail .mfa-detail-identification__facts td {
	vertical-align: top !important;
	text-align: left;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	padding-bottom: clamp(0.4rem, 0.32rem + 0.4vw, 0.75rem);
	font-weight: 350;
}

/*
 * Row subtitles (Catalogue number, Date, …): dedicated class so #pageArea th / label globals
 * (navbar typography block ~L1191) do not control detail facts labels.
 */
#pageArea.detail .mfa-detail-identification__facts th.mfa-detail-identification__row-label {
	width: 16.6667%;
	max-width: none;
	padding-right: clamp(6px, 0.28rem + 0.35vw, 24px);
	color: var(--mfa-detail-row-label-fg) !important;
	-webkit-text-fill-color: var(--mfa-detail-row-label-fg) !important;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem) !important;
	font-weight: var(--mfa-detail-row-label-fw) !important;
	line-height: 1.45 !important;
	vertical-align: top !important;
}

/*
 * Value cells: layout only on td. Do not set -webkit-text-fill-color / color !important on td — it cascades into
 * browse chips on the 2nd row and breaks WebKit hit-testing so only the chip “title” line seems clickable.
 * Idno colour lives on .mfa-detail-identification__idno-value; chips keep their own anchor + leaf rules.
 */
#pageArea.detail .mfa-detail-identification__facts td.mfa-detail-identification__value {
	word-break: break-word;
	overflow-wrap: anywhere;
	vertical-align: top !important;
	overflow: visible;
}

#pageArea.detail .mfa-detail-identification__facts .mfa-detail-identification__idno-value {
	color: var(--mfa-detail-facts-value-fg, rgb(255 255 255 / 0.82)) !important;
	-webkit-text-fill-color: var(--mfa-detail-facts-value-fg, rgb(255 255 255 / 0.82)) !important;
}

#pageArea.detail .mfa-detail-identification__facts .mfa-detail-identification__value-text,
#pageArea.detail .mfa-detail-identification__facts .mfa-detail-identification__object-date-value {
	color: var(--mfa-detail-facts-value-fg, rgb(255 255 255 / 0.82));
	-webkit-text-fill-color: var(--mfa-detail-facts-value-fg, rgb(255 255 255 / 0.82));
}

#pageArea.detail .mfa-detail-identification__facts td.mfa-detail-identification__value .mfa-detail-browse-chips {
	position: relative;
	z-index: 1;
}

#pageArea.detail .mfa-detail-identification__facts tbody tr + tr th,
#pageArea.detail .mfa-detail-identification__facts tbody tr + tr td {
	padding-top: clamp(6px, 0.25rem + 0.3vw, 26px);
}

/* Localization (and legacy blocks): label stacked above value, not the facts two-column table. */
#pageArea.detail .mfa-detail-identification__description-block {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-width: 0;
}

#pageArea.detail .mfa-detail-identification__description-label {
	display: block;
	width: auto;
	max-width: none;
	padding: 0;
	margin: 0 0 clamp(4px, 0.15rem + 0.2vw, 10px);
	color: var(--mfa-detail-row-label-fg) !important;
	-webkit-text-fill-color: var(--mfa-detail-row-label-fg) !important;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem) !important;
	font-weight: var(--mfa-detail-row-label-fw) !important;
	line-height: 1.45 !important;
}

#pageArea.detail .mfa-detail-identification__description-value {
	min-width: 0;
	/* Matches .mfa-detail-identification__facts td/th padding-bottom on the row above. */
	padding-bottom: clamp(0.4rem, 0.32rem + 0.4vw, 0.75rem);
}

#pageArea.detail .mfa-detail-identification__description-value .mfa-detail-identification__value-text {
	color: var(--mfa-detail-facts-value-fg, rgb(255 255 255 / 0.82));
	-webkit-text-fill-color: var(--mfa-detail-facts-value-fg, rgb(255 255 255 / 0.82));
}

/* Inscriptions: one line — italic text + position as a lateral note (left bar + padding). */
#pageArea.detail .mfa-detail-identification__value .mfa-detail-inscription-row {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 0.5em;
	row-gap: 0.2em;
	margin: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

#pageArea.detail .mfa-detail-identification__value .mfa-detail-inscription-text {
	display: inline;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

#pageArea.detail .mfa-detail-identification__value .mfa-detail-inscription-position {
	display: inline-block;
	box-sizing: border-box;
	padding-left: 0.5em;
	border-left: 2px solid rgba(255, 255, 255, 0.35);
	color: rgba(255, 255, 255, 0.58);
	-webkit-text-fill-color: rgba(255, 255, 255, 0.58);
	font-style: normal;
	vertical-align: baseline;
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* Description / inscriptions: gap between prose blocks (matches facts inter-row padding-top). */
#pageArea.detail .mfa-detail-identification__value .mfa-detail-identification__value-text p {
	margin: 0;
}

#pageArea.detail .mfa-detail-identification__value .mfa-detail-identification__value-text p + p {
	margin-top: clamp(6px, 0.25rem + 0.3vw, 26px);
}

#pageArea.detail .mfa-detail-identification__value .mfa-detail-identification__value-text a {
	color: inherit;
	-webkit-text-fill-color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

#pageArea.detail .mfa-detail-identification__value .mfa-detail-identification__value-text a:hover,
#pageArea.detail .mfa-detail-identification__value .mfa-detail-identification__value-text a:focus-visible {
	color: #ffffff;
	-webkit-text-fill-color: #ffffff;
}

/* Description / inscriptions / georeference: external links open in a new tab. */
#pageArea.detail .mfa-detail-identification__value .mfa-detail-prose-external-link__icon,
#pageArea.detail .mfa-detail-identification__localization-coords .mfa-detail-prose-external-link__icon {
	display: inline-block;
	margin: 0;
	padding: 0;
	line-height: 0;
	vertical-align: super;
	font-size: 0.78em;
}

#pageArea.detail .mfa-detail-identification__value .mfa-detail-prose-external-link__icon svg,
#pageArea.detail .mfa-detail-identification__localization-coords .mfa-detail-prose-external-link__icon svg {
	display: block;
	width: 0.85em;
	height: 0.85em;
	margin: 0;
	padding: 0;
	vertical-align: top;
	opacity: 0.88;
}

#pageArea.detail .mfa-detail-identification__value .mfa-detail-prose-external-link:hover .mfa-detail-prose-external-link__icon svg,
#pageArea.detail .mfa-detail-identification__value .mfa-detail-prose-external-link:focus-visible .mfa-detail-prose-external-link__icon svg,
#pageArea.detail .mfa-detail-identification__localization-coords .mfa-detail-georeference-link:hover .mfa-detail-prose-external-link__icon svg,
#pageArea.detail .mfa-detail-identification__localization-coords .mfa-detail-georeference-link:focus-visible .mfa-detail-prose-external-link__icon svg {
	opacity: 1;
}

/*
 * Gap after Description = facts row padding-bottom + next row padding-top
 * (same pair as Technique → Support in .mfa-detail-identification__facts).
 */
#pageArea.detail .mfa-detail-identification__description-block + .mfa-detail-identification__facts {
	margin-top: 0;
}

#pageArea.detail .mfa-detail-identification__description-block + .mfa-detail-identification__facts tbody tr:first-child th,
#pageArea.detail .mfa-detail-identification__description-block + .mfa-detail-identification__facts tbody tr:first-child td {
	padding-top: clamp(6px, 0.25rem + 0.3vw, 26px);
}

#pageArea.detail .mfa-detail-identification__facts + .mfa-detail-identification__description-block,
#pageArea.detail .mfa-detail-identification__description-block + .mfa-detail-identification__description-block {
	padding-top: clamp(6px, 0.25rem + 0.3vw, 26px);
}

#pageArea.detail .mfa-detail-identification__localization-map {
	width: 100%;
	max-width: 100%;
	margin-top: 0;
	overflow: hidden;
}

#pageArea.detail .mfa-detail-identification__localization-map [id^="map_"] {
	width: 100% !important;
	max-width: 100%;
}

#pageArea.detail .mfa-detail-identification__localization-coords {
	margin-top: clamp(0.35rem, 0.2rem + 0.35vw, 0.65rem);
}

#pageArea.detail .mfa-detail-identification__localization-coords .mfa-detail-georeference-link,
#pageArea.detail .mfa-detail-identification__value .mfa-detail-georeference-link {
	color: inherit;
	-webkit-text-fill-color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

#pageArea.detail .mfa-detail-identification__localization-coords .mfa-detail-georeference-link:hover,
#pageArea.detail .mfa-detail-identification__localization-coords .mfa-detail-georeference-link:focus-visible,
#pageArea.detail .mfa-detail-identification__value .mfa-detail-georeference-link:hover,
#pageArea.detail .mfa-detail-identification__value .mfa-detail-georeference-link:focus-visible {
	color: #ffffff;
	-webkit-text-fill-color: #ffffff;
}

/* Chip gap inside identification table: tight, cap ~25px (wins over .mfa-detail-browse-chips later in this file). */
#pageArea.detail .mfa-detail-identification__facts .mfa-detail-browse-chips {
	margin-top: 0;
	gap: clamp(5px, 0.22rem + 0.3vw, 24px) clamp(6px, 0.25rem + 0.35vw, 26px);
}

/* Unit body (Box/series, description, related blocks, …): value colour, not label white. */
#pageArea.detail .mfa-detail-object-facts .unit:not(.mfa-detail-identification) > label ~ * {
	color: var(--mfa-detail-facts-value-fg);
}

/* Object detail: HR in facts column — overrides themes/mfa main.css .detail HR for MFA detail.
 * With border-top, padding sits *below* the line inside the box; use margin-top/bottom for space vs neighbours. */
#pageArea.detail .mfa-detail-object-facts hr,
#pageArea.detail .mfa-detail-object-facts HR {
	border: 0;
	border-top: 1px solid #797979;
	background-color: transparent;
	color: #afafae;
	margin-top: clamp(1.25rem, 1rem + 1.25vw, 2rem);
	margin-bottom: clamp(1.25rem, 1rem + 1.25vw, 2rem);
	margin-left: 0;
	margin-right: 0;
	height: 0;
	padding: 0;
	opacity: 1;
}

#pageArea.detail .mfa-detail-object-facts hr.mfa-detail-sections-separator,
#pageArea.detail .mfa-detail-object-facts HR.mfa-detail-sections-separator {
	margin-top: clamp(1.05rem, 0.9rem + 0.75vw, 1.45rem);
	margin-bottom: clamp(1.05rem, 0.9rem + 0.75vw, 1.45rem);
}

/*
 * Nested .row inside the padded facts column: Bootstrap’s margin-left/right -15px pulls past the column edge and
 * can expose the container’s light background as a 1px seam (often visible bottom-left). Cancel on this row only.
 * Map column: main.css .colBorderLeft uses #EDEDED — on dark detail UI reads as a bright white dot at the corner.
 */
#pageArea.detail .mfa-detail-object-facts > .row {
	margin-left: 0;
	margin-right: 0;
}

#pageArea.detail .mfa-detail-object-facts .colBorderLeft {
	border-left-color: rgba(255, 255, 255, 0.22);
}

#pageArea.detail .mfa-detail-object-viewport-media {
	width: 100%;
	margin-bottom: clamp(1.25rem, 1rem + 1.25vw, 2rem);
}

#pageArea.detail .mfa-detail-object-viewport-frame {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 10rem;
	max-height: var(--mfa-detail-viewport-max);
	overflow: visible;
	box-sizing: border-box;
}

/*
 * Object detail: viewport band bottom bar — “More information” (left) + optional zoom/download (right).
 * Horizontal edges match .container.mfa-page-content (same as .navbar .mfa-page-container); no extra inset.
 * Not fixed to the viewport — scrolls with the page. Zoom first, download below (column order in PHP).
 */
#pageArea.detail .mfa-detail-object-viewport-bottom-bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 6;
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	gap: clamp(0.65rem, 0.5rem + 1.2vw, 1.25rem);
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	pointer-events: none;
}

#pageArea.detail .mfa-detail-object-viewport-bottom-bar .mfa-detail-scroll-to-facts,
#pageArea.detail .mfa-detail-object-viewport-bottom-bar .mfa-detail-object-viewport-stack-wrap {
	pointer-events: auto;
}

#pageArea.detail .mfa-detail-object-viewport-stack-wrap {
	position: relative;
	right: auto;
	bottom: auto;
	width: auto;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

#pageArea.detail .mfa-detail-object-viewport-stack-wrap .mfa-detail-media-stack {
	pointer-events: auto;
}

/*
 * Same type specs as nav.navbar .navbar-nav > li > a (#pageArea / #main block in this file).
 * Opacity / visibility / transform stay in lockstep with #mfaSiteSearchBar (mfa-detail-search-bar-reveal.js
 * toggles body.mfa-detail-search-bar-visible): scroll down → search fades in, this control fades out; up → inverse.
 */
#pageArea.detail .mfa-detail-scroll-to-facts {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55em;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background-color: transparent;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	font-weight: 350;
	line-height: 1.45;
	color: #ffffff;
	text-align: left;
	cursor: pointer;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition:
		opacity 0.38s ease,
		visibility 0.38s ease,
		transform 0.38s cubic-bezier(0.4, 0, 0.2, 1),
		background-color 0.22s ease,
		color 0.22s ease,
		border-color 0.22s ease,
		box-shadow 0.22s ease,
		filter 0.22s ease;
	box-sizing: border-box;
}

body.mfa-detail-objects.mfa-has-site-search-bar.mfa-detail-search-bar-visible #pageArea.detail .mfa-detail-scroll-to-facts {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(0.35rem);
}

#pageArea.detail .mfa-detail-scroll-to-facts:hover,
#pageArea.detail .mfa-detail-scroll-to-facts:focus {
	background-color: transparent;
	color: #ffffff;
}

#pageArea.detail .mfa-detail-scroll-to-facts:focus-visible {
	outline: none;
}

#pageArea.detail .mfa-detail-scroll-to-facts:focus-visible .mfa-detail-scroll-to-facts__arrow {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
}

/* Primary nav: animated underline on the label (same pattern as .mfa-navbar-menu-primary > li > a::after). */
#pageArea.detail .mfa-detail-scroll-to-facts__label {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	row-gap: 0.02em;
	white-space: nowrap;
	text-decoration: none;
}

#pageArea.detail .mfa-detail-scroll-to-facts__label::after {
	content: '';
	display: block;
	align-self: stretch;
	width: 100%;
	min-width: 0;
	height: 1px;
	margin: 0;
	background-color: #ffffff;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.28s ease;
	pointer-events: none;
}

#pageArea.detail .mfa-detail-scroll-to-facts:hover .mfa-detail-scroll-to-facts__label::after,
#pageArea.detail .mfa-detail-scroll-to-facts:focus-visible .mfa-detail-scroll-to-facts__label::after {
	transform: scaleX(1);
	transform-origin: left center;
}

#pageArea.detail .mfa-detail-scroll-to-facts__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 3.25rem;
	height: 3.25rem;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 0;
	background-color: rgba(74, 81, 88, 0.92);
	box-sizing: border-box;
	transition: var(--mfa-transition-hover);
}

#pageArea.detail .mfa-detail-scroll-to-facts:hover .mfa-detail-scroll-to-facts__arrow,
#pageArea.detail .mfa-detail-scroll-to-facts:focus .mfa-detail-scroll-to-facts__arrow {
	background-color: #555c64;
	border-color: rgba(255, 255, 255, 0.65);
}

#pageArea.detail .mfa-detail-scroll-to-facts__arrow svg {
	display: block;
	width: 1.125rem;
	height: 1.125rem;
}

@media (prefers-reduced-motion: reduce) {
	#pageArea.detail .mfa-detail-scroll-to-facts {
		transition-duration: 0.05s;
	}

	#pageArea.detail .mfa-detail-scroll-to-facts__label::after {
		transition-duration: 0.01ms;
	}
}

#pageArea.detail #mfa-detail-object-facts-anchor {
	scroll-margin-top: clamp(0.75rem, 0.5rem + 1vw, 1.5rem);
}

/* Detail → Browse facet chips (subject, place, technique, genre, …): same pill pattern as browse filter chips. */
#pageArea.detail .mfa-detail-browse-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.45rem 0.55rem;
	margin-top: 0.2rem;
	max-width: 100%;
	box-sizing: border-box;
}

/* Idle: grey like inactive Filter square; hover: teal #2d7f94 (same as --mfa-site-search-filters-panel-background-hover). */
#pageArea.detail a.mfa-detail-browse-chip {
	display: inline-flex;
	flex-direction: row;
	align-items: stretch;
	gap: 0.38rem;
	max-width: 100%;
	padding: 0.35rem 0.75rem 0.4rem 0.65rem;
	margin: 0;
	box-sizing: border-box;
	position: relative;
	cursor: pointer;
	font-family: 'Source Sans 3', sans-serif;
	color: var(--mfa-detail-facts-value-fg);
	text-decoration: none;
	background-color: #4a5158;
	border: 1px solid #2f3338;
	border-radius: 2px;
	overflow-wrap: anywhere;
	word-break: break-word;
	/* Whole pill is the hit target (avoids dead zones between flex children / title vs value lines). */
	pointer-events: auto;
	transition:
		background-color 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease,
		opacity 0.15s ease;
}

#pageArea.detail a.mfa-detail-browse-chip * {
	pointer-events: none;
}

#pageArea.detail a.mfa-detail-browse-chip:hover,
#pageArea.detail a.mfa-detail-browse-chip:focus-visible {
	background-color: var(--mfa-site-search-filters-panel-background-hover);
	border-color: #2d7f94;
	color: var(--mfa-detail-facts-value-fg);
}

#pageArea.detail a.mfa-detail-browse-chip:focus-visible {
	outline: 2px solid rgba(45, 127, 148, 0.85);
	outline-offset: 2px;
}

/* Same two-line stack as filter chips (.mfa-site-search-filter-chip-body + leaf-cat / leaf-main). */
#pageArea.detail a.mfa-detail-browse-chip .mfa-site-search-filter-chip-body.mfa-detail-browse-chip__body {
	flex: 1 1 auto;
	align-self: stretch;
	min-width: 0;
	max-width: 100%;
	min-height: 100%;
	overflow: visible;
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Facet title line inside chip — lower contrast than value line. */
#pageArea.detail a.mfa-detail-browse-chip .mfa-site-search-filters-leaf-cat {
	color: rgba(255, 255, 255, 0.58) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.58) !important;
	transition: color 0.15s ease;
}

#pageArea.detail a.mfa-detail-browse-chip:hover .mfa-site-search-filters-leaf-cat,
#pageArea.detail a.mfa-detail-browse-chip:focus-visible .mfa-site-search-filters-leaf-cat {
	color: rgba(255, 255, 255, 0.72) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.72) !important;
}

#pageArea.detail a.mfa-detail-browse-chip .mfa-site-search-filters-leaf-label {
	color: inherit;
	-webkit-text-fill-color: inherit;
}

/* Colour + wrapping: shared classes with Browse bar chips — bar-only ellipsis rules must not apply here. */
#pageArea.detail a.mfa-detail-browse-chip .mfa-site-search-filters-leaf-main,
#pageArea.detail a.mfa-detail-browse-chip .mfa-site-search-filters-leaf-label {
	color: var(--mfa-detail-facts-value-fg) !important;
	-webkit-text-fill-color: var(--mfa-detail-facts-value-fg) !important;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: unset !important;
	word-break: break-word;
	overflow-wrap: anywhere;
}

#pageArea.detail a.mfa-detail-browse-chip:hover .mfa-site-search-filters-leaf-main,
#pageArea.detail a.mfa-detail-browse-chip:focus-visible .mfa-site-search-filters-leaf-main {
	color: var(--mfa-detail-facts-value-fg) !important;
	-webkit-text-fill-color: var(--mfa-detail-facts-value-fg) !important;
}

#pageArea.detail a.mfa-detail-browse-chip .mfa-detail-browse-chip__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	flex-shrink: 0;
	width: 0.82em;
	height: 0.82em;
	min-width: 12px;
	min-height: 12px;
	margin: 0;
	opacity: 0.85;
	/* Do not inherit value text colour on the chip icon stroke. */
	color: rgba(255, 255, 255, 0.78);
	-webkit-text-fill-color: rgba(255, 255, 255, 0.78);
	transition: opacity 0.15s ease;
}

#pageArea.detail a.mfa-detail-browse-chip:hover .mfa-detail-browse-chip__icon,
#pageArea.detail a.mfa-detail-browse-chip:focus-visible .mfa-detail-browse-chip__icon {
	opacity: 1;
}

#pageArea.detail a.mfa-detail-browse-chip .mfa-detail-browse-chip__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

#pageArea.detail .mfa-detail-media-stack {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	margin: 0;
	padding: 0;
	gap: 0;
	border: none;
	box-sizing: border-box;
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin: 0;
	padding: 0;
	border-radius: 0;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-bottom-width: 0;
	color: #ffffff;
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: var(--mfa-transition-hover);
}

/* Viewer: same bg/hover as Browse filter square when filters panel is open */
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--zoom {
	background-color: var(--mfa-site-search-filters-panel-background);
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--zoom:hover,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--zoom:focus {
	background-color: var(--mfa-site-search-filters-panel-background-hover);
	color: #ffffff;
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--zoom:focus-visible {
	background-color: var(--mfa-site-search-filters-panel-background-hover);
	color: #ffffff;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
	outline: none;
}

/* Plus (Compare/Download menu): same grey as former direct download */
#pageArea.detail .mfa-detail-media-stack .mfa-item-plus-btn--stack {
	position: static;
	top: auto;
	right: auto;
	left: auto;
	z-index: auto;
	width: 3.5rem;
	height: 3.5rem;
	opacity: 1;
	transform: none;
	background-color: #4a5158;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-bottom-width: 1px;
	font-size: 1.85rem;
	font-weight: 400;
	line-height: 1;
	appearance: none;
	-webkit-appearance: none;
}

#pageArea.detail .mfa-detail-media-stack .mfa-item-plus-btn--stack:hover,
#pageArea.detail .mfa-detail-media-stack .mfa-item-plus-btn--stack:focus {
	background-color: #555c64;
	color: #ffffff;
}

#pageArea.detail .mfa-detail-media-stack .mfa-item-plus-btn--stack:focus-visible {
	background-color: #555c64;
	color: #ffffff;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
	outline: none;
	opacity: 1;
	transform: none;
}

/* Browse gallery picker: grey stack button (same idle tone as download) */
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-gallery {
	background-color: #4a5158;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-bottom-width: 0;
	font-family: inherit;
	appearance: none;
	-webkit-appearance: none;
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-gallery:hover,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-gallery:focus {
	background-color: #555c64;
	color: #ffffff;
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-gallery:focus-visible {
	background-color: #555c64;
	color: #ffffff;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
	outline: none;
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-gallery.is-active,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-gallery.is-active:hover,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-gallery.is-active:focus,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-gallery.is-active:focus-visible {
	background-color: #555c64;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-bottom-width: 0;
	box-shadow: none;
	outline: none;
}

/* Browse prev/next: red stack buttons, white on hover */
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-prev,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-next {
	background-color: var(--mfa-detail-nav-btn-bg);
	color: var(--mfa-detail-nav-btn-fg);
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-prev:hover,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-prev:focus,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-next:hover,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-next:focus {
	background-color: #ffffff;
	color: var(--mfa-detail-nav-btn-bg);
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-prev:focus-visible,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-next:focus-visible {
	background-color: #ffffff;
	color: var(--mfa-detail-nav-btn-bg);
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
	outline: none;
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-prev.is-disabled,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-next.is-disabled {
	opacity: 0.45;
	cursor: default;
	pointer-events: none;
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-prev.is-disabled:hover,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-next.is-disabled:hover,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-prev.is-disabled:focus,
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--nav-next.is-disabled:focus {
	background-color: var(--mfa-detail-nav-btn-bg);
	color: var(--mfa-detail-nav-btn-fg);
	box-shadow: none;
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn:last-child {
	border-bottom-width: 1px;
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn-label {
	display: inline-block;
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1;
}

/* Zoom: SVG stroke sized like the download character (glyphicons looked too heavy) */
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn-symbol {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.05em;
	height: 1.05em;
	vertical-align: -0.06em;
}

#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn-symbol svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* Viewfinder is stroke-inset; nudge size to match the denser gallery mosaic icon. */
#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn--zoom .mfa-detail-media-stack-btn-symbol {
	width: 1.2em;
	height: 1.2em;
}

@media (prefers-reduced-motion: reduce) {
	#pageArea.detail .mfa-detail-media-stack .mfa-detail-media-stack-btn {
		transition-duration: 0.01ms;
	}
}

/* Detail browse gallery panel — see docs/MFA_DETAIL_BROWSE_GALLERY_PANEL.md */
#pageArea.detail .mfa-detail-browse-gallery-panel {
	position: fixed;
	inset: 0;
	z-index: 12050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(0.5rem, 1.5vw, 1rem);
	box-sizing: border-box;
	pointer-events: none;
}

#pageArea.detail .mfa-detail-browse-gallery-panel[hidden] {
	display: none !important;
}

#pageArea.detail .mfa-detail-browse-gallery-panel:not([hidden]) {
	pointer-events: auto;
}

#pageArea.detail .mfa-detail-browse-gallery-panel__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.52);
	opacity: 0;
	transition: opacity 0.28s ease;
}

#pageArea.detail .mfa-detail-browse-gallery-panel--open .mfa-detail-browse-gallery-panel__backdrop {
	opacity: 1;
}

#pageArea.detail .mfa-detail-browse-gallery-panel__dialog {
	--mfa-detail-gallery-scale: 0.3;
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(calc(24rem * 1.4), calc((100vw - 1.25rem) * 1.4));
	height: min(24rem, calc(100vw - 1.25rem), 68vh);
	max-width: 100%;
	max-height: 68vh;
	background: #454c54;
	border: 12px solid var(--mfa-site-search-filters-panel-background);
	box-shadow: 0 10px 32px rgba(0, 0, 0, 0.48);
	overflow: hidden;
	opacity: 0;
	transform: translateY(0.35rem) scale(0.98);
	transition:
		opacity 0.28s ease,
		transform 0.28s ease;
}

#pageArea.detail .mfa-detail-browse-gallery-panel--open .mfa-detail-browse-gallery-panel__dialog {
	opacity: 1;
	transform: translateY(0) scale(1);
}

#pageArea.detail .mfa-detail-browse-gallery-panel__scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	overscroll-behavior: contain;
	padding: 3px;
	background: #454c54;
	box-sizing: border-box;
}

/*
 * Panel collage: same Browse gallery model (.mfa-browse-gallery-masonry + 20n row spans),
 * scaled to the modal via --mfa-detail-gallery-scale on the dialog.
 */
#pageArea.detail .mfa-detail-browse-gallery-panel__grid.mfa-browse-gallery-masonry {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-flow: row dense;
	grid-auto-rows: min(
		calc(5.25vh * var(--mfa-detail-gallery-scale, 0.3)),
		calc(3.5rem * var(--mfa-detail-gallery-scale, 0.3))
	);
	gap: 0;
	width: 100%;
	background-color: #454c54;
}

#pageArea.detail .mfa-detail-browse-gallery-panel .mfa-browse-gallery-item.mfa-detail-browse-gallery-panel__item--current .mfa-browse-gallery-item-frame {
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.92);
}

/* Captions: hidden by default; Browse gradient scaled with grid (+50% type vs base panel scale). */
#pageArea.detail .mfa-detail-browse-gallery-panel .mfa-browse-gallery-item-caption {
	opacity: 0;
	font-size: clamp(
		0.84375rem,
		calc(1.5rem * var(--mfa-detail-gallery-scale, 0.3)),
		calc(1.78125rem * var(--mfa-detail-gallery-scale, 0.3))
	);
	padding: clamp(0.33rem, calc(0.675rem * var(--mfa-detail-gallery-scale, 0.3)), 0.525rem)
		clamp(0.42rem, calc(0.825rem * var(--mfa-detail-gallery-scale, 0.3)), 0.63rem)
		clamp(0.375rem, calc(0.75rem * var(--mfa-detail-gallery-scale, 0.3)), 0.57rem);
}

#pageArea.detail .mfa-detail-browse-gallery-panel .mfa-browse-gallery-item-caption::before {
	min-height: calc(5.25rem * var(--mfa-detail-gallery-scale, 0.3));
	height: 145%;
}

#pageArea.detail .mfa-detail-browse-gallery-panel .mfa-browse-gallery-item-link:hover .mfa-browse-gallery-item-caption,
#pageArea.detail .mfa-detail-browse-gallery-panel .mfa-browse-gallery-item-link:focus-within .mfa-browse-gallery-item-caption {
	opacity: 1;
}

#pageArea.detail .mfa-detail-browse-gallery-panel .mfa-browse-gallery-item-caption-title-line,
#pageArea.detail .mfa-detail-browse-gallery-panel .mfa-browse-gallery-item-caption-date {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}

/* Panel: skip Browse fade-in (lazy load in a modal often never fires load → opacity stayed 0). */
#pageArea.detail .mfa-detail-browse-gallery-panel .mfa-browse-gallery-item-img {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1.25);
	transition: none;
}

body.mfa-detail-browse-gallery-open {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	#pageArea.detail .mfa-detail-browse-gallery-panel__backdrop,
	#pageArea.detail .mfa-detail-browse-gallery-panel__dialog {
		transition-duration: 0.01ms;
	}
}

/* Center image inside viewer wrappers (often full-width blocks). */
#pageArea.detail .mfa-detail-object-viewport-frame .repViewerContCont {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
}

#pageArea.detail .mfa-detail-object-viewport-frame .repViewerContCont .repViewerCont {
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

#pageArea.detail .mfa-detail-object-viewport-viewer {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-height: var(--mfa-detail-viewport-max);
	overflow: auto;
}

#pageArea.detail .mfa-detail-object-viewport-viewer .repViewerCont {
	height: auto;
	min-height: 0;
	max-height: var(--mfa-detail-viewport-max);
}

#pageArea.detail .mfa-detail-viewport-img-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	max-height: var(--mfa-detail-viewport-max);
	box-sizing: border-box;
}

#pageArea.detail .mfa-detail-viewport-img-wrap .repViewerCont {
	height: auto;
	min-height: 0;
}

#pageArea.detail .mfa-detail-object-hero-title-wrap {
	display: block;
	margin: 0;
	min-width: 0;
}

/*
 * Object detail hero title only (/Detail/objects): same scale as Home/Browse hero but its own
 * selectors (not .mfa-home-hero-title) so future changes to front/browse titles do not affect detail.
 */
#pageArea.detail h1.mfa-detail-object-hero-title,
#main #pageArea.detail h1.mfa-detail-object-hero-title {
	display: block;
	white-space: normal;
	overflow-wrap: anywhere;
	word-wrap: break-word;
	font-size: clamp(1.95rem, 0.975rem + 3.315vw, 3.315rem) !important;
	font-weight: 400 !important;
	line-height: 1.1 !important;
	text-transform: none !important;
	text-align: left !important;
	letter-spacing: -0.02em;
	color: #ffffff !important;
	margin: 0 0 0.12rem 0 !important;
	padding: 0;
	transform: translateX(-0.055em);
}

#pageArea.detail .mfa-detail-object-hero-date {
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(1.183rem, 1.061rem + 0.572vw, 1.435rem);
	font-weight: 300;
	line-height: 1.35;
	text-transform: none;
	letter-spacing: 0.02em;
	margin: 0;
	color: #ffffff;
}

/*
 * Browse → detail return link (session `mfaBrowseReturnContext`). Lives in the left column;
 * typography + animated underline match nav.navbar.navbar-default .mfa-navbar-menu-primary > li > a.
 */
#pageArea.detail .mfa-detail-object-sidebar-inner > a.mfa-detail-back-to-browse {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	column-gap: 0.35em;
	max-width: 100%;
	margin: 0 0 clamp(0.85rem, 0.65rem + 0.6vw, 1.25rem) 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	font-weight: 350;
	line-height: 1.45;
	color: #ffffff !important;
	text-decoration: none;
	text-align: left;
	box-sizing: border-box;
}

#pageArea.detail .mfa-detail-object-sidebar-inner > a.mfa-detail-back-to-browse:hover,
#pageArea.detail .mfa-detail-object-sidebar-inner > a.mfa-detail-back-to-browse:focus {
	background-color: transparent !important;
	color: #ffffff !important;
	text-decoration: none;
}

#pageArea.detail .mfa-detail-object-sidebar-inner > a.mfa-detail-back-to-browse:focus-visible {
	outline: none;
}

#pageArea.detail .mfa-detail-object-sidebar-inner > a.mfa-detail-back-to-browse:focus-visible .mfa-detail-back-to-browse__label {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
	border-radius: 1px;
}

#pageArea.detail .mfa-detail-back-to-browse .mfa-detail-back-to-browse__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	opacity: 0.95;
}

#pageArea.detail .mfa-detail-back-to-browse .mfa-detail-back-to-browse__icon svg {
	display: block;
}

#pageArea.detail .mfa-detail-back-to-browse .mfa-detail-back-to-browse__label {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	row-gap: 0.02em;
	min-width: 0;
	overflow-wrap: anywhere;
	white-space: normal;
	text-decoration: none;
}

#pageArea.detail .mfa-detail-back-to-browse .mfa-detail-back-to-browse__label::after {
	content: '';
	display: block;
	align-self: stretch;
	width: 100%;
	min-width: 0;
	height: 1px;
	margin: 0;
	background-color: #ffffff;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.28s ease;
	pointer-events: none;
}

#pageArea.detail .mfa-detail-back-to-browse:hover .mfa-detail-back-to-browse__label::after,
#pageArea.detail .mfa-detail-back-to-browse:focus-visible .mfa-detail-back-to-browse__label::after {
	transform: scaleX(1);
	transform-origin: left center;
}

/* Related artworks: same section-title row as Identification (second main row). */
#pageArea.detail .mfa-detail-object-main-sections-sidebar {
	--mfa-detail-section-title-fg: #ffffff;
	--mfa-detail-section-title-fw: 550;
}

#pageArea.detail .mfa-detail-object-main-sections-sidebar .mfa-detail-object-related-objects-block {
	margin-top: 0;
	margin-bottom: clamp(1rem, 0.75rem + 0.75vw, 1.5rem);
	padding-bottom: 0;
}

#pageArea.detail .mfa-detail-object-main-sections-sidebar .mfa-detail-object-related-objects-block > label.mfa-detail-identification__section-title {
	margin-bottom: 0;
	padding-bottom: clamp(0.95rem, 0.72rem + 0.85vw, 1.45rem);
}

/* Related artworks: panoramic banner; title/meta overlay on hover (Browse gallery pattern). */
#pageArea.detail .mfa-detail-object-related-objects {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	row-gap: clamp(1.15rem, 0.9rem + 0.65vw, 1.65rem);
}

#pageArea.detail .mfa-detail-object-related-objects-banner__item {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	margin: 0;
	padding: 0;
	min-width: 0;
}

/* Title + relationship type in parentheses (detail facts value scale). */
#pageArea.detail .mfa-detail-object-related-objects__title {
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	font-weight: 350;
	line-height: 1.35;
	color: rgb(255 255 255 / 0.82);
	-webkit-text-fill-color: rgb(255 255 255 / 0.82);
	overflow-wrap: anywhere;
	margin: 0;
}

/* idno · relationship_type on one line below title. */
#pageArea.detail .mfa-detail-object-related-objects__meta {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 0.35em;
	row-gap: 0.15em;
	margin: 0.05em 0 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

#pageArea.detail .mfa-detail-object-related-objects__idno {
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.9375rem, 0.88rem + 0.3vw, 1.0625rem);
	font-weight: 350;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.58);
	-webkit-text-fill-color: rgba(255, 255, 255, 0.58);
}

#pageArea.detail .mfa-detail-object-related-objects__rel-type {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.58);
	-webkit-text-fill-color: rgba(255, 255, 255, 0.58);
}

#pageArea.detail .mfa-detail-object-related-objects__meta-sep {
	flex-shrink: 0;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.9375rem, 0.88rem + 0.3vw, 1.0625rem);
	font-weight: 350;
	line-height: 1;
	color: rgba(255, 255, 255, 0.45);
	-webkit-text-fill-color: rgba(255, 255, 255, 0.45);
}

/*
 * Panoramic cell: height = 31.25% of width (+25% vs former 4:1 strip). Padding trick keeps ratio
 * when the <img> intrinsic size is portrait; cover fills the wide strip.
 */
#pageArea.detail .mfa-detail-object-related-objects-banner__media {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 31.25%;
	overflow: hidden;
	background-color: rgba(0, 0, 0, 0.18);
}

@supports (aspect-ratio: 4 / 1.25) {
	#pageArea.detail .mfa-detail-object-related-objects-banner__media {
		height: auto;
		padding-bottom: 0;
		aspect-ratio: 4 / 1.25;
	}
}

/* Whole banner cell is one link (image + caption). */
#pageArea.detail .mfa-detail-object-related-objects-banner__link {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: block;
	line-height: 0;
	color: inherit;
	text-decoration: none;
	isolation: isolate;
}

#pageArea.detail .mfa-detail-object-related-objects-banner__link:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.85);
	outline-offset: 2px;
}

#pageArea.detail .mfa-detail-object-related-objects-banner__link img:not(.mfa-detail-object-related-objects-banner__placeholder-img) {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: center center;
}

/* No representation: Browse gallery gradient + left-aligned placeholder icon. */
#pageArea.detail .mfa-detail-object-related-objects-banner__placeholder {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(145deg, rgba(72, 78, 86, 0.35) 0%, rgba(38, 40, 44, 0.62) 100%);
	pointer-events: none;
}

#pageArea.detail .mfa-detail-object-related-objects-banner__placeholder-img {
	position: absolute;
	left: clamp(0.55rem, 1.5vw, 0.85rem);
	top: 50%;
	z-index: 0;
	display: block;
	width: auto;
	height: 42%;
	max-height: 85%;
	max-width: 45%;
	object-fit: contain;
	object-position: left center;
	transform: translateY(-50%) scale(1.3);
	transform-origin: left center;
	pointer-events: none;
}

/* Bottom scrim on the link layer (above img, below caption) — visible on hover. */
#pageArea.detail .mfa-detail-object-related-objects-banner__link::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	/* Taller band so title/meta stay readable on light image/placeholder backgrounds. */
	height: 88%;
	min-height: 4.75rem;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.94) 0%,
		rgba(0, 0, 0, 0.86) 22%,
		rgba(0, 0, 0, 0.62) 48%,
		rgba(0, 0, 0, 0.28) 68%,
		rgba(0, 0, 0, 0) 100%
	);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.28s ease;
}

#pageArea.detail .mfa-detail-object-related-objects-banner__link:hover::before,
#pageArea.detail .mfa-detail-object-related-objects-banner__link:focus-visible::before {
	opacity: 1;
}

#pageArea.detail .mfa-detail-object-related-objects-banner__caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	padding: 0 clamp(0.55rem, 1.5vw, 0.85rem) clamp(0.45rem, 1vw, 0.65rem);
	text-align: left;
	line-height: 1.35;
	pointer-events: none;
	min-width: 0;
	opacity: 0;
	transition: opacity 0.28s ease;
}

#pageArea.detail .mfa-detail-object-related-objects-banner__media:hover .mfa-detail-object-related-objects-banner__caption,
#pageArea.detail .mfa-detail-object-related-objects-banner__media:focus-within .mfa-detail-object-related-objects-banner__caption,
#pageArea.detail .mfa-detail-object-related-objects-banner__link:hover .mfa-detail-object-related-objects-banner__caption,
#pageArea.detail .mfa-detail-object-related-objects-banner__link:focus-visible .mfa-detail-object-related-objects-banner__caption {
	opacity: 1;
}

#pageArea.detail .mfa-detail-object-related-objects-banner__caption .mfa-detail-object-related-objects__title {
	margin: 0;
	color: #ffffff;
	-webkit-text-fill-color: #ffffff;
}

#pageArea.detail .mfa-detail-object-related-objects-banner__caption .mfa-detail-object-related-objects__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 0.35em;
	row-gap: 0.1em;
	margin: 0.08em 0 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

#pageArea.detail .mfa-detail-object-related-objects-banner__caption .mfa-detail-object-related-objects__idno,
#pageArea.detail .mfa-detail-object-related-objects-banner__caption .mfa-detail-object-related-objects__meta-sep {
	color: rgba(255, 255, 255, 0.72);
	-webkit-text-fill-color: rgba(255, 255, 255, 0.72);
}

#pageArea.detail .mfa-detail-object-related-objects-banner__caption .mfa-detail-object-related-objects__rel-type {
	color: rgba(255, 255, 255, 0.72);
	-webkit-text-fill-color: rgba(255, 255, 255, 0.72);
}

/* Related banner [+]: above the full-cell link; show on hover/focus like Browse. */
#pageArea.detail .mfa-detail-object-related-objects-banner__media .mfa-item-plus-btn--related {
	z-index: 5;
}

#pageArea.detail .mfa-detail-object-related-objects-banner__media:hover .mfa-item-plus-btn--related,
#pageArea.detail .mfa-detail-object-related-objects-banner__media:focus-within .mfa-item-plus-btn--related {
	opacity: 1;
	transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
	#pageArea.detail .mfa-detail-object-related-objects-banner__link::before,
	#pageArea.detail .mfa-detail-object-related-objects-banner__caption {
		transition-duration: 0.05s;
	}

	#pageArea.detail .mfa-detail-object-related-objects-banner__link:hover::before,
	#pageArea.detail .mfa-detail-object-related-objects-banner__link:focus-visible::before,
	#pageArea.detail .mfa-detail-object-related-objects-banner__link:hover .mfa-detail-object-related-objects-banner__caption,
	#pageArea.detail .mfa-detail-object-related-objects-banner__link:focus-visible .mfa-detail-object-related-objects-banner__caption {
		opacity: 1;
	}
}

/*
 * Detail main: row 1 = back link | hero; row 2 = related artworks | identification (aligned section titles).
 */
#pageArea.detail .mfa-detail-object-main--head,
#pageArea.detail .mfa-detail-object-main-sections {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
}

#pageArea.detail .mfa-detail-object-main--head::before,
#pageArea.detail .mfa-detail-object-main--head::after,
#pageArea.detail .mfa-detail-object-main-sections::before,
#pageArea.detail .mfa-detail-object-main-sections::after {
	display: none;
	content: none;
}

#pageArea.detail .mfa-detail-object-main--head {
	padding-top: clamp(2.25rem, 1.5rem + 2.75vw, 4rem);
}

#pageArea.detail .mfa-detail-object-main-sections {
	padding-top: 0;
}

#pageArea.detail .mfa-detail-object-main--head > .mfa-detail-object-sidebar,
#pageArea.detail .mfa-detail-object-main--head > .mfa-detail-object-facts,
#pageArea.detail .mfa-detail-object-main-sections > .mfa-detail-object-sidebar,
#pageArea.detail .mfa-detail-object-main-sections > .mfa-detail-object-facts {
	float: none;
	min-width: 0;
}

#pageArea.detail .mfa-detail-object-main--head > .mfa-detail-object-sidebar,
#pageArea.detail .mfa-detail-object-main-sections > .mfa-detail-object-sidebar {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
}

@media (min-width: 768px) {
	#pageArea.detail .mfa-detail-object-main--head > .mfa-detail-object-sidebar,
	#pageArea.detail .mfa-detail-object-main-sections > .mfa-detail-object-sidebar {
		padding-right: calc((15px + 1rem) * 2);
	}
	#pageArea.detail .mfa-detail-object-main--head > .mfa-detail-object-facts,
	#pageArea.detail .mfa-detail-object-main-sections > .mfa-detail-object-facts {
		padding-left: calc(15px + 1rem);
	}
}

#pageArea.detail .mfa-detail-object-sidebar .mfa-detail-object-sidebar-inner,
#pageArea.detail .mfa-detail-object-sidebar .repViewerCont,
#pageArea.detail .mfa-detail-object-sidebar .jcarousel,
#pageArea.detail .mfa-detail-object-sidebar img {
	max-width: 100%;
}

#pageArea.detail .mfa-detail-object-sidebar .repViewerCont {
	height: auto;
	min-height: 0;
}

/* Primary representation in viewport strip: fit entire image in visible band, respect horizontal margins. */
#pageArea.detail .mfa-detail-object-viewport-frame .mfa-detail-primary-img.mfa-detail-viewport-img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: var(--mfa-detail-viewport-max);
	object-fit: contain;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

#pageArea.detail .mfa-detail-viewport-img-zoomlink {
	display: block;
	max-width: 100%;
	margin: 0;
	padding: 0;
	color: inherit;
	text-decoration: none;
	cursor: zoom-in;
	outline: none;
}

#pageArea.detail .mfa-detail-viewport-img-zoomlink:focus-visible {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
}

/* Main content: grows between navbar and footer (sticky footer on all pages) */
.mfa-page-content-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	box-sizing: border-box;
	flex: 1 1 auto;
	min-height: 0;
}

/* Browse, About, etc.: standalone nav below skip link */
body:not(.mfa-has-page-background) > nav.navbar {
	flex-shrink: 0;
}

#main,
#pageArea {
	color: #ffffff;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	font-weight: 350;
	line-height: 1.45;
}

#main h1, #main h2, #main h3, #main h4, #main h5, #main h6,
#main p, #main li, #main td, #main th, #main dt, #main dd,
#main label, #main small:not(.glyphicon),
#pageArea h1, #pageArea h2, #pageArea h3, #pageArea h4, #pageArea h5, #pageArea h6,
#pageArea p, #pageArea li, #pageArea td, #pageArea th, #pageArea dt, #pageArea dd,
#pageArea label, #pageArea small:not(.glyphicon),
nav.navbar .navbar-nav > li > a,
nav.navbar .navbar-brand,
nav.navbar .navbar-form,
nav.navbar .form-control,
.notificationMessage {
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem) !important;
	font-weight: 350 !important;
	line-height: 1.45 !important;
	color: #ffffff !important;
}

.caption,
label {
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem) !important;
	font-weight: 350 !important;
	line-height: 1.45 !important;
	color: #ffffff !important;
}

b, strong {
	font-weight: 600 !important;
	color: #ffffff !important;
}

.front h1,
.front H1 {
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem) !important;
	font-weight: 350 !important;
	line-height: 1.45 !important;
	color: #ffffff !important;
}

/*
 * Home intro copy: larger than #pageArea p / #main p (those rules use ID and beat .front … p).
 */
#main #pageArea .mfa-home-intro p,
#pageArea .mfa-home-intro p {
	font-size: clamp(1.125rem, 1.02rem + 0.72vw, 1.5rem) !important;
	font-weight: 350 !important;
	line-height: 1.5 !important;
	color: #ffffff !important;
	margin: 0 0 1em 0;
}

#main #pageArea .mfa-home-intro p:last-child,
#pageArea .mfa-home-intro p:last-child {
	margin-bottom: 0;
}

/*
 * Browse: two stacked strips (no overlap): 1) scroll spacer = 1× viewport; 2) grid = 1× viewport.
 * The content-wrap flex must not add an extra “first screen” of height.
 */
body.mfa-browse {
	--mfa-browse-chrome-top: 4.25rem;
}

body.mfa-browse .mfa-page-content-wrap {
	flex: 0 0 auto;
	min-height: 0;
	width: 100%;
	/*
	 * overflow-x: hidden here made overflow-y behave as auto and clip the first-viewport title
	 * (negative margin-top). Horizontal clipping of the 100vw breakout lives only on
	 * .mfa-browse-fullbleed-clip-x (sibling after the spacer).
	 */
	overflow: visible;
}

/*
 * Second strip: full-bleed lives in this wrapper (100vw + margins from the column).
 * overflow-x: hidden on a parent sized to the column clipped the child → side bands;
 * inner stack fills this wrapper’s width.
 */
body.mfa-browse .mfa-browse-fullbleed-clip-x {
	position: relative;
	left: auto;
	right: auto;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	/*
	 * -1px: same trick as footer.mfa-site-footer on Browse; covers the 1px hairline between
	 * first viewport (spacer) and second (rounding / dvh vs innerHeight in sync JS).
	 */
	margin-top: -1px;
	overflow-x: hidden;
	box-sizing: border-box;
	z-index: 1;
}

/*
 * main.css: #browseResultsContainer { margin-top: 20px; height: 100%; }
 * On Browse that caused a top band and height:100% stretched the block in the flex layout, gaps above/below the grid.
 */
body.mfa-browse #browseResultsContainer {
	margin-top: 0;
	height: auto;
	min-height: 0;
	/* Block flow: no line box between adjacent </div><div> (unlike flex with text nodes). */
}

/* Refine busy overlay (transient; blocks Filter panel clicks while visible). No busy copy. */
.mfa-browse-refine-busy {
	position: fixed;
	inset: 0;
	z-index: 1060;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	/* Fade does not block processing; pointer-events already none when not --visible. */
	transition: opacity 0.12s ease, visibility 0.12s ease;
}

.mfa-browse-refine-busy.mfa-browse-refine-busy--visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.mfa-browse-refine-busy-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(69, 76, 84, 0.28);
}

.mfa-browse-refine-busy-center {
	position: relative;
	z-index: 1;
	width: 6rem;
	height: 6rem;
}

.mfa-busy-glyph {
	display: none;
	position: absolute;
	inset: 0;
	box-sizing: border-box;
}

.mfa-browse-refine-busy[data-mfa-refine-busy-style='color-wheel'] .mfa-busy-glyph--color-wheel {
	display: block;
}

/* Color wheel */
.mfa-busy-glyph--color-wheel {
	border-radius: 50%;
	background: conic-gradient(
		#c62828,
		#f9a825,
		#2e7d32,
		#00838f,
		#1565c0,
		#6a1b9a,
		#c62828
	);
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 14px), #000 calc(100% - 12px));
	mask: radial-gradient(farthest-side, transparent calc(100% - 14px), #000 calc(100% - 12px));
	animation: mfa-busy-spin 0.9s linear infinite;
}

@keyframes mfa-busy-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mfa-busy-glyph--color-wheel {
		animation: none;
	}

	.mfa-browse-refine-busy {
		transition-duration: 0.01ms;
	}
}

/*
 * Browse: padding-bottom 0 (avoids grey band before footer). padding-top matches the front page
 * (main.css .mfa-page-container) so the hero lines up with Home; padding-top:0 pulled the h1 up.
 */
body.mfa-browse .mfa-page-content-wrap > .container.mfa-page-container {
	padding-top: 30px !important;
	padding-bottom: 0 !important;
}

@media (max-width: 991px) {
	body.mfa-browse .mfa-page-content-wrap > .container.mfa-page-container {
		padding-top: 24px !important;
	}
}

@media (max-width: 767px) {
	body.mfa-browse .mfa-page-content-wrap > .container.mfa-page-container {
		padding-top: 25px !important;
	}
}

/* Footer: margin-top:auto is for sticky footer; on Browse landing it can leave a thin gap with body flex */
body.mfa-browse > footer.mfa-site-footer {
	margin-top: -1px;
	position: relative;
	z-index: 1;
}

/* Results view: keep footer at the viewport bottom when the grid is shorter than the screen */
body.mfa-browse-results-active .mfa-page-background-wrap {
	flex: 1 0 auto;
}
body.mfa-browse-results-active .mfa-page-content-wrap {
	flex: 1 1 auto;
}
body.mfa-browse-results-active > footer.mfa-site-footer {
	margin-top: auto;
}

/*
 * Browse: do not put background-image on the whole wrap (cover on a very tall canvas).
 * ::before layer = exactly one window tall (like home: cuts at the bottom of the viewport).
 * Spacer height = calc(100dvh − nav) so nav + spacer equal one viewport (no grey band before the grid).
 */
body.mfa-browse .mfa-page-background-wrap {
	background-image: none;
	/* Do not grow with body flex (avoids grey band under the last strip). */
	flex: 0 0 auto;
	min-height: 0;
}

body.mfa-browse .mfa-page-background-wrap::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	height: 100svh;
	height: 100dvh;
	box-sizing: border-box;
	background-image: var(--mfa-page-bg-image);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	z-index: 0;
	pointer-events: none;
}

/* Nav gradient above the photo layer (same stack as home). */
body.mfa-browse .mfa-page-background-wrap::after {
	z-index: 1;
}

body.mfa-browse .mfa-page-background-wrap > nav.navbar {
	z-index: 1030;
}

body.mfa-browse .mfa-page-background-wrap > .mfa-page-content-wrap {
	z-index: 2;
}

/*
 * First strip: width follows flow (.container column).
 * Second strip: .mfa-browse-fullbleed-clip-x breaks out to 100vw; .mfa-browse-fullbleed-stack fills that width.
 */
.mfa-browse-scroll-spacer {
	position: relative;
	left: auto;
	right: auto;
	width: 100%;
	max-width: none;
	margin: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	/* Fallback if JS is off; mfa-browse-viewport-sync.js overrides with measured viewport − spacer top. */
	height: calc(100svh - var(--mfa-browse-chrome-top));
	height: calc(100dvh - var(--mfa-browse-chrome-top));
	min-height: calc(100svh - var(--mfa-browse-chrome-top));
	min-height: calc(100dvh - var(--mfa-browse-chrome-top));
	pointer-events: none;
	background: transparent;
	border: 0;
	outline: none;
	overflow: visible;
}

/* Same hero title as front (.mfa-home-hero-title); offset like .mfa-home-copy */
body.mfa-browse .mfa-browse-hero-title-wrap {
	pointer-events: auto;
	margin-top: -2.75rem;
	max-width: 100%;
	box-sizing: border-box;
}

body.mfa-browse .mfa-browse-hero-title-wrap .mfa-home-hero {
	display: block;
	margin: 0;
	min-width: 0;
}

body.mfa-browse .mfa-browse-fullbleed-stack {
	position: relative;
	left: auto;
	right: auto;
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	margin-top: 0;
	margin-bottom: 0;
	border: 0;
	outline: none;
	box-sizing: border-box;
	z-index: 1;
	background-color: #454c54;
	/*
	 * Newlines in the template between > and <section> / before the grid create text nodes;
	 * in block layout they become a line (~#pageArea line-height ≈ 30–40px). Collapse the strut here.
	 */
	font-size: 0;
	line-height: 0;
}

.mfa-browse-strip--split-60-40 {
	margin: 0;
	padding: 0;
	background-color: #454c54;
	position: relative;
	/*
	 * Horizontal inset = main.css .mfa-page-container (same column as Browse hero titles).
	 * Both grid cells: same inset from each cell’s left/right edge.
	 */
	--mfa-browse-cell-label-inset-x: 90px;
	--mfa-browse-cell-overlay-pad-bottom: clamp(1.25rem, 3.5vw, 2.25rem);
}

@media (max-width: 991px) {
	.mfa-browse-strip--split-60-40 {
		--mfa-browse-cell-label-inset-x: 28px;
	}
}

@media (max-width: 767px) {
	.mfa-browse-strip--split-60-40 {
		--mfa-browse-cell-label-inset-x: 21px;
	}
}

/*
 * Second-strip title: ~64% of main hero (80% × 80%).
 * Absolutely positioned over the grid.
 * padding-inline: avoid 100vw (zoom/scrollbar misalign vs .container). JS sets insets by measuring
 * h1.mfa-home-hero-title (left) and .mfa-browse-hero-title-wrap (column width, right)
 * relative to this block (mfa-browse-viewport-sync.js).
 * Initial values match main.css .mfa-page-container until the first sync.
 */
body.mfa-browse .mfa-browse-second-hero {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 2;
	box-sizing: border-box;
	pointer-events: none;
	direction: ltr;
	text-align: left;
	padding-top: 32px;
	padding-left: 90px;
	padding-right: 90px;
}

@media (max-width: 991px) {
	body.mfa-browse .mfa-browse-second-hero {
		padding-top: 26px;
		padding-left: 28px;
		padding-right: 28px;
	}
}

@media (max-width: 767px) {
	body.mfa-browse .mfa-browse-second-hero {
		padding-top: 25px;
		padding-left: 21px;
		padding-right: 21px;
	}
}

body.mfa-browse .mfa-browse-second-hero-title-wrap {
	pointer-events: auto;
	margin: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	text-align: left;
}

body.mfa-browse .mfa-browse-second-hero .mfa-home-hero {
	display: block;
	margin: 0;
	min-width: 0;
	text-align: left;
}

#main .mfa-browse-second-hero-title,
#pageArea .mfa-browse-second-hero-title {
	display: block;
	white-space: nowrap;
	/* Front hero × 0.8 × 0.8 (20% smaller than the 80% step) */
	font-size: calc(0.64 * clamp(3.35rem, 1.65rem + 7.35vw, 6.875rem)) !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	text-transform: uppercase;
	text-align: left !important;
	letter-spacing: -0.05em;
	color: #ffffff !important;
	margin: 0;
	margin-inline: 0 !important;
	padding: 0;
	/* No h1 translateX: glyph edge aligns with column padding */
	transform: none;
}

@media (max-width: 480px) {
	body.mfa-browse #pageArea h2.mfa-browse-second-hero-title {
		white-space: normal;
	}
}

/* Second strip: exactly 1× viewport; two columns 60/40, no gap between cells */
.mfa-browse-strip--split-60-40 .mfa-browse-grid-split {
	display: grid;
	grid-template-columns: 60% 40%;
	grid-template-rows: minmax(0, 1fr);
	height: 100svh;
	height: 100dvh;
	width: 100%;
	gap: 0;
	border: none;
	position: relative;
	/* Restore typography after font-size:0 on .mfa-browse-fullbleed-stack (em in overlays, etc.). */
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	line-height: 1.45;
}

/* Mobile: same viewport height, two rows (DOM order = top → bottom) */
@media (max-width: 767px) {
	.mfa-browse-strip--split-60-40 .mfa-browse-grid-split {
		grid-template-columns: 1fr;
		grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
	}
}

.mfa-browse-strip--split-60-40 .mfa-browse-cell--bg {
	min-height: 0;
	height: 100%;
	margin: 0;
	padding: 0;
	border: none;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	background: transparent;
}

/* Image on its own layer: centered + slight zoom; label/overlay are not scaled with it */
.mfa-browse-strip--split-60-40 .mfa-browse-cell--bg::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	height: 100%;
	z-index: 0;
	transform: translate(-50%, -50%) scale(1.3);
	transform-origin: center center;
	background-image: var(--mfa-cell-bg-url);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	pointer-events: none;
}

/*
 * Vignette + gradual bottom darkening (contrast for white text).
 * Covers the cell box (not the ::before scale). Layers: radial under, linear on top.
 */
.mfa-browse-strip--split-60-40 .mfa-browse-cell--bg::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	pointer-events: none;
	background-image:
		linear-gradient(
			to top,
			rgba(0, 0, 0, 0.62) 0%,
			rgba(0, 0, 0, 0.36) 24%,
			rgba(0, 0, 0, 0.14) 48%,
			transparent 72%
		),
		radial-gradient(
			ellipse 105% 92% at 50% 45%,
			transparent 30%,
			rgba(0, 0, 0, 0.12) 56%,
			rgba(0, 0, 0, 0.38) 100%
		);
}

.mfa-browse-cell-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	box-sizing: border-box;
	padding-left: var(--mfa-browse-cell-label-inset-x, 90px);
	padding-right: var(--mfa-browse-cell-label-inset-x, 90px);
	padding-bottom: var(--mfa-browse-cell-overlay-pad-bottom, clamp(1.25rem, 3.5vw, 2.25rem));
	padding-top: 0.75rem;
	/* Light extra fade in the label band (global vignette is on .mfa-browse-cell--bg::after) */
	background: linear-gradient(to top, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.05) 70%, transparent 100%);
	pointer-events: none;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	text-align: left;
}

.mfa-browse-cell-overlay .mfa-browse-cell-link {
	pointer-events: auto;
}

#main .mfa-browse-cell-label,
#pageArea .mfa-browse-cell-label {
	margin: 0;
	max-width: 100%;
	box-sizing: border-box;
}

/* Base = filter panel titles (1rem); here +15%. Link: animated underline */
#main .mfa-browse-cell-label .mfa-browse-cell-link,
#pageArea .mfa-browse-cell-label .mfa-browse-cell-link {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 1.15rem !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
	letter-spacing: 0.04em;
	color: #ffffff !important;
	text-shadow: none !important;
	text-transform: uppercase !important;
	text-align: left !important;
	text-decoration: none !important;
	display: inline-block;
	max-width: 100%;
	box-sizing: border-box;
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0 calc(100% - 0.12em);
	background-repeat: no-repeat;
	background-size: 0% 1px;
	transition: background-size 0.3s ease;
}

#main .mfa-browse-cell-label .mfa-browse-cell-link:hover,
#pageArea .mfa-browse-cell-label .mfa-browse-cell-link:hover,
#main .mfa-browse-cell-label .mfa-browse-cell-link:focus-visible,
#pageArea .mfa-browse-cell-label .mfa-browse-cell-link:focus-visible {
	background-size: 100% 1px;
}

#main .mfa-browse-cell-label .mfa-browse-cell-link:focus-visible,
#pageArea .mfa-browse-cell-label .mfa-browse-cell-link:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.75);
	outline-offset: 3px;
}

/*
 * Browse /objects: simulated search/filter results — gallery (full width below nav).
 * body.mfa-browse-results-active hides both landing viewports; search bar unchanged.
 */
html.mfa-browse-results-pending .mfa-browse-landing {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

html.mfa-browse-results-pending .mfa-page-background-wrap::before {
	opacity: 0;
	pointer-events: none;
	transition: none;
}

html.mfa-browse-results-pending .mfa-page-background-wrap::after {
	display: none;
}

html.mfa-browse-results-pending .mfa-page-background-wrap,
html.mfa-browse-results-pending .mfa-page-content-wrap {
	background-color: #454c54;
}

html.mfa-browse-results-pending .mfa-browse-results-shell {
	background-color: #454c54;
	min-height: calc(100svh - var(--mfa-browse-chrome-top));
	min-height: calc(100dvh - var(--mfa-browse-chrome-top));
}

body.mfa-browse-results-active .mfa-browse-landing {
	display: none !important;
}

body.mfa-browse-results-active .mfa-browse-results-shell {
	min-height: 0;
	/* Site background: without it, transparent gallery cells show the hero ::before until the fade ends. */
	background-color: #454c54;
}

/* While awaiting first paint (Detail return / deferred manifest): keep full-viewport shell so the footer does not rise. */
html.mfa-browse-results-awaiting-paint .mfa-browse-results-shell,
body.mfa-browse-results-active.mfa-browse-results-awaiting-paint .mfa-browse-results-shell {
	min-height: calc(100svh - var(--mfa-browse-chrome-top));
	min-height: calc(100dvh - var(--mfa-browse-chrome-top));
	background-color: #454c54;
}

/*
 * Browse /objects: space below the gallery/list (inside #mfaBrowseResultsView), before the page flows into the footer.
 * Applied to the results pane only — not #browseResultsContainer (avoids the gap reading as “above” the grid with the hidden landing sibling).
 */
body.mfa-browse-results-active.mfa-has-site-search-bar #mfaBrowseResultsView {
	padding-bottom: clamp(3rem, 8vh + var(--mfa-site-search-bar-height), 11rem);
	box-sizing: border-box;
}

body.mfa-browse-results-active.mfa-has-site-search-bar.mfa-site-search-body-expanded #mfaBrowseResultsView {
	padding-bottom: clamp(3rem, 8vh + var(--mfa-site-search-bar-height-expanded), 12rem);
}

/* Tighten gap between navbar and gallery (no extra container padding above results). */
body.mfa-browse-results-active .mfa-page-content-wrap > .container.mfa-page-container {
	padding-top: 0 !important;
}

/* Full-viewport hero photo layer: fade out when results replace the two strips */
body.mfa-browse .mfa-page-background-wrap::before {
	transition: opacity 0.55s ease;
}

body.mfa-browse-results-active .mfa-page-background-wrap::before {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.55s ease;
}

/* Franja superior con gradiente (legibilidad nav sobre foto): fuera en resultados para fondo #454c54 homogéneo. */
body.mfa-browse-results-active .mfa-page-background-wrap::after {
	display: none;
}

/* Márgenes laterales del viewport y capa base del wrap: mismo gris (solo se usa esta clase en Browse resultados). */
body.mfa-browse-results-active .mfa-page-background-wrap {
	background-color: #454c54;
}

body.mfa-browse-results-active .mfa-page-background-wrap > .mfa-page-content-wrap {
	background-color: #454c54;
}

.mfa-browse-results-view {
	width: 100vw;
	max-width: 100vw;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	background-color: #454c54;
	opacity: 0;
	transition: opacity 0.55s ease;
}

/* Sin fundido: evita mezcla semitransparente con capas inferiores al mostrar galería/lista. */
body.mfa-browse-results-active .mfa-browse-results-view {
	transition: none;
}

.mfa-browse-results-view.mfa-browse-results-view--shown {
	opacity: 1;
}

/* Free-text search on Browse: zero-hit notice (shown above the search row; not used for chip-only refine). */
body.mfa-browse .mfa-browse-search-no-results {
	display: none;
	margin: 0 0 0.5rem 0;
	padding: 0.45rem 0.65rem;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.875rem, 0.82rem + 0.25vw, 0.98rem);
	font-weight: 400;
	line-height: 1.35;
	text-align: center;
	color: rgba(255, 255, 255, 0.88);
	background: rgba(0, 0, 0, 0.22);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 3px;
	box-sizing: border-box;
}

body.mfa-browse .mfa-browse-search-no-results:not([hidden]) {
	display: block;
}

/*
 * Gallery: full-bleed below nav (100vw + centering transform).
 * List: same block as main copy — width of #browseResultsContainer inside .container.mfa-page-container.
 */
.mfa-browse-results-view.mfa-browse-results-view--mode-list {
	width: 100%;
	max-width: 100%;
	left: auto;
	right: auto;
	transform: none;
	margin-left: 0;
	margin-right: 0;
}

.mfa-browse-gallery-wrap {
	width: 100%;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

body.mfa-browse-results-active .mfa-browse-gallery-wrap,
body.mfa-browse-results-active .mfa-browse-gallery-masonry {
	background-color: #454c54;
}

/*
 * Responsive columns: 4 → 3 → 2 → 1 (breakpoints match Bootstrap-style cuts used elsewhere in this theme).
 * Each cell spans one column only. Row spans use a 20-item nth-child cycle; dense flow backfills gaps.
 */
.mfa-browse-gallery-masonry {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: min(5.25vh, 3.5rem);
	grid-auto-flow: row dense;
	gap: 0;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

@media (max-width: 991px) {
	.mfa-browse-gallery-masonry {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.mfa-browse-gallery-masonry {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.mfa-browse-gallery-masonry {
		grid-template-columns: minmax(0, 1fr);
	}
}

.mfa-browse-gallery-item {
	grid-column: span 1;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
	display: block;
	box-sizing: border-box;
	overflow: hidden;
	height: 100%;
	align-self: stretch;
	position: relative;
}

/* New batch: cell mounts first (smooth opacity), then images (separate timing in JS). */
.mfa-browse-gallery-item.mfa-browse-gallery-item--cell-prep {
	opacity: 0;
}

.mfa-browse-gallery-item.mfa-browse-gallery-item--cell-visible {
	opacity: 1;
	transition: opacity 0.62s ease;
}

.mfa-browse-gallery-item-link {
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
	outline: none;
}

.mfa-browse-gallery-item-link:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.92);
	outline-offset: 2px;
}

/*
 * Five row-span sizes (5 = most landscape / shortest, 11 = tallest). Same width (1 col).
 * 20-cell cycle; at 4 cols it aligns one full row of tiles; other column counts keep varied heights.
 */
.mfa-browse-gallery-item:nth-child(20n + 1) {
	grid-row: span 11;
}

.mfa-browse-gallery-item:nth-child(20n + 2) {
	grid-row: span 9;
}

.mfa-browse-gallery-item:nth-child(20n + 3) {
	grid-row: span 7;
}

.mfa-browse-gallery-item:nth-child(20n + 4) {
	grid-row: span 5;
}

.mfa-browse-gallery-item:nth-child(20n + 5) {
	grid-row: span 10;
}

.mfa-browse-gallery-item:nth-child(20n + 6) {
	grid-row: span 11;
}

.mfa-browse-gallery-item:nth-child(20n + 7) {
	grid-row: span 9;
}

.mfa-browse-gallery-item:nth-child(20n + 8) {
	grid-row: span 7;
}

.mfa-browse-gallery-item:nth-child(20n + 9) {
	grid-row: span 5;
}

.mfa-browse-gallery-item:nth-child(20n + 10) {
	grid-row: span 10;
}

.mfa-browse-gallery-item:nth-child(20n + 11) {
	grid-row: span 11;
}

.mfa-browse-gallery-item:nth-child(20n + 12) {
	grid-row: span 9;
}

.mfa-browse-gallery-item:nth-child(20n + 13) {
	grid-row: span 7;
}

.mfa-browse-gallery-item:nth-child(20n + 14) {
	grid-row: span 5;
}

.mfa-browse-gallery-item:nth-child(20n + 15) {
	grid-row: span 10;
}

.mfa-browse-gallery-item:nth-child(20n + 16) {
	grid-row: span 11;
}

.mfa-browse-gallery-item:nth-child(20n + 17) {
	grid-row: span 9;
}

.mfa-browse-gallery-item:nth-child(20n + 18) {
	grid-row: span 7;
}

.mfa-browse-gallery-item:nth-child(20n + 19) {
	grid-row: span 5;
}

.mfa-browse-gallery-item:nth-child(20n + 20) {
	grid-row: span 10;
}

.mfa-browse-gallery-item-frame {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 0;
	margin: 0;
	overflow: hidden;
	box-sizing: border-box;
	background-color: transparent;
	border: none;
	outline: none;
	box-shadow: none;
}

/* Bottom gradient + labels: shown on :hover / :focus-within (caption is pointer-events: none).
 * Typography matches menubar options: nav.navbar .navbar-nav > li > a (theme.css). */
.mfa-browse-gallery-item-caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: clamp(0.45rem, 1.2vw, 0.7rem) clamp(0.55rem, 1.5vw, 0.85rem)
		clamp(0.5rem, 1.4vw, 0.8rem);
	text-align: left;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.28s ease;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	font-weight: 350;
	line-height: 1.45;
}

.mfa-browse-gallery-item-caption::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 145%;
	min-height: 3.5rem;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.88) 0%,
		rgba(0, 0, 0, 0.5) 48%,
		rgba(0, 0, 0, 0) 100%
	);
	z-index: -1;
	pointer-events: none;
}

.mfa-browse-gallery-item-caption-title {
	display: block;
	position: relative;
	color: #ffffff;
}

/* Título preferido + idno: misma cromía/tipo que el bloque principal del caption */
.mfa-browse-gallery-item-caption-title-line {
	display: block;
	position: relative;
	color: #ffffff;
}

.mfa-browse-gallery-item-caption-date {
	display: block;
	position: relative;
	margin-top: 0.02em;
	/* Same face/size/weight as title; softer tone only. */
	color: rgba(255, 255, 255, 0.72);
}

.mfa-browse-gallery-item-link:hover .mfa-browse-gallery-item-caption,
.mfa-browse-gallery-item-link:focus-within .mfa-browse-gallery-item-caption {
	opacity: 1;
}

/* Fill cell edge-to-edge; opacity on <img> until loaded */
.mfa-browse-gallery-item-media {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.mfa-browse-gallery-item-media .mfa-browse-gallery-item-media--placeholder {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(145deg, rgba(72, 78, 86, 0.35) 0%, rgba(38, 40, 44, 0.62) 100%);
}

.mfa-browse-gallery-item--no-image .mfa-browse-gallery-item-caption,
.mfa-browse-gallery-item--no-representation .mfa-browse-gallery-item-caption {
	opacity: 1;
}

.mfa-browse-gallery-item-img--no-representation {
	object-fit: contain;
	object-position: center center;
	transform: translate(-50%, -50%) scale(1.3);
}

/* Same zoom as .mfa-browse-cell--bg::before; overflow clips on .mfa-browse-gallery-item-media */
.mfa-browse-gallery-item-img {
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transform: translate(-50%, -50%) scale(1.3);
	transform-origin: center center;
	opacity: 0;
	filter: grayscale(0);
	transition:
		opacity 0.92s ease,
		filter 0.8s cubic-bezier(0.45, 0.05, 0.25, 1);
}

.mfa-browse-gallery-item-img.mfa-browse-gallery-item-img--visible {
	opacity: 1;
}

/* Modo B/N: transición suave al activar/desactivar; hover/focus con vuelta suave a color. */
.mfa-browse-results-view.mfa-browse-results-bw-images .mfa-browse-gallery-item-img {
	filter: grayscale(1);
	transition:
		opacity 0.92s ease,
		filter 0.8s cubic-bezier(0.45, 0.05, 0.25, 1);
}

.mfa-browse-results-view.mfa-browse-results-bw-images .mfa-browse-gallery-item-link:hover .mfa-browse-gallery-item-img,
.mfa-browse-results-view.mfa-browse-results-bw-images .mfa-browse-gallery-item-link:focus-visible .mfa-browse-gallery-item-img {
	filter: grayscale(0);
}

.mfa-browse-gallery-sentinel {
	display: block;
	width: 100%;
	height: 1px;
	pointer-events: none;
	visibility: hidden;
	margin: 0;
	padding: 0;
	border: none;
}

/* List view: column count set in JS (3–7 desired; effective capped on small screens). */
.mfa-browse-list-wrap {
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0 0 1rem;
}

.mfa-browse-list-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	/* --mfa-list-grid-gap la fija JS según columnas efectivas (más columnas → menos hueco). */
	gap: var(--mfa-list-grid-gap, clamp(1.15rem, 3vw, 2.25rem));
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

.mfa-browse-list-item {
	min-width: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	background-color: #2a2a2a;
	border-radius: 0;
}

.mfa-browse-list-media-wrap {
	position: relative;
	width: 100%;
}

/* Enlace solo a la miniatura (Detail); idno y preferred fuera del <a>. */
.mfa-browse-list-media-link {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	text-decoration: none;
	color: inherit;
	outline: none;
	background: none;
	border: none;
	border-radius: 0;
}

.mfa-browse-list-media-link:focus {
	outline: none;
}

.mfa-browse-list-media-link:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.85);
	outline-offset: 2px;
}

/* Inventario / list: franja superior (#454c54); idno alineado al borde izquierdo de la celda (sin padding lateral). */
.mfa-browse-list-idno-header {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: clamp(0.2rem, 0.55vw, 0.38rem) 0 clamp(0.06rem, 0.2vw, 0.14rem);
	font-size: clamp(3rem, 2.76rem + 1.2vw, 3.5625rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	text-align: left;
	text-indent: 0;
	color: #ffffff;
	background-color: #454c54;
	-webkit-font-smoothing: antialiased;
	transition: none;
}

.mfa-browse-list-idno-header__text {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	/* Alineación óptica con el borde izquierdo de la imagen: los números suelen llevar hueco lateral en el glifo. */
	margin-left: -0.055em;
	opacity: 0.15;
	transition: opacity 0.22s ease;
}

.mfa-browse-list-item:hover .mfa-browse-list-idno-header__text {
	opacity: 0.25;
}

.mfa-browse-list-idno-header + .mfa-browse-list-media-link {
	margin-top: 0;
}

.mfa-browse-list-primary-media {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background-color: transparent;
	line-height: 0;
	overflow: hidden;
}

.mfa-browse-list-primary-media--placeholder {
	min-height: clamp(5.5rem, 16vw, 9.5rem);
	background: linear-gradient(145deg, rgba(72, 78, 86, 0.28) 0%, rgba(38, 40, 44, 0.52) 100%);
}

.mfa-browse-list-card-img--no-representation {
	object-position: center center;
	transform-origin: center center;
}

.mfa-browse-list-media-link:hover .mfa-browse-list-card-img--no-representation,
.mfa-browse-list-media-link:focus-visible .mfa-browse-list-card-img--no-representation {
	transform: scale(1);
}

.mfa-browse-list-card-img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	margin: 0;
	padding: 0;
	object-fit: contain;
	/* Misma línea vertical que el idno: con center el contenido queda centrado y desalineado respecto al texto. */
	object-position: left center;
	opacity: 0;
	transform: scale(1);
	transform-origin: center center;
	transition: opacity 0.45s ease, transform 0.32s ease;
}

.mfa-browse-list-card-img.mfa-browse-list-card-img--visible {
	opacity: 1;
}

/* Zoom ligero solo en la imagen con media; overflow del contenedor mantiene el hueco de la celda. */
.mfa-browse-list-media-link:hover .mfa-browse-list-card-img.mfa-browse-list-card-img--visible:not(.mfa-browse-list-card-img--no-representation),
.mfa-browse-list-media-link:focus-visible .mfa-browse-list-card-img.mfa-browse-list-card-img--visible:not(.mfa-browse-list-card-img--no-representation) {
	transform: scale(1.05);
	transform-origin: center center;
}

/* Lista B/N: debe ir después de la regla base de .mfa-browse-list-card-img para no perder grayscale. */
.mfa-browse-results-view.mfa-browse-results-bw-images .mfa-browse-list-card-img {
	filter: grayscale(1);
	transition:
		opacity 0.92s ease,
		filter 0.8s cubic-bezier(0.45, 0.05, 0.25, 1),
		transform 0.32s ease;
}

.mfa-browse-results-view.mfa-browse-results-bw-images .mfa-browse-list-media-link:hover .mfa-browse-list-card-img:not(.mfa-browse-list-card-img--no-representation),
.mfa-browse-results-view.mfa-browse-results-bw-images .mfa-browse-list-media-link:focus-visible .mfa-browse-list-card-img:not(.mfa-browse-list-card-img--no-representation) {
	filter: grayscale(0);
	transform: scale(1.05);
	transform-origin: center center;
}

/* Text band: inset lateral; la imagen va bajo el idno dentro de .mfa-browse-list-media-link. */
.mfa-browse-list-primary-text {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0.55rem 0.75rem 0.2rem;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	font-weight: 350;
	line-height: 1.45;
	min-width: 0;
}

.mfa-browse-list-meta {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0 0.75rem 0.65rem;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	font-weight: 350;
	line-height: 1.45;
	min-width: 0;
}

/* Title: animated underline (nav style). Ellipsis when grid is dense. */
.mfa-browse-list-card-title {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	row-gap: 0.02em;
	max-width: 100%;
	min-width: 0;
	color: #ffffff;
}

.mfa-browse-list-card-title-line {
	display: block;
	position: relative;
	max-width: 100%;
	min-width: 0;
	color: #ffffff;
}

.mfa-browse-list-card-title::after {
	content: '';
	display: block;
	align-self: stretch;
	width: 100%;
	min-width: 0;
	height: 1px;
	margin: 0;
	background-color: currentColor;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.28s ease;
	pointer-events: none;
}

.mfa-browse-list-card-title--preferred-only::after {
	display: none;
}

/* Year: not a link; no underline. */
.mfa-browse-list-card-year {
	display: block;
	max-width: 100%;
	min-width: 0;
	color: rgba(255, 255, 255, 0.72);
}

/* Many columns → smaller type + single-line ellipsis (effective ≥ 5). */
.mfa-browse-list-grid.mfa-browse-list-grid--dense .mfa-browse-list-primary-text,
.mfa-browse-list-grid.mfa-browse-list-grid--dense .mfa-browse-list-meta {
	font-size: clamp(0.8125rem, 0.78rem + 0.22vw, 0.95rem);
}

.mfa-browse-list-grid.mfa-browse-list-grid--dense .mfa-browse-list-card-title {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}

.mfa-browse-list-grid.mfa-browse-list-grid--dense .mfa-browse-list-card-title-line {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}

.mfa-browse-list-grid.mfa-browse-list-grid--dense .mfa-browse-list-card-year {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}

.mfa-browse-list-grid.mfa-browse-list-grid--dense .mfa-browse-list-idno-header {
	font-size: clamp(2rem, 1.84rem + 0.85vw, 2.5rem);
}

.mfa-browse-list-grid.mfa-browse-list-grid--xdense .mfa-browse-list-idno-header {
	font-size: clamp(1.4rem, 1.28rem + 0.55vw, 1.75rem);
}

.mfa-browse-list-grid.mfa-browse-list-grid--xdense .mfa-browse-list-primary-text,
.mfa-browse-list-grid.mfa-browse-list-grid--xdense .mfa-browse-list-meta {
	font-size: clamp(0.72rem, 0.68rem + 0.18vw, 0.82rem);
}

.mfa-browse-list-sentinel {
	display: block;
	width: 100%;
	height: 1px;
	pointer-events: none;
	visibility: hidden;
	margin: 0;
	padding: 0;
	border: none;
}

@media (prefers-reduced-motion: reduce) {
	body.mfa-browse .mfa-page-background-wrap::before,
	.mfa-browse-results-view,
	.mfa-browse-gallery-item-img,
	.mfa-browse-gallery-item.mfa-browse-gallery-item--cell-visible,
	.mfa-browse-gallery-item-caption,
	.mfa-browse-list-card-img,
	.mfa-browse-list-card-title::after {
		transition-duration: 0.01ms !important;
	}

	.mfa-browse-gallery-item.mfa-browse-gallery-item--cell-prep,
	.mfa-browse-gallery-item.mfa-browse-gallery-item--cell-visible {
		opacity: 1;
	}

	.mfa-browse-gallery-item-img {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}

	.mfa-browse-list-card-img {
		opacity: 1;
	}

	.mfa-browse-list-media-link:hover .mfa-browse-list-card-img,
	.mfa-browse-list-media-link:focus-visible .mfa-browse-list-card-img {
		transform: scale(1);
	}
}

/*
 * Home: grid column tied to title (min-content); intro may extend slightly to the right.
 */
.front .mfa-home-copy {
	display: inline-grid;
	grid-template-columns: min-content;
	justify-items: stretch;
	max-width: 100%;
	overflow-x: visible;
	vertical-align: top;
	margin-top: -2.75rem;
	box-sizing: border-box;
}

.front .mfa-home-hero {
	display: block;
	margin: 0;
	min-width: 0;
}

.front .mfa-home-intro {
	display: block;
	min-width: 0;
	box-sizing: border-box;
	overflow-wrap: break-word;
	word-wrap: break-word;
	/* Slightly wider than title cell (100% = h1 width) */
	width: calc(100% + clamp(0.5rem, 2.25vw, 2rem));
	max-width: none;
}

#main .mfa-home-hero-title,
#pageArea .mfa-home-hero-title,
.front h1.mfa-home-hero-title {
	display: block;
	white-space: nowrap;
	font-size: clamp(3.35rem, 1.65rem + 7.35vw, 6.875rem) !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	text-transform: uppercase;
	text-align: left;
	letter-spacing: -0.05em;
	color: #ffffff !important;
	margin: 0 0 1.5rem 0;
	padding: 0;
	/* Source Sans 3: at display sizes the glyph keeps left sidebearing; em scales with font-size (clamp). */
	transform: translateX(-0.055em);
}

@media (max-width: 480px) {
	.front h1.mfa-home-hero-title,
	body.mfa-browse #pageArea h1.mfa-home-hero-title,
	body.mfa-browse-fresco #pageArea h1.mfa-home-hero-title {
		white-space: normal;
	}
}

/*
 * Mobile home / browse hero titles: #main .mfa-home-hero-title uses nowrap with higher
 * specificity than the 480px rule above — force wrap and contain width.
 */
@media (max-width: 767px) {
	.front .mfa-home-copy {
		display: block;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow-x: hidden;
	}

	.front .mfa-home-intro {
		width: 100%;
		max-width: 100%;
	}

	#main .front h1.mfa-home-hero-title,
	#pageArea.front h1.mfa-home-hero-title,
	body.mfa-has-page-background #main h1.mfa-home-hero-title,
	body.mfa-browse #main h1.mfa-home-hero-title,
	body.mfa-browse #pageArea h1.mfa-home-hero-title,
	body.mfa-browse-fresco #pageArea h1.mfa-home-hero-title {
		white-space: normal !important;
		overflow-wrap: anywhere;
		word-wrap: break-word;
		max-width: 100%;
		/* Slightly smaller clamp so long titles fit narrow viewports without huge wrap. */
		font-size: clamp(2.25rem, 1.35rem + 5.5vw, 4.5rem) !important;
	}
}

/* Navbar: transparent on home / browse with image, and on object detail (hero) */
body.mfa-has-page-background nav.navbar.navbar-default,
body.mfa-detail-objects nav.navbar.navbar-default {
	position: relative;
	flex-shrink: 0;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	box-shadow: none !important;
}

body:not(.mfa-has-page-background):not(.mfa-detail-objects):not(.mfa-browse-fresco):not(.mfa-detail-fresco):not(.mfa-bio-page) nav.navbar.navbar-default {
	background-color: #454c54 !important;
	background-image: none !important;
	border: none !important;
	box-shadow: none !important;
}

/*
 * main.css: .navbar .mfa-page-container padding-top only. padding-bottom kept slightly below
 * padding-top so total space under links (li padding + underline + container) matches above.
 */
.navbar .mfa-page-container {
	padding-bottom: 10px;
	box-sizing: border-box;
}

@media (max-width: 991px) {
	.navbar .mfa-page-container {
		padding-bottom: 14px;
	}
}

@media (max-width: 767px) {
	.navbar .mfa-page-container {
		padding-bottom: 14px;
	}
}

/* Languages: right of menubar (.navbar-right; before user block in DOM = flush to container right; Yamm aligns dropdown to right:0) */
nav.navbar.navbar-default .mfa-navbar-languages {
	margin-left: 0;
}

nav.navbar.navbar-default .mfa-navbar-languages > li > a {
	font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem);
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0.02em;
}

/* Dropdown anchors to this <li> (not .yamm .container) so the panel sits below the language toggle */
nav.navbar.navbar-default .mfa-navbar-languages > li.dropdown {
	position: relative;
	z-index: 1041;
}

/*
 * Language dropdown: below the language toggle (top:100%); right-aligned with selector.
 * Option text: same size/line-height as filter panel lines (.mfa-site-search-filters-leaf-main).
 * No underline on options. Other locales: light grey; current: white, not clickable.
 * Show/hide: smooth (Bootstrap uses display:none; we keep display:block and animate opacity/visibility/transform).
 * Transitions: --mfa-lang-dropdown-dur / --mfa-lang-dropdown-ease on this subtree.
 */
nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu {
	--mfa-lang-dropdown-dur: 0.35s;
	--mfa-lang-dropdown-ease: cubic-bezier(0.4, 0, 0.2, 1);
	display: block !important;
	position: absolute;
	right: 0;
	left: auto !important;
	top: 100% !important;
	margin-top: 0.15rem !important;
	z-index: 1040;
	min-width: 0;
	width: min(20rem, calc(100vw - 1.25rem));
	max-width: none;
	background-color: #11808D;
	border: none;
	border-radius: 0;
	box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.35);
	padding: 1rem 0 0.8rem;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-0.25rem);
	/* Closing: fade then visibility:hidden (delay) so opacity can animate out */
	transition:
		opacity var(--mfa-lang-dropdown-dur) var(--mfa-lang-dropdown-ease),
		transform var(--mfa-lang-dropdown-dur) var(--mfa-lang-dropdown-ease),
		box-shadow var(--mfa-lang-dropdown-dur) var(--mfa-lang-dropdown-ease),
		visibility 0s linear var(--mfa-lang-dropdown-dur);
}

nav.navbar.navbar-default .mfa-navbar-languages > li.open > .dropdown-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	/* Opening: visibility immediate, then opacity/transform */
	transition:
		opacity var(--mfa-lang-dropdown-dur) var(--mfa-lang-dropdown-ease),
		transform var(--mfa-lang-dropdown-dur) var(--mfa-lang-dropdown-ease),
		box-shadow var(--mfa-lang-dropdown-dur) var(--mfa-lang-dropdown-ease),
		visibility 0s;
}

@media (prefers-reduced-motion: reduce) {
	nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu {
		--mfa-lang-dropdown-dur: 0.01ms;
	}

	nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu,
	nav.navbar.navbar-default .mfa-navbar-languages > li.open > .dropdown-menu {
		transform: none !important;
		transition-duration: 0.01ms !important;
	}
}

nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li > a {
	position: relative;
	display: block;
	width: fit-content;
	max-width: 100%;
	box-sizing: border-box;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.9rem, 0.84rem + 0.28vw, 1.03rem);
	font-weight: 350;
	line-height: 1.42;
	text-transform: none;
	letter-spacing: normal;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.5) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.5);
	background-color: transparent !important;
	background-image: none !important;
	filter: none !important;
	padding: 0.5rem 1rem;
	transition:
		color var(--mfa-lang-dropdown-dur) var(--mfa-lang-dropdown-ease),
		-webkit-text-fill-color var(--mfa-lang-dropdown-dur) var(--mfa-lang-dropdown-ease);
}

nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li:not(.active) > a:hover {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
	background-color: transparent !important;
}

nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li:not(.active) > a:focus-visible {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
	background-color: transparent !important;
	outline: none;
}

nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li.active > a,
nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li.active > a:hover,
nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li.active > a:focus {
	font-weight: 400;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
	background-color: transparent !important;
	cursor: default;
	pointer-events: none;
}

/*
 * Mobile language menu: keep closed list out of flow (display:none) so it does not
 * intercept taps on primary links; when open, expand in document flow inside the
 * collapse (not absolute overlay — clipped / hard to use on iOS).
 */
@media (max-width: 767px) {
	nav.navbar.navbar-default .mfa-navbar-languages > li.dropdown {
		overflow: visible;
	}

	nav.navbar.navbar-default .mfa-navbar-languages > li.dropdown:not(.open) > .dropdown-menu {
		display: none !important;
	}

	nav.navbar.navbar-default .mfa-navbar-languages .open > .dropdown-menu {
		display: block !important;
		position: static !important;
		float: none !important;
		right: auto !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		margin-top: 0 !important;
		padding: 0.35rem 0 0.5rem !important;
		/* Same opaque panel as .navbar-collapse (not transparent over the hero). */
		background-color: #454c54 !important;
		border: 0 !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: none !important;
		transition: none !important;
		z-index: auto;
	}

	nav.navbar.navbar-default .mfa-navbar-languages .open .dropdown-menu > li > a {
		padding: 0.5rem 15px !important;
		line-height: 1.42 !important;
	}
}

/* No CA logo: primary links on the left; signed-in user keeps .navbar-right (pageHeader.php) */
nav.navbar.navbar-default .mfa-navbar-menu-primary {
	float: left;
	margin-left: 0;
	padding-left: 0;
}

@media (min-width: 768px) {
	/* Header only has hidden toggles on desktop: must not reserve width (old logo/brand slot) */
	nav.navbar.navbar-default .navbar-header {
		float: left;
		width: 0;
		min-width: 0;
		min-height: 0;
		margin: 0;
		padding: 0;
		overflow: hidden;
		border: none;
	}
}

/* Collapsed menu on mobile: readable background over image */
@media (max-width: 767px) {
	/*
	 * Yamm sets .collapse to position:static (main.css); keep the open panel in nav’s stack
	 * so taps are not stolen by .mfa-page-content-wrap (see z-index note ~L132).
	 */
	nav.navbar.yamm .navbar-collapse {
		position: relative;
		z-index: 2;
	}

	nav.navbar.navbar-default .mfa-navbar-menu-primary,
	nav.navbar.navbar-default .mfa-navbar-languages,
	nav.navbar.navbar-default #user-navbar {
		float: none !important;
		width: 100%;
	}

	.navbar-default .navbar-collapse,
	.navbar-default .navbar-collapse.in,
	.navbar-default .navbar-collapse.collapsing {
		/* Opaque: semi-transparent charcoal let the hero bleed through the open menu. */
		background-color: #454c54 !important;
		border: none !important;
		margin-top: 0;
	}

	.navbar-default .navbar-collapse.in,
	.navbar-default .navbar-collapse.collapsing {
		pointer-events: auto;
		isolation: isolate;
		overflow: visible;
	}

	/* While the hamburger menu is open (body class from mfa-navbar-mobile-collapse.js). */
	body.mfa-mobile-nav-open .mfa-page-content-wrap {
		pointer-events: none;
	}
}
.navbar-default .navbar-nav > li > a,
.navbar-default .navbar-brand {
	color: #ffffff !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

/* ~25% more horizontal space between items (rest of nav; main menu and Language separate below) */
nav.navbar.navbar-default .navbar-nav > li > a {
	padding-left: calc(15px * 1.25);
	padding-right: calc(15px * 1.25);
}

/*
 * Main menu + Language: no padding on <a> (hit area and hover stay on text).
 * Gaps between items and vertical breathing room are on <li> (arrow cursor; does not activate link).
 */
@media (min-width: 768px) {
	nav.navbar.navbar-default .mfa-navbar-menu-primary > li,
	nav.navbar.navbar-default .mfa-navbar-languages > li {
		margin-left: calc(15px * 1.25);
		margin-right: calc(15px * 1.25);
		padding-top: 15px;
		padding-bottom: 7px;
		box-sizing: border-box;
	}

	nav.navbar.navbar-default .mfa-navbar-menu-primary > li:first-child {
		margin-left: 0;
	}

	nav.navbar.navbar-default .mfa-navbar-menu-primary > li:last-child {
		margin-right: 0;
	}

	nav.navbar.navbar-default .mfa-navbar-languages > li {
		margin-left: 0;
		margin-right: 0;
	}

	/* Gap between user icon and “Language” (was: <a> padding) */
	nav.navbar.navbar-default #user-navbar > li {
		margin-right: 0.75rem;
	}

	nav.navbar.navbar-default .mfa-navbar-menu-primary > li > a,
	nav.navbar.navbar-default .mfa-navbar-languages > li > a {
		padding: 0 !important;
		cursor: pointer;
	}
}

@media (max-width: 767px) {
	nav.navbar.navbar-default .mfa-navbar-menu-primary > li,
	nav.navbar.navbar-default .mfa-navbar-languages > li {
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-top: 0;
		padding-bottom: 0;
	}

	nav.navbar.navbar-default .mfa-navbar-menu-primary > li > a,
	nav.navbar.navbar-default .mfa-navbar-languages > li > a {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding-left: 15px !important;
		padding-right: 15px !important;
		padding-top: 10px !important;
		padding-bottom: 7px !important;
	}
}

/* No background box on bar; main menu hover = bottom line (next block) */
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #ffffff !important;
}

/*
 * Animated underline (main menu + Language): text and line in a column (inline-flex).
 * Language: line stays when dropdown is open (.open on <li>).
 */
nav.navbar.navbar-default .mfa-navbar-menu-primary > li > a {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	row-gap: 0.02em;
	text-decoration: none;
}

/* Language: text + caret in a row; line (::after) wraps to next row (flex-basis 100%) */
nav.navbar.navbar-default .mfa-navbar-languages > li > a {
	position: relative;
	display: inline-flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	align-content: flex-start;
	column-gap: 0.25em;
	row-gap: 0.02em;
	text-decoration: none;
}

@media (max-width: 767px) {
	nav.navbar.navbar-default .mfa-navbar-menu-primary > li > a,
	nav.navbar.navbar-default .mfa-navbar-languages > li > a {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
}

nav.navbar.navbar-default .mfa-navbar-menu-primary > li > a::after {
	content: '';
	display: block;
	align-self: stretch;
	width: 100%;
	min-width: 0;
	height: 1px;
	margin: 0;
	background-color: #ffffff;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.28s ease;
	pointer-events: none;
}

nav.navbar.navbar-default .mfa-navbar-languages > li > a::after {
	content: '';
	display: block;
	flex-basis: 100%;
	width: 100%;
	min-width: 0;
	height: 1px;
	margin: 0;
	order: 1;
	background-color: #ffffff;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.28s ease;
	pointer-events: none;
}

nav.navbar.navbar-default .mfa-navbar-menu-primary > li > a:hover::after,
nav.navbar.navbar-default .mfa-navbar-menu-primary > li > a:focus-visible::after,
nav.navbar.navbar-default .mfa-navbar-languages > li > a:hover::after,
nav.navbar.navbar-default .mfa-navbar-languages > li > a:focus-visible::after,
nav.navbar.navbar-default .mfa-navbar-languages > li.open > a::after {
	transform: scaleX(1);
	/* Visible: anchored left → on hover out returns to origin right and shrinks L→R */
	transform-origin: left center;
}

/* Primary nav: sección actual = línea inferior visible (no solo al hover). */
nav.navbar.navbar-default .mfa-navbar-menu-primary > li.active > a::after {
	transform: scaleX(1);
	transform-origin: left center;
}

.navbar-default .navbar-toggle .icon-bar {
	background-color: #ffffff;
}

/* Links: readable on dark background */
a {
	color: #c8cbf5;
}
a:hover,
a:focus {
	color: #ffffff;
}

/* Form fields (dark text on light background) */
#main .form-control, #pageArea .form-control,
nav.navbar .form-control,
.form-control {
	background-color: rgba(255, 255, 255, 0.95) !important;
	color: #454c54 !important;
	border-color: rgba(255, 255, 255, 0.35) !important;
}
#main .form-control::placeholder, #pageArea .form-control::placeholder,
nav.navbar .form-control::placeholder,
.form-control::placeholder {
	color: rgba(69, 76, 84, 0.55);
}

/* Top menu: fade out; navbar slot stays (opacity does not remove flow space) */
body.mfa-navbar-autohide > nav.navbar {
	transition: opacity 0.65s ease;
}
body.mfa-navbar-autohide > nav.navbar.mfa-navbar-hidden {
	opacity: 0;
	pointer-events: none;
}

/* Global search (mfa_site_search_bar.php): ~20px above bottom viewport edge */
.mfa-site-search-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 20px;
	z-index: 1020;
	box-sizing: border-box;
	min-height: var(--mfa-site-search-bar-height);
	display: flex;
	align-items: center;
	background-color: #f5f5f5;
	border-top: 1px solid #e0e0e0;
	box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.42857143;
	color: #333;
}

/* Search bar motion transitions (reveal/hide + expanded/collapsed interactions). */
#mfaSiteSearchBar {
	transition:
		opacity 0.38s ease,
		transform 0.38s cubic-bezier(0.4, 0, 0.2, 1),
		top 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* When the fixed bar reaches the global footer, switch to document anchoring and scroll with content. */
body.mfa-site-search-bar-unanchored #mfaSiteSearchBar {
	position: absolute;
	bottom: auto;
	top: var(--mfa-site-search-unanchored-top, auto);
}

@media (prefers-reduced-motion: reduce) {
	#mfaSiteSearchBar {
		transition-duration: 0.05s;
	}
}

/*
 * Object detail: search-only bar (no filter chips in layout). Stubs stay in DOM for shared bar script.
 */
.mfa-site-search-bar--detail-objects .mfa-site-search-grid-cell--detail-stub {
	display: none !important;
}

.mfa-site-search-filters-panel--detail-stub {
	display: none !important;
}

.mfa-site-search-bar--detail-objects .mfa-site-search-chrome-outer--unified:not(.mfa-has-active-filters) {
	grid-template-columns: 0fr auto;
}

.mfa-site-search-bar--detail-objects.mfa-site-search-bar--expanded .mfa-site-search-chrome-outer--unified:not(.mfa-has-active-filters) {
	grid-template-columns: 1fr 0fr;
}

/*
 * Detail: bar fixed like Browse but hidden until scroll (mfa-detail-search-bar-reveal.js toggles
 * .mfa-site-search-bar--detail-revealed + body.mfa-detail-search-bar-visible).
 */
body.mfa-detail-objects.mfa-has-site-search-bar #mfaSiteSearchBar {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(calc(100% + 28px));
	transition:
		opacity 0.38s ease,
		visibility 0.38s ease,
		transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

body.mfa-detail-objects.mfa-has-site-search-bar #mfaSiteSearchBar.mfa-site-search-bar--detail-revealed {
	opacity: 1;
	visibility: visible;
	/*
	 * Full-bleed fixed strip has min-height + transparent background: pointer-events:auto on the root
	 * steals clicks from page content behind (e.g. chips near the bottom). Pass events through the shell;
	 * interactive targets opt back in on .mfa-site-search-bar-inner (filters-open uses chrome-only — see below).
	 */
	pointer-events: none;
	transform: translateY(0);
}

body.mfa-detail-objects.mfa-has-site-search-bar
	#mfaSiteSearchBar.mfa-site-search-bar--detail-revealed:not(.mfa-site-search-bar--filters-panel-open)
	.mfa-site-search-bar-inner {
	pointer-events: auto;
}

/* Same “floating chrome” look as Browse over imagery (detail page uses grey body, not page-background). */
body.mfa-detail-objects.mfa-has-site-search-bar #mfaSiteSearchBar:not(.mfa-site-search-bar--expanded) {
	background: transparent;
	border-top: none;
	box-shadow: none;
}

body.mfa-detail-objects.mfa-has-site-search-bar #mfaSiteSearchBar.mfa-site-search-bar--expanded {
	background: transparent;
	border-top: none;
	box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
	body.mfa-detail-objects.mfa-has-site-search-bar #mfaSiteSearchBar {
		transition-duration: 0.05s;
	}
}

/* Home collapsed: no band over image; expanded uses same Bootstrap grey as elsewhere */
body.mfa-has-page-background .mfa-site-search-bar:not(.mfa-site-search-bar--expanded) {
	background: transparent;
	border-top: none;
	box-shadow: none;
}

/* Expanded: no full-bleed band; grey block lives in .mfa-site-search-chrome-outer inside the container */
body.mfa-has-page-background .mfa-site-search-bar.mfa-site-search-bar--expanded {
	background: transparent;
	border-top: none;
	box-shadow: none;
}

.mfa-site-search-bar.mfa-site-search-bar--expanded {
	background-color: transparent;
	border-top: none;
	box-shadow: none;
}

/*
 * With chips: only right padding (gap + safe area). Real max width is
 * --mfa-site-search-chrome-max-width-with-chips (100vw − panel − gap) on the chrome.
 */
.mfa-site-search-bar.mfa-site-search-bar--has-active-filter-chips {
	padding-right: calc(var(--mfa-site-search-filters-panel-side-gap) + env(safe-area-inset-right, 0px));
}

/*
 * With search expanded the filters panel is closed (setSearchExpanded closes the panel):
 * remove that padding so chrome uses full content width; does not overlap fixed panel.
 */
.mfa-site-search-bar.mfa-site-search-bar--expanded.mfa-site-search-bar--has-active-filter-chips:not(
	.mfa-site-search-bar--filters-panel-open
) {
	padding-right: env(safe-area-inset-right, 0px);
}

/*
 * .container is a flex item: with flex-grow 0 and width:auto it can shrink to content and
 * misalign with navbar / #main (same max-width and padding as .mfa-page-container).
 */
.mfa-site-search-bar > .container.mfa-page-container {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/*
 * Same column as #main (pageHeader): .container.mfa-page-container > .row > .col-xs-12.
 * Horizontal: .mfa-page-container only (main.css); here we only tighten vertical padding.
 */
.mfa-site-search-bar-inner.container.mfa-page-container {
	box-sizing: border-box;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.mfa-site-search-stack {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
}

/* Browse /objects: contexto en barra fija cuando hay resultados (JS quita hidden). */
.mfa-site-search-browse-context {
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.75rem, 0.68rem + 0.28vw, 0.875rem);
	font-weight: 400;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.3;
	color: rgba(255, 255, 255, 0.92);
	margin: 0;
	padding: 0 2px;
}

body:not(.mfa-has-page-background) .mfa-site-search-browse-context {
	color: #454c54;
}

.mfa-site-search-browse-context-sep {
	margin: 0 0.35rem;
	opacity: 0.65;
}

/* Single row: collapsed = squares only; expanded = grid 0fr auto auto → 1fr 0fr auto (grows to the right) */
.mfa-site-search-row--unified {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
}

/*
 * Filters panel open:
 * - z-index above panel (1050) so grey chrome block stays usable.
 * - pointer-events: bar is fixed full width; without this the bottom strip is an invisible
 *   layer over the panel and last list items do not receive clicks.
 * - padding-right = panel width + gap: physical space in flow (besides vw cap) so many chips
 *   do not paint chrome over the filters strip.
 */
.mfa-site-search-bar.mfa-site-search-bar--filters-panel-open {
	z-index: 1060;
	pointer-events: none;
	padding-right: calc(
		var(--mfa-site-search-filters-panel-width) + var(--mfa-site-search-filters-panel-side-gap) +
			env(safe-area-inset-right, 0px)
	);
}

.mfa-site-search-bar.mfa-site-search-bar--filters-panel-open .mfa-site-search-chrome-outer--unified {
	pointer-events: auto;
}

/* Single container: same grey as search square (#5c636a), wraps search / filter squares */
.mfa-site-search-chrome-outer--unified {
	box-sizing: border-box;
	background-color: #5c636a;
	padding: 8px;
	width: max-content;
	max-width: 100%;
	display: grid;
	align-items: stretch;
	column-gap: 0;
	/* DOM: grow | search | filter */
	grid-template-columns: 0fr auto auto;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	font-weight: 350;
	line-height: 1.45;
	color: #fff;
	transition:
		width 0.45s cubic-bezier(0.4, 0, 0.2, 1),
		grid-template-columns 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

/*
 * With chips (collapsed): chrome grows with content; chips column capped (~2–3 chips visible)
 * so #mfaSiteSearchActiveFilters scrolls inside minmax(chips-min, chips-max).
 * No width transition: otherwise scroll measures wrong until animation ends.
 */
.mfa-site-search-chrome-outer--unified.mfa-has-active-filters {
	width: max-content;
	max-width: min(100%, var(--mfa-site-search-chrome-max-width-with-chips));
	/* DOM order: grow | search | chips | filter */
	grid-template-columns: 0fr auto
		minmax(var(--mfa-site-search-chips-column-min), var(--mfa-site-search-chips-column-max)) auto;
	overflow-x: hidden;
	transition:
		grid-template-columns 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.mfa-site-search-bar.mfa-site-search-bar--expanded .mfa-site-search-chrome-outer--unified {
	width: 100%;
}

.mfa-site-search-bar.mfa-site-search-bar--expanded .mfa-site-search-chrome-outer--unified:not(.mfa-has-active-filters) {
	grid-template-columns: 1fr 0fr auto;
}

/* Expanded + chips and filters closed: input (1fr) grows; chips min/max width (~2–3 visible + scroll). */
.mfa-site-search-bar.mfa-site-search-bar--expanded .mfa-site-search-chrome-outer--unified.mfa-has-active-filters {
	width: 100%;
	max-width: 100%;
	grid-template-columns: minmax(0, 1fr) 0fr
		minmax(var(--mfa-site-search-chips-column-min), var(--mfa-site-search-chips-column-max)) auto;
}

/* Filters panel open: search stays collapsed (0fr on input column) */
.mfa-site-search-bar.mfa-site-search-bar--filters-panel-open.mfa-site-search-bar--expanded .mfa-site-search-chrome-outer--unified:not(.mfa-has-active-filters) {
	width: max-content;
	max-width: 100%;
	grid-template-columns: 0fr auto auto;
}

.mfa-site-search-bar.mfa-site-search-bar--filters-panel-open.mfa-site-search-bar--expanded .mfa-site-search-chrome-outer--unified.mfa-has-active-filters {
	width: min(100%, var(--mfa-site-search-chrome-max-width-with-chips));
	max-width: var(--mfa-site-search-chrome-max-width-with-chips);
	grid-template-columns: 0fr auto
		minmax(var(--mfa-site-search-chips-column-min), var(--mfa-site-search-chips-column-max)) auto;
}

@media (prefers-reduced-motion: reduce) {
	.mfa-site-search-chrome-outer--unified {
		transition: none;
	}

	.mfa-site-search-grid-cell-grow-inner,
	.mfa-site-search-square {
		transition: none;
	}

	.mfa-site-search-filter-chip .mfa-site-search-filters-leaf-main {
		transition: none;
	}

	.mfa-site-search-active-filters {
		scroll-behavior: auto;
	}
}

.mfa-site-search-chrome-outer--unified:not(.mfa-has-active-filters) .mfa-site-search-grid-cell--chips {
	display: none;
}

/* Horizontal scroll lives in .mfa-site-search-active-filters; allow multi-line chip height. */
.mfa-site-search-grid-cell--chips {
	overflow-x: hidden;
	overflow-y: visible;
	display: flex;
	align-items: center;
	align-self: stretch;
	min-width: 0;
	max-width: 100%;
	margin-left: 8px;
}

/* Always min-width:0 on chips: shrink to chrome cap; column width comes from grid (expanded + chips). */

/* Outer: horizontal scroll only (no flex-end — that breaks trackpad scroll snap-back). */
.mfa-site-search-active-filters {
	display: block;
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: visible;
	box-sizing: border-box;
	padding: 0 0.35rem;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-behavior: auto;
	touch-action: pan-x;
	overscroll-behavior-x: contain;
}

/* Inner: chip row; max-content width + margin-left:auto aligns few chips to the right. */
.mfa-site-search-active-filters-track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: flex-end;
	gap: 0;
	width: max-content;
	min-width: 100%;
	margin-left: auto;
	box-sizing: border-box;
}

/* Collapsed + chips: horizontal scroll lives here; width is constrained by the grid cell. */
.mfa-site-search-bar:not(.mfa-site-search-bar--expanded)
	.mfa-site-search-chrome-outer--unified.mfa-has-active-filters
	.mfa-site-search-active-filters {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.mfa-site-search-bar.mfa-site-search-bar--expanded .mfa-site-search-active-filters {
	width: 100%;
}

.mfa-site-search-active-filters::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

/*
 * Shared layout for facet chip bodies (Browse bar + Detail). Do NOT put bar-only ellipsis/nowrap here:
 * Detail uses the same .mfa-site-search-filter-chip-body class — long place names must wrap (see #pageArea.detail rules).
 */
.mfa-site-search-filter-chip-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.02rem;
	min-width: 0;
	max-width: 100%;
	text-align: left;
}

/*
 * Browse bar chips only (direct child of .mfa-site-search-filter-chip). Narrow column: wrap lines; ellipsis only if ever reintroduced scoped here.
 */
.mfa-site-search-filter-chip {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	flex: 0 0 auto;
	gap: 0.35rem;
	max-width: min(22rem, 85vw);
	box-sizing: border-box;
	padding: 0.35rem 0.25rem 0.35rem 0.55rem;
	margin: 0;
	background-color: transparent;
	border: none;
	/* Vertical rule on the left of every chip (including the leftmost next to the search field). */
	border-left: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 0;
	color: inherit;
	cursor: default;
}

.mfa-site-search-filter-chip > .mfa-site-search-filter-chip-body {
	overflow: visible;
	max-width: 100%;
}

.mfa-site-search-filter-chip > .mfa-site-search-filter-chip-body > .mfa-site-search-filters-leaf-cat {
	display: block;
	max-width: 100%;
	overflow: visible;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.mfa-site-search-filter-chip > .mfa-site-search-filter-chip-body > .mfa-site-search-filters-leaf-main {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 0.35rem;
	min-width: 0;
	max-width: 100%;
}

.mfa-site-search-filter-chip > .mfa-site-search-filter-chip-body > .mfa-site-search-filters-leaf-label {
	flex: 1 1 auto;
	min-width: 0;
	overflow: visible;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.mfa-site-search-filter-chip > .mfa-site-search-filter-chip-body > .mfa-site-search-filters-leaf-count {
	flex-shrink: 0;
}

.mfa-site-search-filter-chip .mfa-site-search-filters-leaf-main {
	transition: color 0.22s ease;
}

.mfa-site-search-filter-chip-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.65rem;
	height: 1.65rem;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background-color: transparent;
	color: rgba(255, 255, 255, 0.42);
	cursor: pointer;
	outline: none;
}

.mfa-site-search-filter-chip-remove-icon {
	display: block;
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1;
}

.mfa-site-search-filter-chip-remove:focus-visible {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
}

.mfa-site-search-filter-chip:hover .mfa-site-search-filters-leaf-main {
	color: rgba(255, 255, 255, 0.78);
}

.mfa-site-search-filter-chip:hover .mfa-site-search-filter-chip-remove {
	color: #ffffff;
}

.mfa-site-search-grid-cell--grow {
	min-width: 0;
	overflow: hidden;
}

.mfa-site-search-grid-cell-grow-inner {
	min-width: 0;
	min-height: 100%;
	display: flex;
	align-items: center;
	align-self: stretch;
	opacity: 1;
	transform: translateX(0);
	transition:
		opacity 0.32s ease,
		transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}

#mfaSiteSearchBar:not(.mfa-site-search-bar--expanded) .mfa-site-search-grid-cell-grow-inner {
	pointer-events: none;
	opacity: 0;
	transform: translateX(10px);
}

.mfa-site-search-grid-cell--open,
.mfa-site-search-grid-cell--filters {
	display: flex;
	align-items: center;
	justify-content: center;
}

.mfa-site-search-grid-cell--open {
	min-width: 0;
	overflow: hidden;
}

.mfa-site-search-bar.mfa-site-search-bar--expanded .mfa-site-search-grid-cell--open {
	pointer-events: none;
}

.mfa-site-search-bar.mfa-site-search-bar--expanded .mfa-site-search-grid-cell--open .mfa-site-search-square--open {
	opacity: 0;
	transform: scale(0.94);
	pointer-events: none;
}

.mfa-site-search-grid-cell--open .mfa-site-search-square--open {
	opacity: 1;
	transform: scale(1);
	transition:
		opacity 0.28s ease,
		transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
		background-color 0.15s ease,
		color 0.15s ease;
}

.mfa-site-search-square {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 0;
	box-sizing: border-box;
	border-radius: 0;
	cursor: pointer;
	box-shadow: none;
	color: #fff;
	outline: none;
	transition:
		opacity 0.28s ease,
		transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
		background-color 0.15s ease,
		color 0.15s ease,
		box-shadow 0.15s ease;
}

.mfa-site-search-square:focus-visible {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
}

/* Search: light border, inner padding */
.mfa-site-search-grid-cell--open .mfa-site-search-square--open {
	flex: 0 0 auto;
	min-width: 56px;
	min-height: 56px;
	padding: 10px;
	border: 1px solid #cfd3d8;
	background-color: #5c636a;
}

.mfa-site-search-grid-cell--open .mfa-site-search-square--open:hover,
.mfa-site-search-grid-cell--open .mfa-site-search-square--open:focus {
	background-color: #6a737d;
	color: #fff;
}

/* Filter: no border, slightly darker background, separated from search */
.mfa-site-search-grid-cell--filters {
	margin-left: 8px;
}

.mfa-site-search-grid-cell--filters .mfa-site-search-square--filters {
	flex: 0 0 auto;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0;
	min-width: 56px;
	min-height: 56px;
	padding: 10px;
	border: none;
	background-color: #4a5158;
	/* Override Bootstrap button bold; match chrome / navbar (font-weight 350). */
	font-family: inherit;
	font-size: inherit;
	font-weight: 350;
	line-height: inherit;
}

.mfa-site-search-bar.mfa-site-search-bar--expanded .mfa-site-search-grid-cell--filters .mfa-site-search-square--filters {
	gap: 8px;
	padding-left: 14px;
	padding-right: 14px;
	min-width: auto;
	width: auto;
}

.mfa-site-search-square-filters-label {
	flex: 0 1 auto;
	font-size: inherit;
	line-height: inherit;
	font-weight: 350;
	white-space: nowrap;
	color: inherit;
	max-width: 0;
	overflow: hidden;
	opacity: 0;
	transition:
		opacity 0.28s ease,
		max-width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.mfa-site-search-bar.mfa-site-search-bar--expanded .mfa-site-search-square-filters-label {
	max-width: 12rem;
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.mfa-site-search-square-filters-label {
		transition: none;
	}
}

.mfa-site-search-grid-cell--filters .mfa-site-search-square--filters:hover,
.mfa-site-search-grid-cell--filters .mfa-site-search-square--filters:focus {
	background-color: #555c64;
	color: #fff;
}

/* Filters panel open: same background as strip (variable --mfa-site-search-filters-panel-background). */
.mfa-site-search-bar.mfa-site-search-bar--filters-panel-open .mfa-site-search-grid-cell--filters .mfa-site-search-square--filters {
	background-color: var(--mfa-site-search-filters-panel-background);
}

.mfa-site-search-bar.mfa-site-search-bar--filters-panel-open .mfa-site-search-grid-cell--filters .mfa-site-search-square--filters:hover,
.mfa-site-search-bar.mfa-site-search-bar--filters-panel-open .mfa-site-search-grid-cell--filters .mfa-site-search-square--filters:focus {
	background-color: var(--mfa-site-search-filters-panel-background-hover);
	color: #fff;
}

.mfa-site-search-square-icon {
	font-size: 18px;
	line-height: 1;
	color: inherit;
}

.mfa-site-search-square-label {
	font-size: 11px;
	line-height: 1.2;
	margin-top: 2px;
	font-weight: normal;
	white-space: nowrap;
	color: inherit;
}

.mfa-site-search-form-expanded {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	display: flex;
	align-items: center;
	align-self: stretch;
	width: 100%;
}

.mfa-site-search-expanded-fieldwrap {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0;
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	min-height: 56px;
	box-sizing: border-box;
	padding: 0 8px;
	background-color: #5c636a;
	border: 1px solid #cfd3d8;
	transition: var(--mfa-transition-hover);
}

.mfa-site-search-expanded-fieldwrap:focus-within {
	box-shadow: 0 0 0 2px rgba(102, 175, 233, 0.55);
}

.mfa-site-search-expanded-input {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0 0.35rem 0 0;
	height: auto;
	min-height: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: #fff;
	background-color: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
}

.mfa-site-search-expanded-input::placeholder {
	color: rgba(255, 255, 255, 0.45);
}

.mfa-site-search-expanded-input:focus {
	outline: none;
	border: none;
	box-shadow: none;
}

/*
 * Same typography as nav.navbar .navbar-nav > li > a (theme); light grey;
 * hover/focus-visible = underline (::after). Visibility: --visible class + transition (not [hidden]).
 */
.mfa-site-search-expanded-clear {
	flex-shrink: 0;
	align-self: center;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background-color: transparent;
	box-shadow: none;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	font-weight: 350;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.55);
	cursor: pointer;
	white-space: nowrap;
	text-decoration: none;
	outline: none;
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	row-gap: 0.02em;
	min-width: 0;
	max-width: 0;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	/* Transition when showing (initial state when animating from here). visibility without delay. */
	transition:
		opacity 0.28s ease,
		visibility 0s linear 0s,
		max-width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		margin 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		padding 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.mfa-site-search-expanded-clear.mfa-site-search-expanded-clear--visible {
	opacity: 1;
	visibility: visible;
	max-width: 24rem;
	margin: 0 0 0 0.5rem;
	padding: 0 0.45rem 0 0;
	pointer-events: auto;
	/* Transition when hiding (initial state when removing class): opacity first, visibility last. */
	transition:
		opacity 0.28s ease,
		visibility 0s linear 0.28s,
		max-width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		margin 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		padding 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.mfa-site-search-expanded-clear::after {
	content: '';
	display: block;
	align-self: stretch;
	width: 100%;
	min-width: 0;
	height: 1px;
	margin: 0;
	background-color: rgba(255, 255, 255, 0.55);
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.28s ease;
	pointer-events: none;
}

.mfa-site-search-expanded-clear:hover,
.mfa-site-search-expanded-clear:focus,
.mfa-site-search-expanded-clear:focus-visible {
	color: rgba(255, 255, 255, 0.55);
}

.mfa-site-search-expanded-clear:hover::after,
.mfa-site-search-expanded-clear:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left center;
}

@media (prefers-reduced-motion: reduce) {
	.mfa-site-search-expanded-clear {
		transition:
			opacity 0.12s ease,
			visibility 0s linear 0s,
			max-width 0.12s ease,
			margin 0.12s ease,
			padding 0.12s ease;
	}

	.mfa-site-search-expanded-clear.mfa-site-search-expanded-clear--visible {
		transition:
			opacity 0.12s ease,
			visibility 0s linear 0.12s,
			max-width 0.12s ease,
			margin 0.12s ease,
			padding 0.12s ease;
	}

	.mfa-site-search-expanded-clear::after {
		transition: transform 0.12s ease;
	}
}

.mfa-site-search-expanded-submit {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0 0 0 0.45em;
	border: none;
	border-radius: 0;
	background-color: transparent;
	color: #fff;
	font-family: inherit;
	font-size: inherit;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
}

.mfa-site-search-expanded-submit-icon {
	font-size: 1em;
	line-height: 1;
	position: relative;
	top: 1px;
}

.mfa-site-search-expanded-submit:hover:not(:disabled),
.mfa-site-search-expanded-submit:focus:not(:disabled) {
	color: #fff;
	opacity: 0.85;
	background-color: transparent;
	outline: none;
}

.mfa-site-search-expanded-submit:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.85);
	outline-offset: 2px;
}

.mfa-site-search-expanded-submit:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

/*
 * Panel: right strip only (not full width). z-index > navbar (1030) so it visually covers
 * the language block (navbar-right); left-side links stay outside the panel rectangle
 * and keep receiving clicks on the nav.
 */
.mfa-site-search-filters-panel {
	position: fixed;
	top: 0;
	right: 0;
	width: var(--mfa-site-search-filters-panel-width);
	height: 100vh;
	height: 100dvh;
	max-height: 100%;
	z-index: 1050;
	box-sizing: border-box;
	background-color: var(--mfa-site-search-filters-panel-background);
	color: #222;
	border-left: 1px solid rgba(0, 0, 0, 0.1);
	box-shadow: none;
	display: flex;
	flex-direction: column;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.28s ease, visibility 0.28s ease;
}

.mfa-site-search-filters-panel.mfa-site-search-filters-panel--open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.mfa-site-search-filters-panel[hidden] {
	display: none !important;
}

.mfa-site-search-filters-panel:not([hidden]) {
	display: flex !important;
}

/* Botones del panel: esquinas rectas (sin redondeo). */
.mfa-site-search-filters-panel button {
	border-radius: 0;
}

/* Fixed strip above scroll: close stays visible; inner scroll never covers the X. */
.mfa-site-search-filters-panel-header {
	flex: 0 0 auto;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-end;
	box-sizing: border-box;
	width: 100%;
	min-height: calc(2.75rem + 1.25rem);
	padding: 1.25rem 1.25rem 0;
	margin: 0;
	z-index: 3;
	background-color: var(--mfa-site-search-filters-panel-background);
}

.mfa-site-search-filters-panel-close {
	position: relative;
	top: auto;
	right: auto;
	z-index: 0;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	box-sizing: border-box;
	width: auto;
	min-width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background-color: transparent;
	color: #fff;
	cursor: pointer;
	transition: var(--mfa-transition-hover);
}

.mfa-site-search-filters-panel-close:hover,
.mfa-site-search-filters-panel-close:focus {
	color: #fff;
	background-color: transparent;
	outline: none;
}

.mfa-site-search-filters-panel-close:focus-visible {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.55);
}

.mfa-site-search-filters-panel-close-icon {
	display: block;
	font-size: clamp(1.65rem, 1.48rem + 0.5vw, 2rem);
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0;
	color: inherit;
}

.mfa-site-search-filters-panel-inner {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	padding: 0.75rem 1.25rem 0.75rem 1.25rem;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
	scroll-padding-bottom: var(--mfa-site-search-filters-panel-scroll-padding-bottom);
}

.mfa-site-search-filters-panel.mfa-site-search-filters-panel--open .mfa-site-search-filters-panel-inner {
	padding-bottom: var(--mfa-site-search-filters-panel-scroll-clear-bottom);
}

/* Browse /objects: section above “View as” (visible with results). */
.mfa-site-search-filters-panel-context {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 0.35em 0.45em;
	margin: 0 0 1.1rem;
	padding: 0 0 0.9rem;
	border-bottom: 1px solid var(--mfa-site-search-filters-panel-rule);
	box-sizing: border-box;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(1.05rem, 0.92rem + 0.45vw, 1.35rem);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #ffffff;
}

.mfa-site-search-filters-panel-context-title {
	flex: 0 1 auto;
	min-width: 0;
}

.mfa-site-search-filters-panel-context-count {
	flex: 0 0 auto;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.04em;
}

.mfa-site-search-filters-panel-selection-count {
	margin: 0.85rem 0 0;
	padding: 1.125rem 0 0;
	border-top: none;
	box-sizing: border-box;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.88rem, 0.82rem + 0.22vw, 0.98rem);
	font-weight: 350;
	font-style: italic;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.92);
}

.mfa-site-search-filters-panel-selection-count-label,
.mfa-site-search-filters-panel-selection-count-num {
	display: inline;
	font-style: italic;
	font-weight: inherit;
}

.mfa-site-search-filters-panel-selection-count-num {
	font-variant-numeric: tabular-nums;
}

/* Filter-by: same quick-row / view-label look as View as and Sort by; accordion only for collapse. */
.mfa-site-search-filters-accordion.mfa-site-search-filters-accordion--filter-by {
	/* Two-class selector beats later .mfa-site-search-filters-accordion { border-bottom }. */
	border-bottom: none;
	/* With panel-rows gap 0.85rem → total Sort→Filter = 1.25rem (matches View→Sort). */
	margin: 0.4rem 0 0;
	padding: 0;
}

.mfa-site-search-filters-accordion--filter-by .mfa-site-search-filters-filter-by-toggle {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 0.35rem;
	width: auto;
	max-width: 100%;
	margin: 0;
	padding: 0;
	justify-content: flex-start;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: none;
	color: inherit;
	background: transparent;
	border: none;
	cursor: pointer;
}

.mfa-site-search-filters-accordion--filter-by .mfa-site-search-filters-filter-by-toggle:focus {
	outline: none;
}

.mfa-site-search-filters-accordion--filter-by .mfa-site-search-filters-filter-by-toggle:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.65);
	outline-offset: 2px;
}

.mfa-site-search-filters-accordion--filter-by .mfa-site-search-filters-view-label--quick {
	display: block;
	margin: 0.15rem 0 0;
	pointer-events: none;
}

.mfa-site-search-filters-accordion--filter-by .mfa-site-search-filters-filter-by-chevron {
	width: 0.85rem;
	height: 0.85rem;
	margin-left: 0;
	margin-top: 0.1rem;
	color: rgba(255, 255, 255, 0.55);
	pointer-events: none;
}

.mfa-site-search-filters-quick-col--filter-by {
	padding: 0;
	gap: 0.55rem;
}

/* Browse /objects: View as (gallery/list) block in filter panel. */
.mfa-site-search-filters-view-block {
	margin: 0 0 1.25rem;
	padding: 0;
	box-sizing: border-box;
}

.mfa-site-search-filters-panel-rows--view {
	margin-bottom: 0;
}

.mfa-site-search-filters-panel-rows {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin: 0 0 1.25rem;
	padding: 0;
	box-sizing: border-box;
}

.mfa-site-search-filters-quick-row {
	display: grid;
	grid-template-columns: minmax(4.5rem, auto) minmax(0, 1fr);
	align-items: start;
	gap: 0.65rem 0.85rem;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.mfa-site-search-filters-quick-row--sort + .mfa-site-search-filters-quick-row--filter {
	margin-top: 0.45rem;
}

.mfa-site-search-filters-view-label--quick {
	margin: 0.15rem 0 0;
}

/* Filter panel: custom view/sort dropdowns (hidden native select + trigger + fixed menu). */
.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-native {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown {
	position: relative;
	display: inline-block;
	align-self: flex-start;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-trigger {
	position: relative;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.45rem;
	width: auto;
	max-width: 100%;
	padding-right: 1.85rem;
	text-align: left;
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-trigger--view {
	padding-left: 2.35rem;
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-trigger-label {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-trigger-icon.mfa-browse-view-select-icon {
	position: absolute;
	left: 0.65rem;
	top: 50%;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	pointer-events: none;
	transform: translateY(-50%);
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-trigger-icon.mfa-browse-view-select-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-caret {
	position: absolute;
	right: 0.55rem;
	top: 50%;
	display: block;
	width: 0;
	height: 0;
	margin: 0;
	border-left: 0.28rem solid transparent;
	border-right: 0.28rem solid transparent;
	border-top: 0.32rem solid rgba(255, 255, 255, 0.72);
	transform: translateY(-35%);
	pointer-events: none;
	transition: transform 0.2s ease;
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown--open .mfa-filter-panel-dropdown-caret {
	transform: translateY(-65%) rotate(180deg);
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-menu {
	--mfa-filter-dropdown-dur: 0.35s;
	--mfa-filter-dropdown-ease: cubic-bezier(0.4, 0, 0.2, 1);
	display: block;
	position: fixed;
	z-index: 1060;
	box-sizing: border-box;
	min-width: 10rem;
	max-width: min(20rem, calc(100vw - 1.25rem));
	margin: 0;
	padding: 0.65rem 0 0.55rem;
	list-style: none;
	background-color: #11808d;
	border: none;
	border-radius: 0;
	box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.35);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-0.25rem);
	transition:
		opacity var(--mfa-filter-dropdown-dur) var(--mfa-filter-dropdown-ease),
		transform var(--mfa-filter-dropdown-dur) var(--mfa-filter-dropdown-ease),
		visibility 0s linear var(--mfa-filter-dropdown-dur);
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown--open .mfa-filter-panel-dropdown-menu:not([hidden]) {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition:
		opacity var(--mfa-filter-dropdown-dur) var(--mfa-filter-dropdown-ease),
		transform var(--mfa-filter-dropdown-dur) var(--mfa-filter-dropdown-ease),
		visibility 0s;
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-menu[hidden] {
	display: none !important;
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-menu > li {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin: 0;
	padding: 0;
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-option {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0.5rem 1rem;
	border: none;
	border-radius: 0;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.9rem, 0.84rem + 0.28vw, 1.03rem);
	font-weight: 350;
	line-height: 1.42;
	text-align: left;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.5);
	background: transparent;
	cursor: pointer;
	transition:
		color var(--mfa-filter-dropdown-dur) var(--mfa-filter-dropdown-ease);
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-option:hover {
	color: #ffffff;
	background: transparent;
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-option:focus {
	outline: none;
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-option:focus-visible {
	color: #ffffff;
	background: transparent;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.35);
}

.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-option--active,
.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-option--active:hover,
.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-option--active:focus {
	font-weight: 400;
	color: #ffffff;
	cursor: default;
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-menu {
		--mfa-filter-dropdown-dur: 0.01ms;
	}

	.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-menu,
	.mfa-site-search-filters-panel .mfa-filter-panel-dropdown--open .mfa-filter-panel-dropdown-menu:not([hidden]),
	.mfa-site-search-filters-panel .mfa-filter-panel-dropdown-caret {
		transition-duration: 0.01ms !important;
		transform: none !important;
	}
}

.mfa-site-search-filters-quick-row--list-cols .mfa-site-search-filters-panel-list-cols {
	align-self: flex-start;
}

.mfa-site-search-filters-panel-list-cols--disabled {
	opacity: 0.42;
}

.mfa-site-search-filters-panel-list-cols--disabled .mfa-fs-zoom,
.mfa-site-search-filters-panel-list-cols--disabled .mfa-fs-zoom-btn {
	cursor: not-allowed;
}

.mfa-site-search-filters-quick-col--toggles {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	min-width: 0;
}

.mfa-site-search-filters-quick-item {
	min-width: 0;
}

.mfa-quick-filter-check-wrap {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 0.55rem;
	margin: 0;
	min-width: 0;
	cursor: pointer;
	user-select: none;
}

.mfa-quick-filter-check-input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mfa-quick-filter-check-box {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 1.05rem;
	height: 1.05rem;
	margin-top: 0.2rem;
	border-radius: 0.28rem;
	border: 1px solid rgba(255, 255, 255, 0.42);
	background: transparent;
	color: #ffffff;
	transition:
		border-color 0.18s ease,
		background-color 0.18s ease,
		box-shadow 0.18s ease;
}

.mfa-quick-filter-check-icon {
	display: block;
	width: 0.72rem;
	height: 0.72rem;
	opacity: 0;
	transform: scale(0.72);
	transition:
		opacity 0.16s ease,
		transform 0.16s ease;
}

.mfa-quick-filter-check-wrap:hover .mfa-quick-filter-check-box {
	border-color: rgba(255, 255, 255, 0.72);
	background: rgba(255, 255, 255, 0.08);
}

.mfa-quick-filter-check-input:focus-visible + .mfa-quick-filter-check-box {
	outline: 2px solid rgba(255, 255, 255, 0.65);
	outline-offset: 2px;
}

.mfa-quick-filter-check-input:checked + .mfa-quick-filter-check-box {
	border-color: rgba(255, 255, 255, 0.88);
	background: rgba(255, 255, 255, 0.14);
}

.mfa-quick-filter-check-input:checked + .mfa-quick-filter-check-box .mfa-quick-filter-check-icon {
	opacity: 1;
	transform: scale(1);
}

.mfa-quick-filter-check-input:disabled + .mfa-quick-filter-check-box {
	border-color: rgba(255, 255, 255, 0.22);
	background: transparent;
}

.mfa-quick-filter-check-input:disabled:checked + .mfa-quick-filter-check-box .mfa-quick-filter-check-icon {
	opacity: 0.35;
}

.mfa-quick-filter-check-wrap:has(.mfa-quick-filter-check-input:disabled) {
	cursor: not-allowed;
	opacity: 0.72;
}

.mfa-quick-filter-check-wrap:has(.mfa-quick-filter-check-input:disabled):hover .mfa-quick-filter-check-box {
	border-color: rgba(255, 255, 255, 0.22);
	background: transparent;
}

.mfa-site-search-filters-quick-label {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.9rem, 0.84rem + 0.28vw, 1.03rem);
	font-weight: 350;
	line-height: 1.42;
	text-transform: lowercase;
	color: #ffffff;
}

/* Sentence case (Gallery/List style): only the first letter of the label. */
.mfa-site-search-filters-quick-label::first-letter {
	text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
	.mfa-quick-filter-check-box,
	.mfa-quick-filter-check-icon {
		transition-duration: 0.01ms;
	}
}

.mfa-site-search-filters-sort-btn.mfa-site-search-filters-view-btn {
	flex-direction: row;
	align-items: center;
	gap: 0.4rem;
}

.mfa-site-search-filters-sort-dir-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	flex-shrink: 0;
	opacity: 0.4;
	transition:
		opacity 0.18s ease,
		transform 0.18s ease;
}

.mfa-site-search-filters-sort-btn.mfa-site-search-filters-view-btn--active .mfa-site-search-filters-sort-dir-wrap {
	opacity: 1;
}

.mfa-site-search-filters-sort-dir-wrap .mfa-sort-dir-arrow {
	display: block;
	transform-origin: 50% 50%;
	transition: transform 0.18s ease;
}

.mfa-site-search-filters-sort-btn[data-mfa-browse-sort-dir="desc"] .mfa-sort-dir-arrow {
	transform: rotate(180deg);
}

.mfa-site-search-filters-view-label {
	display: block;
	margin: 0 0 0.55rem;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

.mfa-site-search-filters-view-controls {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	width: 100%;
	box-sizing: border-box;
}

.mfa-site-search-filters-view-controls-primary {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 0.85rem;
	width: 100%;
	box-sizing: border-box;
}

/* Gallery/List + interruptor B/N: misma fila, alturas alineadas (stretch). */
.mfa-site-search-filters-view-mode-row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	flex: 0 1 auto;
	gap: 0.5rem;
	min-width: 0;
	box-sizing: border-box;
}

.mfa-site-search-filters-view-toggle {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	flex: 0 1 auto;
	gap: 0.5rem;
	min-width: 0;
}

button.mfa-bw-switch.mfa-bw-switch--vertical {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	align-self: stretch;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	color: rgba(255, 255, 255, 0.82);
	cursor: pointer;
	box-shadow: none;
	outline: none;
	flex: 0 0 auto;
	min-height: 0;
	width: auto;
}

button.mfa-bw-switch:focus-visible {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
}

/* Carril vertical: color arriba, B/N abajo; ancho fijo estrecho; alto = mismos botones Gallery/List. */
button.mfa-bw-switch.mfa-bw-switch--vertical .mfa-bw-switch-track {
	position: relative;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	flex: 1 1 auto;
	width: 2.2rem;
	min-width: 2.2rem;
	max-width: 2.2rem;
	height: 100%;
	min-height: 0;
	border-radius: 0;
	box-sizing: border-box;
	background-color: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.22);
	overflow: hidden;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

.mfa-bw-switch[aria-checked='true'] .mfa-bw-switch-track {
	background-color: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.45);
}

button.mfa-bw-switch:hover .mfa-bw-switch-track {
	background-color: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.35);
	color: #ffffff;
}

/* Mango: mitad superior = color, inferior = B/N. */
button.mfa-bw-switch.mfa-bw-switch--vertical .mfa-bw-switch-thumb {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
	margin: 0;
	border-radius: 0;
	background-color: rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	border-right: none;
	border-left: none;
	box-sizing: border-box;
	transition: top 0.24s cubic-bezier(0.33, 1, 0.68, 1);
	pointer-events: none;
	z-index: 1;
}

button.mfa-bw-switch.mfa-bw-switch--vertical[aria-checked='true'] .mfa-bw-switch-thumb {
	top: 50%;
	border-bottom: none;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
}

button.mfa-bw-switch.mfa-bw-switch--vertical .mfa-bw-switch-cell {
	position: relative;
	z-index: 2;
	flex: 1 1 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 0;
	padding: 0.1rem 0.08rem;
	box-sizing: border-box;
	transition: opacity 0.22s ease;
}

button.mfa-bw-switch.mfa-bw-switch--vertical .mfa-bw-switch-cell .mfa-bw-switch-svg {
	display: block;
	width: 17px;
	height: 13px;
	flex-shrink: 0;
	vertical-align: middle;
}

.mfa-bw-switch[aria-checked='false'] .mfa-bw-switch-cell--color {
	opacity: 1;
}

.mfa-bw-switch[aria-checked='false'] .mfa-bw-switch-cell--mono {
	opacity: 0.38;
}

.mfa-bw-switch[aria-checked='true'] .mfa-bw-switch-cell--color {
	opacity: 0.38;
}

.mfa-bw-switch[aria-checked='true'] .mfa-bw-switch-cell--mono {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.mfa-bw-switch-thumb,
	.mfa-bw-switch-track,
	.mfa-bw-switch-cell {
		transition-duration: 0.01ms !important;
	}
}

/* Columnas del listado: slider a la derecha de List (misma fila que Gallery/List). */
.mfa-site-search-filters-view-mode-row .mfa-site-search-filters-panel-list-cols {
	align-self: center;
}

.mfa-site-search-filters-panel-list-cols {
	display: block;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* List columns: compact Detail zoom bar (− / track / +); no at-limit grey on ±. */
.mfa-site-search-filters-panel-list-cols .mfa-fs-zoom-bar {
	width: 100%;
	max-width: 7.5rem;
	margin: 0;
	gap: 0.35rem;
}

.mfa-site-search-filters-panel-list-cols .mfa-fs-zoom-btn {
	padding: 0.05rem 0.15rem;
	font-size: 0.95rem;
}

.mfa-site-search-filters-panel-list-cols .mfa-fs-zoom-btn--plus span {
	font-size: 1.1rem;
	line-height: 1;
}

.mfa-site-search-filters-panel-list-cols .mfa-fs-zoom-btn.mfa-fs-zoom-btn--at-limit {
	color: #fff;
	cursor: pointer;
}

.mfa-site-search-filters-panel-list-cols--disabled .mfa-fs-zoom-btn.mfa-fs-zoom-btn--at-limit {
	cursor: not-allowed;
}

.mfa-site-search-filters-panel-list-cols .mfa-fs-zoom-track-wrap {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.18rem 0;
}

.mfa-site-search-filters-panel-list-cols .mfa-fs-zoom {
	width: 100%;
	height: 0.85rem;
}

.mfa-site-search-filters-panel-list-cols .mfa-fs-zoom::-webkit-slider-runnable-track {
	height: 1px;
}

.mfa-site-search-filters-panel-list-cols .mfa-fs-zoom::-webkit-slider-thumb {
	width: 10px;
	height: 10px;
	margin-top: -4.5px;
	background: radial-gradient(circle at 50% 50%, #202020 1.5px, #fff 1.5px);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18);
}

.mfa-site-search-filters-panel-list-cols .mfa-fs-zoom::-moz-range-track {
	height: 1px;
}

.mfa-site-search-filters-panel-list-cols .mfa-fs-zoom::-moz-range-thumb {
	width: 10px;
	height: 10px;
	background: radial-gradient(circle at 50% 50%, #202020 1.5px, #fff 1.5px);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18);
}

.mfa-site-search-filters-view-btn {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.45rem;
	margin: 0;
	padding: 0.5rem 0.65rem;
	box-sizing: border-box;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.9rem, 0.84rem + 0.28vw, 1.03rem);
	font-weight: 350;
	line-height: 1.42;
	color: rgba(255, 255, 255, 0.82);
	background-color: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 0;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.mfa-site-search-filters-view-btn:hover {
	color: #ffffff;
	background-color: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.35);
}

.mfa-site-search-filters-view-btn:focus {
	outline: none;
}

.mfa-site-search-filters-view-btn:focus-visible {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
}

.mfa-site-search-filters-view-btn--active {
	color: #ffffff;
	background-color: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.45);
}

.mfa-site-search-filters-view-btn-icon {
	display: inline-flex;
	flex-shrink: 0;
	width: 1.15rem;
	height: 1.15rem;
	color: currentColor;
	opacity: 0.95;
}

.mfa-site-search-filters-view-btn-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.mfa-site-search-filters-accordions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

/*
 * Separator line belongs on the whole accordion block, not the header button — otherwise when open,
 * the list appears below the rule instead of between title and rule.
 */
.mfa-site-search-filters-accordion {
	border-bottom: 1px solid var(--mfa-site-search-filters-panel-rule);
	box-sizing: border-box;
}

/* Section title: white 500, SVG chevron on the right (border is on .mfa-site-search-filters-accordion) */
.mfa-site-search-filters-accordion-header {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 0;
	padding: 0.65rem 0 0.75rem;
	box-sizing: border-box;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
	text-align: left;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #ffffff;
	background-color: transparent;
	border: none;
	border-radius: 0;
	cursor: pointer;
}

.mfa-site-search-filters-accordion-title {
	flex: 1 1 auto;
	min-width: 0;
	color: #ffffff;
}

.mfa-site-search-filters-accordion-chevron {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.1rem;
	height: 1.1rem;
	margin-left: 0.65rem;
	color: #ffffff;
	transition: transform 0.25s ease;
}

.mfa-site-search-filters-accordion-chevron svg {
	display: block;
	width: 100%;
	height: 100%;
	vertical-align: middle;
}

.mfa-site-search-filters-accordion--open .mfa-site-search-filters-accordion-chevron {
	transform: rotate(-180deg);
}

.mfa-site-search-filters-accordion-panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.mfa-site-search-filters-accordion--open .mfa-site-search-filters-accordion-panel {
	/*
	 * Variable height: no cap here (avoids clipping/overlap with overflow:visible under max-height).
	 * Single scroll container: .mfa-site-search-filters-panel-inner.
	 */
	max-height: none;
	overflow-x: visible;
	overflow-y: visible;
	transition: none;
}

/* Subject / Place accordions: inline search + client-side substring filter; hidden rows use [data-mfa-inline-search-nomatch]. */
.mfa-site-search-filters-accordion-inline-search-wrap {
	margin: 0;
	padding: 0 0 0.65rem;
	box-sizing: border-box;
}

.mfa-site-search-filters-accordion-inline-search-field {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.mfa-site-search-filters-accordion-inline-search {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	/* ~20% taller hit area vs previous 0.45rem vertical padding */
	padding: 0.54rem 2.35rem 0.54rem 0.55rem;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.88rem, 0.82rem + 0.2vw, 1rem);
	font-weight: 350;
	line-height: 1.35;
	color: #ffffff;
	background-color: transparent;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 0;
	outline: none;
}

.mfa-site-search-filters-accordion-inline-search-icon {
	position: absolute;
	top: 50%;
	right: 0.5rem;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	color: rgba(255, 255, 255, 0.55);
	-webkit-text-fill-color: rgba(255, 255, 255, 0.55);
}

.mfa-site-search-filters-accordion-inline-search-icon svg {
	display: block;
	vertical-align: middle;
}

.mfa-site-search-filters-accordion-inline-search::placeholder {
	color: rgba(255, 255, 255, 0.45);
}

/* No stronger border or ring while typing — keep same rule as idle. */
.mfa-site-search-filters-accordion-inline-search:focus,
.mfa-site-search-filters-accordion-inline-search:focus-visible {
	outline: none;
	box-shadow: none;
	border-color: rgba(255, 255, 255, 0.28);
}

.mfa-site-search-filters-accordion-list-item--filterable[data-mfa-filter-row-slug="subject"][data-mfa-inline-search-nomatch="1"],
.mfa-site-search-filters-accordion-list-item--filterable[data-mfa-filter-row-slug="place"][data-mfa-inline-search-nomatch="1"],
.mfa-site-search-filters-accordion-list-item--filterable[data-mfa-filter-row-slug="tesaurus"][data-mfa-inline-search-nomatch="1"] {
	display: none !important;
}

/* Lazy filter panel: placeholder row while accordions hydrate (e.g. Temàtica SQL). */
.mfa-site-search-filters-accordion--hydrating .mfa-site-search-filters-accordion-list:empty::after,
.mfa-site-search-filters-accordion--hydrating
	.mfa-site-search-filters-accordion-list:not(:has(.mfa-site-search-filters-accordion-list-item--filterable))::after {
	content: '';
	display: block;
	min-height: 2.25rem;
	margin: 0.35rem 1rem 0.85rem;
	border-radius: 2px;
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0.08) 0%,
		rgba(255, 255, 255, 0.22) 50%,
		rgba(255, 255, 255, 0.08) 100%
	);
	background-size: 200% 100%;
	animation: mfaBrowseFiltersAccordionHydratePulse 1.2s ease-in-out infinite;
	opacity: 0.85;
}

@keyframes mfaBrowseFiltersAccordionHydratePulse {
	0% {
		background-position: 100% 0;
	}
	100% {
		background-position: -100% 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mfa-site-search-filters-accordion--hydrating .mfa-site-search-filters-accordion-list:empty::after,
	.mfa-site-search-filters-accordion--hydrating
		.mfa-site-search-filters-accordion-list:not(:has(.mfa-site-search-filters-accordion-list-item--filterable))::after {
		animation: none;
		background: rgba(255, 255, 255, 0.14);
	}
}

.mfa-site-search-filters-accordion-list {
	list-style: none;
	margin: 0;
	padding: 0.35rem 0 0.85rem;
}

.mfa-site-search-filters-accordion-list-item {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

/*
 * Leaf shrink-wraps to cat + value/count so hover highlights only that block; long lines still
 * wrap within the row minus the remove control (max-width).
 */
.mfa-site-search-filters-accordion-list-item .mfa-site-search-filters-leaf {
	flex: 0 1 auto;
	width: auto;
	min-width: 0;
	max-width: calc(100% - 2.25rem);
	align-self: flex-start;
}

.mfa-site-search-filters-accordion-list-item .mfa-site-search-filters-leaf-remove {
	margin-left: auto;
	flex-shrink: 0;
	align-self: flex-start;
}

.mfa-site-search-filters-accordion-list-item .mfa-site-search-filters-leaf-main {
	width: auto;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.mfa-site-search-filters-accordion-list-item .mfa-site-search-filters-leaf-main .mfa-site-search-filters-leaf-label {
	flex: 0 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
	white-space: normal;
	overflow: visible;
	text-overflow: unset;
}

/*
 * Row: line 1 = accordion title (grey, uppercase);
 * line 2 = value + count, lowercase, weight 350 like menubar.
 * Width fits content.
 */
.mfa-site-search-filters-leaf {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0.02rem;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0.5rem 0.65rem;
	font-family: 'Source Sans 3', sans-serif;
	text-align: left;
	background-color: transparent;
	border: none;
	border-radius: 0;
	cursor: pointer;
}

/* Técnica (solo lectura): mismo bloque visual que .mfa-site-search-filters-leaf; no usa .mfa-site-search-filters-leaf para no disparar chips en JS */
.mfa-site-search-filters-leaf-display {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0.02rem;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0.5rem 0.65rem;
	font-family: 'Source Sans 3', sans-serif;
	text-align: left;
	cursor: default;
}

.mfa-site-search-filters-leaf-cat {
	display: block;
	width: auto;
	max-width: 100%;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.52);
}

.mfa-site-search-filters-leaf-main {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0 0.35rem;
	width: auto;
	max-width: 100%;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
	/* Same body size as chips in search bar */
	font-size: clamp(0.9rem, 0.84rem + 0.28vw, 1.03rem);
	font-weight: 350;
	line-height: 1.42;
	text-transform: lowercase;
	color: #ffffff;
}

.mfa-site-search-filters-leaf-label {
	font-weight: inherit;
}

/*
 * Places: keep authority label casing as stored (avoid panel/chip rule below: lowercase on .mfa-site-search-filters-leaf-main).
 */
.mfa-site-search-filters-accordion-list-item[data-mfa-filter-row-slug="place"] .mfa-site-search-filters-leaf-main,
.mfa-site-search-filters-accordion-list-item[data-mfa-filter-row-slug="place"] .mfa-site-search-filters-leaf-main *,
.mfa-site-search-filters-accordion-list-item[data-mfa-filter-row-slug="subject"] .mfa-site-search-filters-leaf-main,
.mfa-site-search-filters-accordion-list-item[data-mfa-filter-row-slug="subject"] .mfa-site-search-filters-leaf-main *,
.mfa-site-search-filters-accordion-list-item[data-mfa-filter-row-slug="tesaurus"] .mfa-site-search-filters-leaf-main,
.mfa-site-search-filters-accordion-list-item[data-mfa-filter-row-slug="tesaurus"] .mfa-site-search-filters-leaf-main *,
.mfa-site-search-filter-chip[data-browse-facet="mfa_place_facet"] .mfa-site-search-filters-leaf-main,
.mfa-site-search-filter-chip[data-browse-facet="mfa_place_facet"] .mfa-site-search-filters-leaf-main *,
.mfa-site-search-filter-chip[data-browse-facet="mfa_tematica_facet"] .mfa-site-search-filters-leaf-main,
.mfa-site-search-filter-chip[data-browse-facet="mfa_tematica_facet"] .mfa-site-search-filters-leaf-main *,
.mfa-site-search-filter-chip[data-browse-facet="mfa_tesaurus_facet"] .mfa-site-search-filters-leaf-main,
.mfa-site-search-filter-chip[data-browse-facet="mfa_tesaurus_facet"] .mfa-site-search-filters-leaf-main *,
#pageArea.detail a.mfa-detail-browse-chip[data-browse-facet="mfa_place_facet"] .mfa-site-search-filters-leaf-main,
#pageArea.detail a.mfa-detail-browse-chip[data-browse-facet="mfa_place_facet"] .mfa-site-search-filters-leaf-main *,
#pageArea.detail a.mfa-detail-browse-chip[data-browse-facet="mfa_tematica_facet"] .mfa-site-search-filters-leaf-main,
#pageArea.detail a.mfa-detail-browse-chip[data-browse-facet="mfa_tematica_facet"] .mfa-site-search-filters-leaf-main *,
#pageArea.detail a.mfa-detail-browse-chip[data-browse-facet="mfa_tesaurus_facet"] .mfa-site-search-filters-leaf-main,
#pageArea.detail a.mfa-detail-browse-chip[data-browse-facet="mfa_tesaurus_facet"] .mfa-site-search-filters-leaf-main * {
	text-transform: none;
}

/*
 * No-place audit row (place|null): match panel/chip lowercase like other facets.
 */
.mfa-site-search-filters-accordion-list-item[data-mfa-filter-row-key="place|null"] .mfa-site-search-filters-leaf-main,
.mfa-site-search-filters-accordion-list-item[data-mfa-filter-row-key="place|null"] .mfa-site-search-filters-leaf-main *,
.mfa-site-search-filter-chip[data-browse-facet="mfa_place_facet"][data-browse-value="null"] .mfa-site-search-filters-leaf-main,
.mfa-site-search-filter-chip[data-browse-facet="mfa_place_facet"][data-browse-value="null"] .mfa-site-search-filters-leaf-main *,
#pageArea.detail a.mfa-detail-browse-chip[data-browse-facet="mfa_place_facet"][data-browse-value="null"] .mfa-site-search-filters-leaf-main,
#pageArea.detail a.mfa-detail-browse-chip[data-browse-facet="mfa_place_facet"][data-browse-value="null"] .mfa-site-search-filters-leaf-main * {
	text-transform: lowercase;
}

/* Place facet: use full available width so long authority labels wrap (browse bar strip + detail facts table). */
.mfa-site-search-filter-chip[data-browse-facet="mfa_place_facet"] {
	min-width: 0;
	align-self: flex-start;
}

.mfa-site-search-filter-chip[data-browse-facet="mfa_place_facet"] > .mfa-site-search-filter-chip-body {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

#pageArea.detail .mfa-detail-identification__facts td.mfa-detail-identification__value .mfa-detail-browse-chips {
	min-width: 0;
	max-width: 100%;
}

#pageArea.detail a.mfa-detail-browse-chip[data-browse-facet="mfa_place_facet"] {
	min-width: 0;
	max-width: 100%;
	align-self: flex-start;
}

#pageArea.detail a.mfa-detail-browse-chip[data-browse-facet="mfa_place_facet"] .mfa-detail-browse-chip__body {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.mfa-site-search-filters-leaf-count {
	font-weight: inherit;
	opacity: 0.88;
}

.mfa-site-search-filters-leaf:disabled:not(.mfa-site-search-filters-leaf--applied) {
	cursor: not-allowed;
	opacity: 1;
	color: #ffffff;
	-webkit-text-fill-color: #ffffff;
}

.mfa-site-search-filters-leaf:disabled:not(.mfa-site-search-filters-leaf--applied) .mfa-site-search-filters-leaf-cat {
	color: rgba(255, 255, 255, 0.52);
	-webkit-text-fill-color: rgba(255, 255, 255, 0.52);
}

/* Selected in bar: first line unchanged; second line in accent green; no not-allowed cursor */
.mfa-site-search-filters-leaf.mfa-site-search-filters-leaf--applied:disabled {
	cursor: default;
}

.mfa-site-search-filters-leaf.mfa-site-search-filters-leaf--applied:disabled .mfa-site-search-filters-leaf-cat {
	color: rgba(255, 255, 255, 0.52);
	-webkit-text-fill-color: rgba(255, 255, 255, 0.52);
}

.mfa-site-search-filters-leaf.mfa-site-search-filters-leaf--applied .mfa-site-search-filters-leaf-main,
.mfa-site-search-filters-leaf.mfa-site-search-filters-leaf--applied .mfa-site-search-filters-leaf-main * {
	color: var(--mfa-site-search-filters-leaf-applied-fg);
	-webkit-text-fill-color: var(--mfa-site-search-filters-leaf-applied-fg);
}

/* Remove chip from accordion (same idea as .mfa-site-search-filter-chip-remove) */
.mfa-site-search-filters-leaf-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.65rem;
	height: 1.65rem;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background-color: transparent;
	color: rgba(255, 255, 255, 0.42);
	cursor: pointer;
	outline: none;
}

.mfa-site-search-filters-leaf-remove-icon {
	display: block;
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1;
}

.mfa-site-search-filters-leaf-remove:focus-visible {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
}

.mfa-site-search-filters-accordion-list-item:has(.mfa-site-search-filters-leaf:hover) .mfa-site-search-filters-leaf-remove,
.mfa-site-search-filters-accordion-list-item:has(.mfa-site-search-filters-leaf-remove:hover) .mfa-site-search-filters-leaf-remove {
	color: #ffffff;
}

/* Hover: soft background only on the leaf hit target (text + count), not the full row gutter */
.mfa-site-search-filters-accordion-list-item .mfa-site-search-filters-leaf:hover,
.mfa-site-search-filters-accordion-list-item .mfa-site-search-filters-leaf:focus-visible {
	background-color: rgba(255, 255, 255, 0.1);
}

@media (prefers-reduced-motion: reduce) {
	.mfa-site-search-filters-accordion-chevron,
	.mfa-site-search-filters-accordion-panel {
		transition: none;
	}

	.mfa-site-search-filters-accordion--open .mfa-site-search-filters-accordion-panel {
		max-height: none;
	}

	.mfa-site-search-filters-panel {
		transition: opacity 0.12s ease, visibility 0.12s ease;
	}
}

/*
 * Mobile: full-width search chrome (no max-content shrink); chips column gets remaining space
 * and scrolls horizontally; chip labels stay on readable lines (no per-letter wrapping).
 * Does not alter .mfa-site-search-grid-cell--filters / Filter button.
 */
@media (max-width: 767px) {
	.mfa-site-search-bar > .container.mfa-page-container {
		max-width: none;
	}

	/* Use horizontal space when chips show and filters panel is not open (desktop reserves gap for panel). */
	.mfa-site-search-bar.mfa-site-search-bar--has-active-filter-chips:not(.mfa-site-search-bar--filters-panel-open) {
		padding-right: max(0.5rem, env(safe-area-inset-right, 0px));
	}

	/* Collapsed + chips: full-width chrome (desktop rule already uses minmax chips column). */
	.mfa-site-search-bar:not(.mfa-site-search-bar--expanded)
		.mfa-site-search-chrome-outer--unified.mfa-has-active-filters {
		width: 100%;
		max-width: 100%;
	}

	.mfa-site-search-bar.mfa-site-search-bar--expanded .mfa-site-search-chrome-outer--unified.mfa-has-active-filters {
		grid-template-columns: minmax(0, 1fr) 0fr
			minmax(var(--mfa-site-search-chips-column-min), var(--mfa-site-search-chips-column-max)) auto;
	}

	.mfa-site-search-bar.mfa-site-search-bar--filters-panel-open.mfa-site-search-bar--expanded
		.mfa-site-search-chrome-outer--unified.mfa-has-active-filters {
		width: 100%;
		max-width: 100%;
		grid-template-columns: 0fr auto
			minmax(var(--mfa-site-search-chips-column-min), var(--mfa-site-search-chips-column-max)) auto auto;
	}

	.mfa-site-search-bar.mfa-site-search-bar--filters-panel-open.mfa-site-search-bar--expanded
		.mfa-site-search-chrome-outer--unified:not(.mfa-has-active-filters) {
		width: 100%;
		max-width: 100%;
	}

	.mfa-site-search-active-filters-track {
		justify-content: flex-start;
	}

	/* Same as desktop: chips respect track width; overflow uses ellipsis rules above (no mid-glyph clip). */
	.mfa-site-search-filter-chip {
		max-width: 100%;
	}

	/* Filters panel open: hide fixed bar so it does not peek under / beside the panel on narrow viewports. */
	.mfa-site-search-bar.mfa-site-search-bar--filters-panel-open {
		visibility: hidden;
	}
}

/* Global footer: end of column (sticky footer on all pages); typography aligned with #pageArea / navbar */
footer.mfa-site-footer {
	position: relative;
	width: 100%;
	clear: both;
	flex-shrink: 0;
	margin-top: auto;
	/* Dark charcoal (not pure black); close to body #454c54 */
	background-color: #1e2022 !important;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	font-weight: 350;
	line-height: 1.45;
	color: #ffffff !important;
	padding-top: 2.5rem;
	padding-bottom: 1.75rem;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 0 !important;
	box-sizing: border-box;
}

/* Clear the fixed bar over the footer without adding body padding (grey below footer). */
body.mfa-has-site-search-bar footer.mfa-site-footer {
	padding-bottom: calc(1.75rem + 20px + var(--mfa-site-search-bar-height));
}

body.mfa-has-site-search-bar.mfa-site-search-body-expanded footer.mfa-site-footer {
	padding-bottom: calc(1.75rem + 20px + var(--mfa-site-search-bar-height-expanded));
}

/* Object detail: footer reserves bar space only after scroll reveal (must follow generic rules above). */
body.mfa-detail-objects.mfa-has-site-search-bar:not(.mfa-detail-search-bar-visible) footer.mfa-site-footer {
	padding-bottom: 1.75rem;
}

body.mfa-detail-objects.mfa-has-site-search-bar.mfa-detail-search-bar-visible footer.mfa-site-footer {
	padding-bottom: calc(1.75rem + 20px + var(--mfa-site-search-bar-height));
}

body.mfa-detail-objects.mfa-has-site-search-bar.mfa-detail-search-bar-visible.mfa-site-search-body-expanded footer.mfa-site-footer {
	padding-bottom: calc(1.75rem + 20px + var(--mfa-site-search-bar-height-expanded));
}

/* No extra vertical padding: padding comes from <footer>; horizontal = .mfa-page-container like main content */
footer.mfa-site-footer .container.mfa-page-container.mfa-site-footer-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	text-align: left;
}

/* Logo on the left; one row of links on the right. */
.mfa-site-footer-top {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.25rem clamp(1.25rem, 4vw, 2.5rem);
	width: 100%;
	box-sizing: border-box;
}

.mfa-site-footer-brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 0 0 auto;
	max-width: 100%;
	box-sizing: border-box;
}

.mfa-site-footer-logo-link {
	display: inline-block;
	line-height: 0;
	text-decoration: none;
	border: none;
	box-shadow: none;
	outline: none;
}

.mfa-site-footer-logo-link:hover,
.mfa-site-footer-logo-link:focus,
.mfa-site-footer-logo-link:focus-visible {
	text-decoration: none;
	border: none;
	box-shadow: none;
	outline: none;
}

.mfa-site-footer-logo-link:focus-visible {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
}

.mfa-site-footer-logo {
	display: block;
	width: auto;
	max-width: min(280px, 72vw);
	height: auto;
	max-height: clamp(3rem, 2.4rem + 2vw, 4.25rem);
	object-fit: contain;
	object-position: left center;
}

.mfa-site-footer-nav {
	display: block;
	flex: 1 1 auto;
	min-width: min(100%, 14rem);
	max-width: 100%;
	margin-top: 0;
	margin-left: auto;
	text-align: right;
	box-sizing: border-box;
}

.mfa-site-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-end;
	/* Match horizontal spacing between primary nav items (2 × 15px × 1.25) */
	gap: 0.75rem calc(15px * 2.5);
}

@media (max-width: 767px) {
	.mfa-site-footer-top {
		flex-direction: column;
		align-items: stretch;
	}

	.mfa-site-footer-nav {
		margin-left: 0;
		text-align: left;
		min-width: 0;
	}

	.mfa-site-footer-menu {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 0.5rem 0;
	}
}

footer.mfa-site-footer .mfa-site-footer-menu > li > a {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	row-gap: 0.02em;
	text-decoration: none;
	cursor: pointer;
	color: #ffffff !important;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem) !important;
	font-weight: 350 !important;
	line-height: 1.45 !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

footer.mfa-site-footer .mfa-site-footer-menu > li > a::after {
	content: '';
	display: block;
	align-self: stretch;
	width: 100%;
	min-width: 0;
	height: 1px;
	margin: 0;
	background-color: #ffffff;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.28s ease;
	pointer-events: none;
}

footer.mfa-site-footer .mfa-site-footer-menu > li > a:hover::after,
footer.mfa-site-footer .mfa-site-footer-menu > li > a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left center;
}

footer.mfa-site-footer .mfa-site-footer-menu > li > a:hover,
footer.mfa-site-footer .mfa-site-footer-menu > li > a:focus,
footer.mfa-site-footer .mfa-site-footer-menu > li > a:focus-visible {
	color: #ffffff !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	text-decoration: none;
}

.mfa-site-footer-copy {
	margin: 2rem 0 0;
	padding-top: 0;
	border-top: none;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem) !important;
	font-weight: 350 !important;
	line-height: 1.45 !important;
	color: rgba(255, 255, 255, 0.72) !important;
	text-align: left;
}

/* -------------------------------------------------------------------------- */
/* MFA fullscreen image viewer (media overlay, MfaFullscreenImageViewer)      */
/* -------------------------------------------------------------------------- */

#caMediaPanelContentArea:has(.mfa-fullscreen-viewer) {
	margin-top: 0;
}

#caMediaOverlayContent.mfa-fullscreen-overlay-wrap {
	height: 100%;
	overflow: hidden;
	text-align: left;
}

.mfa-fullscreen-viewer {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	min-height: 0;
	background-color: #454c54;
	outline: none;
}

.mfa-fullscreen-viewer:fullscreen,
.mfa-fullscreen-viewer:-webkit-full-screen {
	width: 100%;
	height: 100%;
	background-color: #454c54;
}

.mfa-fs-chrome {
	position: absolute;
	top: 2.05rem;
	right: 3.25rem;
	left: auto;
	z-index: 7;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.5rem;
	pointer-events: none;
}

.mfa-fs-chrome > * {
	pointer-events: auto;
}

.mfa-fs-close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.6rem;
	height: 3.6rem;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background-color: #3a3a3a;
	color: #fff;
	cursor: pointer;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
	transition:
		background-color 0.22s ease,
		transform 0.22s ease,
		box-shadow 0.22s ease,
		opacity 0.35s ease;
}

.mfa-fs-close:hover,
.mfa-fs-close:focus-visible {
	background-color: #2c2c2c;
	transform: scale(1.15);
	outline: none;
}

.mfa-fs-close-x {
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 300;
}

.mfa-fs-toggle-fs {
	color: #fff;
}

.mfa-fs-toggle-fs-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

.mfa-fs-toggle-fs-icon--contract {
	display: none;
}

.mfa-fullscreen-viewer.mfa-fs--maximized .mfa-fs-toggle-fs-icon--expand {
	display: none;
}

.mfa-fullscreen-viewer.mfa-fs--maximized .mfa-fs-toggle-fs-icon--contract {
	display: flex;
}

.mfa-fs-toggle-fs-svg {
	display: block;
	width: 1.56rem;
	height: 1.56rem;
}

.mfa-fs-toggle-fs-svg--max {
	width: 1.54rem;
	height: 1.54rem;
}

.mfa-fs-toggle-fs-svg--min {
	width: 1.68rem;
	height: 1.68rem;
}

.mfa-fullscreen-viewer.mfa-fs--maximized .mfa-fs-close-panel {
	display: none !important;
}

.mfa-fs-minimap {
	position: relative;
	border: 1px solid #fff;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
	transition: opacity 0.35s ease;
}

.mfa-fs-minimap-inner {
	position: relative;
	overflow: hidden;
	background: #000;
}

.mfa-fs-minimap-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mfa-fs-minimap-viewport {
	position: absolute;
	box-sizing: border-box;
	z-index: 1;
	border: 1px solid #fff;
	background: transparent;
	box-shadow: 0 0 0 3200px rgba(0, 0, 0, 0.28);
	cursor: grab;
	min-width: 4px;
	min-height: 4px;
}

.mfa-fs-minimap-viewport:active {
	cursor: grabbing;
}

.mfa-fs-main {
	position: absolute;
	inset: 0;
	background-color: #454c54;
}

.mfa-fs-stage {
	position: absolute;
	inset: 0;
	overflow: hidden;
	cursor: grab;
	touch-action: none;
}

.mfa-fs-stage.mfa-fs-stage--dragging {
	cursor: grabbing;
}

.mfa-fs-pan {
	position: absolute;
	left: 0;
	top: 0;
	transform-origin: 0 0;
	will-change: transform;
}

.mfa-fs-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: fill;
	user-select: none;
}

.mfa-fs-maxslot {
	position: absolute;
	z-index: 7;
	right: 2.5rem;
	/* Above footer strip (height includes min-height + vertical padding + gap). */
	bottom: calc(7.85rem + 0.85rem + env(safe-area-inset-bottom, 0px));
	pointer-events: auto;
	transition: opacity 0.35s ease;
}

.mfa-fs-bottom-stack {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 6;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 0;
	transition: opacity 0.35s ease;
}

.mfa-fs-footer {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	min-height: 5.22rem;
	padding: 0.66rem 0.75rem 0.75rem;
	background-color: #202020;
	color: #fff;
	transition: opacity 0.35s ease;
}

.mfa-fs-footer-top {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.28rem;
	flex: 0 0 auto;
}

.mfa-fs-footer-controls {
	flex: 1 1 auto;
	min-width: 0;
	margin-bottom: 0;
	font-size: 0.8125rem;
	line-height: 1.35;
	text-align: left;
}

.mfa-fs-footer-controls a {
	color: #fff;
	text-decoration: underline;
}

.mfa-fs-footer-controls .objectInfo {
	display: none;
}

.mfa-fs-footer-controls .nextPreviousLinks {
	display: none;
}

.mfa-fs-zoom-shell {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	flex: 0 0 auto;
}

.mfa-fs-zoom-bar {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	width: 100%;
	max-width: 24rem;
	margin: 0 auto;
}

.mfa-fs-zoom-btn {
	flex: 0 0 auto;
	margin: 0;
	padding: 0.15rem 0.35rem;
	border: none;
	background: transparent;
	color: #fff;
	font-size: 1.35rem;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
	transition: color 0.2s ease, opacity 0.2s ease;
}

.mfa-fs-zoom-btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.mfa-fs-zoom-btn.mfa-fs-zoom-btn--at-limit {
	color: #6a6a6a;
	cursor: default;
}

.mfa-fs-zoom-btn--plus span {
	font-size: 1.62rem;
	line-height: 1;
}

.mfa-fs-zoom-track-wrap {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.35rem 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mfa-fs-zoom {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 1.25rem;
	margin: 0;
	background: transparent;
	cursor: pointer;
}

.mfa-fs-zoom:focus {
	outline: none;
}

.mfa-fs-zoom:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
	border-radius: 2px;
}

.mfa-fs-zoom::-webkit-slider-runnable-track {
	height: 2px;
	background: #fff;
	border-radius: 1px;
}

.mfa-fs-zoom::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 16px;
	height: 16px;
	margin-top: -7px;
	border-radius: 50%;
	border: none;
	background: radial-gradient(circle at 50% 50%, #202020 2.5px, #fff 2.5px);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
}

.mfa-fs-zoom::-moz-range-track {
	height: 2px;
	background: #fff;
	border-radius: 1px;
}

.mfa-fs-zoom::-moz-range-thumb {
	width: 16px;
	height: 16px;
	border: none;
	border-radius: 50%;
	background: radial-gradient(circle at 50% 50%, #202020 2.5px, #fff 2.5px);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
}

/*
 * Rotate control (only for objects flagged with ca_objects.mfa_rotate_control). Absolutely positioned
 * so the zoom bar keeps its exact centering; right inset matches .mfa-fs-maxslot. Fade in/out comes
 * from .mfa-fs-footer / .mfa-fs-bottom-stack idle rules below — no visibility rules of its own.
 */
.mfa-fs-rotate {
	position: absolute;
	right: 2.5rem;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: color 0.2s ease, opacity 0.2s ease, transform 0.22s ease;
}

.mfa-fs-rotate:hover,
.mfa-fs-rotate:focus-visible {
	transform: translateY(-50%) scale(1.15);
}

.mfa-fs-rotate:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
	border-radius: 2px;
}

.mfa-fs-rotate-svg {
	display: block;
	width: 1.85rem;
	height: 1.85rem;
}

/* Narrow viewports: the centered zoom bar would run under the rotate control, so tighten both. */
@media (max-width: 33rem) {
	.mfa-fullscreen-viewer.mfa-fs--rotatable .mfa-fs-rotate {
		right: 0.75rem;
	}

	.mfa-fullscreen-viewer.mfa-fs--rotatable .mfa-fs-zoom-bar {
		max-width: calc(100% - 6.5rem);
	}
}

/* Rotatable viewers only: the bitmap is sized and centered by JS inside the rotated pan box. */
.mfa-fullscreen-viewer.mfa-fs--rotatable .mfa-fs-img,
.mfa-fullscreen-viewer.mfa-fs--rotatable .mfa-fs-minimap-img {
	position: absolute;
	width: auto;
	height: auto;
	will-change: transform;
}

/* Idle (overlay): fade footer, minimap, close, and full-screen controls together. */
.mfa-fullscreen-viewer.mfa-fs--chrome-hidden .mfa-fs-bottom-stack,
.mfa-fullscreen-viewer.mfa-fs--chrome-hidden .mfa-fs-minimap,
.mfa-fullscreen-viewer.mfa-fs--chrome-hidden .mfa-fs-close-panel,
.mfa-fullscreen-viewer.mfa-fs--chrome-hidden .mfa-fs-maxslot {
	opacity: 0;
	pointer-events: none;
}

.mfa-fullscreen-viewer.mfa-fs--footer-only-hidden .mfa-fs-footer {
	opacity: 0;
	pointer-events: none;
}

/* Idle (fullscreen): also fade minimap and exit-fullscreen control. */
.mfa-fullscreen-viewer.mfa-fs--maximized.mfa-fs--footer-only-hidden .mfa-fs-chrome .mfa-fs-minimap,
.mfa-fullscreen-viewer.mfa-fs--maximized.mfa-fs--footer-only-hidden .mfa-fs-maxslot {
	opacity: 0;
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	.mfa-fs-bottom-stack,
	.mfa-fs-maxslot,
	.mfa-fs-minimap,
	.mfa-fs-footer,
	.mfa-fullscreen-viewer.mfa-fs--chrome-hidden .mfa-fs-bottom-stack,
	.mfa-fullscreen-viewer.mfa-fs--chrome-hidden .mfa-fs-minimap,
	.mfa-fullscreen-viewer.mfa-fs--chrome-hidden .mfa-fs-close-panel,
	.mfa-fullscreen-viewer.mfa-fs--chrome-hidden .mfa-fs-maxslot,
	.mfa-fullscreen-viewer.mfa-fs--footer-only-hidden .mfa-fs-footer,
	.mfa-fullscreen-viewer.mfa-fs--maximized.mfa-fs--footer-only-hidden .mfa-fs-chrome .mfa-fs-minimap,
	.mfa-fullscreen-viewer.mfa-fs--maximized.mfa-fs--footer-only-hidden .mfa-fs-maxslot {
		transition: none;
	}

	.mfa-fs-close:hover,
	.mfa-fs-close:focus-visible {
		transform: none;
	}

	.mfa-fs-rotate {
		transition: none;
	}

	.mfa-fs-rotate:hover,
	.mfa-fs-rotate:focus-visible {
		transform: translateY(-50%);
	}
}

/* -------------------------------------------------------------------------
 * Fresco browse + detail (full content width; horizontal image rails)
 * Horizontal edges align with navbar: same .mfa-page-container column, no Bootstrap gutter inset.
 * ------------------------------------------------------------------------- */

/*
 * Fresco inverted palette (browse + detail + navbar; footer keeps dark theme).
 * Revert by removing this block.
 */
body.mfa-browse-fresco {
	--mfa-fresco-bg: #f4f4f2;
	--mfa-fresco-navbar-bg: var(--mfa-fresco-bg);
	--mfa-fresco-fg: #333333;
	--mfa-fresco-fg-muted: rgba(51, 51, 51, 0.72);
	background-color: var(--mfa-fresco-bg) !important;
	color: var(--mfa-fresco-fg) !important;
}

body.mfa-detail-fresco {
	--mfa-fresco-bg: #f3f3f2;
	--mfa-fresco-navbar-bg: var(--mfa-fresco-bg);
	--mfa-fresco-fg: #333333;
	--mfa-fresco-fg-muted: rgba(51, 51, 51, 0.72);
	--mfa-fresco-chrome-top: 4.25rem;
	--mfa-fresco-hero-nav-inset-x: 90px;
	background-color: var(--mfa-fresco-bg) !important;
	color: var(--mfa-fresco-fg) !important;
}

body.mfa-browse-fresco.mfa-has-page-background,
body.mfa-detail-fresco.mfa-has-page-background {
	background-color: transparent !important;
}

body.mfa-detail-fresco #main,
body.mfa-detail-fresco #pageArea,
body.mfa-detail-fresco .mfa-page-content-wrap {
	background-color: transparent !important;
}

/* Do not flex-grow empty space below the hero (shows #f3f3f2 strip on first paint). */
body.mfa-detail-fresco .mfa-page-content-wrap {
	flex: 0 0 auto;
	min-height: 0;
	width: 100%;
	overflow: visible;
	position: relative;
	z-index: 1;
}

/*
 * Fresco detail first strip: same stack as body.mfa-browse (wrap ::before = 1× viewport photo).
 */
body.mfa-detail-fresco.mfa-has-page-background .mfa-page-background-wrap {
	background-image: none;
	flex: 0 0 auto;
	min-height: 0;
}

/* Fresco detail hero background: clipped stack (cover + zoom, no pseudo overflow). */
body.mfa-detail-fresco.mfa-has-page-background .mfa-page-background-wrap::before,
body.mfa-detail-fresco.mfa-has-page-background .mfa-page-background-wrap::after {
	content: none;
	display: none;
}

.mfa-fresco-hero-bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100vh;
	height: 100svh;
	overflow: hidden;
	z-index: 0;
	pointer-events: none;
}

/* Hero photo: fixed behind page content (z-index 0); text/nav stay above in .mfa-page-content-wrap. */
body.mfa-detail-fresco.mfa-has-page-background .mfa-fresco-hero-bg {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 100svh;
	height: 100dvh;
	z-index: 0;
	opacity: var(--mfa-hero-bg-opacity, 1);
}

body.mfa-detail-fresco.mfa-fresco-hero-bg-off .mfa-fresco-hero-bg {
	opacity: 0;
	visibility: hidden;
}

.mfa-fresco-hero-bg__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-image: var(--mfa-page-bg-image);
	background-size: cover;
	/* Computed so Providence _CENTER lands at viewport center (see mfa-fresco-detail.js). */
	background-position: var(--mfa-hero-bg-pos-x, 50%) var(--mfa-hero-bg-pos-y, 50%);
	background-repeat: no-repeat;
	filter: brightness(var(--mfa-hero-bg-brightness, 0.72));
	transform: scale(var(--mfa-hero-bg-scale, 1.12));
	transform-origin: center center;
	will-change: transform, filter;
}

.mfa-fresco-hero-bg__veil {
	display: none;
}

body.mfa-detail-fresco.mfa-has-page-background > footer.mfa-site-footer {
	margin-top: -1px;
	position: relative;
	z-index: 1;
}

body.mfa-detail-fresco #pageArea,
body.mfa-detail-fresco #main,
body.mfa-detail-fresco .mfa-page-content-wrap,
body.mfa-detail-fresco .mfa-page-content-wrap > .container.mfa-page-container,
body.mfa-detail-fresco .mfa-page-content-wrap > .container.mfa-page-container > .row,
body.mfa-detail-fresco .mfa-page-content-wrap > .container.mfa-page-container > .row > .col-xs-12,
body.mfa-detail-fresco .mfa-fresco-site {
	overflow: visible;
}

html:has(body.mfa-browse-fresco) {
	background-color: #f4f4f2;
}

html:has(body.mfa-detail-fresco) {
	background-color: #f3f3f2;
	overflow-x: clip;
}

html:has(body.mfa-detail-fresco.mfa-fresco-chrome-past-hero) {
	background-color: #ffffff;
}

body.mfa-detail-fresco.mfa-fresco-chrome-past-hero {
	background-color: #ffffff !important;
}

body.mfa-detail-fresco.mfa-fresco-chrome-past-hero.mfa-has-page-background #main,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero.mfa-has-page-background #pageArea,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero.mfa-has-page-background .mfa-page-content-wrap {
	background-color: #ffffff !important;
}

body.mfa-browse-fresco.mfa-has-page-background .mfa-page-background-wrap {
	background-image: var(--mfa-page-bg-image);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}

/* Full-viewport photo layer behind navbar + content (browse fresco only; detail uses hero primary). */
body.mfa-browse-fresco.mfa-has-page-background .mfa-page-background-wrap::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	height: 100svh;
	height: 100dvh;
	box-sizing: border-box;
	background-image: var(--mfa-page-bg-image);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	z-index: 0;
	pointer-events: none;
}

/* Light top band over the photo (navbar stays readable; image still visible underneath). */
body.mfa-browse-fresco.mfa-has-page-background .mfa-page-background-wrap::after {
	z-index: 1;
	background: linear-gradient(
		to bottom,
		rgba(244, 244, 242, 0.72) 0%,
		rgba(244, 244, 242, 0.44) 38%,
		rgba(244, 244, 242, 0.16) 72%,
		transparent 100%
	);
}

body.mfa-browse-fresco.mfa-has-page-background .mfa-page-background-wrap > nav.navbar,
body.mfa-detail-fresco.mfa-has-page-background .mfa-page-background-wrap > nav.navbar {
	z-index: 1030;
}

body.mfa-browse-fresco.mfa-has-page-background .mfa-page-background-wrap > .mfa-page-content-wrap,
body.mfa-detail-fresco.mfa-has-page-background .mfa-page-background-wrap > .mfa-page-content-wrap {
	z-index: 2;
}

body.mfa-browse-fresco.mfa-has-page-background #main,
body.mfa-browse-fresco.mfa-has-page-background #pageArea,
body.mfa-detail-fresco.mfa-has-page-background #main,
body.mfa-detail-fresco.mfa-has-page-background #pageArea,
body.mfa-browse-fresco.mfa-has-page-background .mfa-page-content-wrap,
body.mfa-detail-fresco.mfa-has-page-background .mfa-page-content-wrap {
	background-color: transparent !important;
}

body.mfa-browse-fresco nav.navbar.navbar-default,
body.mfa-detail-fresco nav.navbar.navbar-default,
body.mfa-browse-fresco > nav.navbar.navbar-default,
body.mfa-detail-fresco > nav.navbar.navbar-default {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	box-shadow: none !important;
}

body.mfa-browse-fresco.mfa-has-page-background nav.navbar.navbar-default,
body.mfa-detail-fresco.mfa-has-page-background nav.navbar.navbar-default,
body.mfa-browse-fresco.mfa-has-page-background > nav.navbar.navbar-default,
body.mfa-detail-fresco.mfa-has-page-background > nav.navbar.navbar-default {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}

body.mfa-browse-fresco #skipNavigation a,
body.mfa-browse-fresco nav.navbar .navbar-nav > li > a,
body.mfa-browse-fresco nav.navbar .navbar-brand,
body.mfa-browse-fresco nav.navbar .mfa-navbar-languages > li > a,
body.mfa-browse-fresco .navbar-default .navbar-nav > li > a:hover,
body.mfa-browse-fresco .navbar-default .navbar-nav > li > a:focus,
body.mfa-browse-fresco .navbar-default .navbar-nav > .active > a,
body.mfa-browse-fresco .navbar-default .navbar-nav > .active > a:hover,
body.mfa-browse-fresco .navbar-default .navbar-nav > .active > a:focus,
body.mfa-browse-fresco .navbar-default .navbar-nav > .open > a {
	color: var(--mfa-fresco-fg) !important;
	background-color: transparent !important;
}

body.mfa-detail-fresco.mfa-fresco-chrome-past-hero #skipNavigation a,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero nav.navbar .navbar-nav > li > a,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero nav.navbar .navbar-brand,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero nav.navbar .mfa-navbar-languages > li > a,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero .navbar-default .navbar-nav > li > a:hover,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero .navbar-default .navbar-nav > li > a:focus,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero .navbar-default .navbar-nav > .active > a,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero .navbar-default .navbar-nav > .active > a:hover,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero .navbar-default .navbar-nav > .active > a:focus,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero .navbar-default .navbar-nav > .open > a {
	color: var(--mfa-fresco-fg) !important;
	background-color: transparent !important;
}

body.mfa-browse-fresco nav.navbar .mfa-navbar-menu-primary > li > a::after,
body.mfa-browse-fresco nav.navbar .mfa-navbar-languages > li > a::after {
	background-color: var(--mfa-fresco-fg);
}

body.mfa-detail-fresco.mfa-fresco-chrome-past-hero nav.navbar .mfa-navbar-menu-primary > li > a::after,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero nav.navbar .mfa-navbar-languages > li > a::after {
	background-color: var(--mfa-fresco-fg);
}

body.mfa-browse-fresco nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu,
body.mfa-detail-fresco nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu {
	background-color: var(--mfa-fresco-navbar-bg);
	border: 1px solid rgba(51, 51, 51, 0.12);
}

body.mfa-browse-fresco nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li > a,
body.mfa-detail-fresco nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li > a {
	color: var(--mfa-fresco-fg-muted) !important;
	-webkit-text-fill-color: var(--mfa-fresco-fg-muted);
}

body.mfa-browse-fresco nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li:not(.active) > a:hover,
body.mfa-browse-fresco nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li:not(.active) > a:focus-visible,
body.mfa-detail-fresco nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li:not(.active) > a:hover,
body.mfa-detail-fresco nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li:not(.active) > a:focus-visible {
	color: var(--mfa-fresco-fg) !important;
	-webkit-text-fill-color: var(--mfa-fresco-fg);
}

body.mfa-browse-fresco nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li.active > a,
body.mfa-browse-fresco nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li.active > a:hover,
body.mfa-detail-fresco nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li.active > a,
body.mfa-detail-fresco nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li.active > a:hover {
	color: var(--mfa-fresco-fg) !important;
	-webkit-text-fill-color: var(--mfa-fresco-fg);
}

@media (max-width: 767px) {
	body.mfa-browse-fresco .navbar-default .navbar-collapse,
	body.mfa-browse-fresco .navbar-default .navbar-collapse.in,
	body.mfa-browse-fresco .navbar-default .navbar-collapse.collapsing,
	body.mfa-detail-fresco.mfa-fresco-chrome-past-hero .navbar-default .navbar-collapse,
	body.mfa-detail-fresco.mfa-fresco-chrome-past-hero .navbar-default .navbar-collapse.in,
	body.mfa-detail-fresco.mfa-fresco-chrome-past-hero .navbar-default .navbar-collapse.collapsing {
		background-color: var(--mfa-fresco-navbar-bg) !important;
	}

	body.mfa-browse-fresco.mfa-has-page-background .navbar-default .navbar-collapse,
	body.mfa-browse-fresco.mfa-has-page-background .navbar-default .navbar-collapse.in,
	body.mfa-browse-fresco.mfa-has-page-background .navbar-default .navbar-collapse.collapsing {
		background-color: #f4f4f2 !important;
	}

	body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) .navbar-default .navbar-collapse,
	body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) .navbar-default .navbar-collapse.in,
	body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) .navbar-default .navbar-collapse.collapsing {
		background-color: #141414 !important;
	}

	body.mfa-browse-fresco nav.navbar.navbar-default .mfa-navbar-languages .open > .dropdown-menu,
	body.mfa-detail-fresco.mfa-fresco-chrome-past-hero nav.navbar.navbar-default .mfa-navbar-languages .open > .dropdown-menu {
		background-color: var(--mfa-fresco-navbar-bg) !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	body.mfa-browse-fresco.mfa-has-page-background nav.navbar.navbar-default .mfa-navbar-languages .open > .dropdown-menu {
		background-color: #f4f4f2 !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) nav.navbar.navbar-default .mfa-navbar-languages .open > .dropdown-menu {
		background-color: #141414 !important;
		border: 0 !important;
		box-shadow: none !important;
	}
}

body.mfa-browse-fresco #main,
body.mfa-browse-fresco #pageArea,
body.mfa-detail-fresco #main,
body.mfa-detail-fresco #pageArea,
body.mfa-browse-fresco #main h1,
body.mfa-browse-fresco #main h2:not(.mfa-fresco-browse__card-title),
body.mfa-browse-fresco #main h3,
body.mfa-browse-fresco #main p,
body.mfa-browse-fresco #main li,
body.mfa-browse-fresco #main label,
body.mfa-browse-fresco #pageArea h1,
body.mfa-browse-fresco #pageArea h2:not(.mfa-fresco-browse__card-title),
body.mfa-browse-fresco #pageArea h3,
body.mfa-browse-fresco #pageArea p,
body.mfa-browse-fresco #pageArea li,
body.mfa-browse-fresco #pageArea label,
body.mfa-detail-fresco #main h2:not(.mfa-fresco-journey__label):not(.mfa-fresco-site__photograph-label):not(.mfa-fresco-site__architecture-photo-label):not(.mfa-fresco-site__architecture-flyer-label):not(.mfa-fresco-site__architecture-title),
body.mfa-detail-fresco #main h3,
body.mfa-detail-fresco #main p:not(.mfa-fresco-site__date):not(.mfa-fresco-site__kind),
body.mfa-detail-fresco #main li,
body.mfa-detail-fresco #main label,
body.mfa-detail-fresco #pageArea h1:not(.mfa-detail-object-hero-title),
body.mfa-detail-fresco #pageArea h2:not(.mfa-fresco-journey__label):not(.mfa-fresco-site__photograph-label):not(.mfa-fresco-site__architecture-photo-label):not(.mfa-fresco-site__architecture-flyer-label):not(.mfa-fresco-site__architecture-title),
body.mfa-detail-fresco #pageArea h3,
body.mfa-detail-fresco #pageArea p:not(.mfa-fresco-site__date):not(.mfa-fresco-site__kind):not(.mfa-fresco-site__hero-meta-row),
body.mfa-detail-fresco #pageArea li,
body.mfa-detail-fresco #pageArea label,
body.mfa-browse-fresco #pageArea .mfa-home-hero-title,
body.mfa-detail-fresco .mfa-page-content-wrap a:not(.mfa-fresco-browse__card-link):not(.mfa-fresco-journey__zoom) {
	color: var(--mfa-fresco-fg) !important;
}

body.mfa-detail-fresco #main .mfa-fresco-journey__label,
body.mfa-detail-fresco #main .mfa-fresco-journey__label p,
body.mfa-detail-fresco #pageArea .mfa-fresco-journey__label,
body.mfa-detail-fresco #pageArea .mfa-fresco-journey__label p {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-weight: 400 !important;
	text-transform: none !important;
}

body.mfa-detail-fresco .mfa-fresco-site__photograph-label,
body.mfa-detail-fresco .mfa-fresco-site__architecture-photo-label,
body.mfa-detail-fresco .mfa-fresco-site__architecture-flyer-label,
body.mfa-detail-fresco .mfa-fresco-site__architecture-title {
	font-weight: 400 !important;
}

body.mfa-browse-fresco .mfa-fresco-browse__count {
	color: var(--mfa-fresco-fg-muted) !important;
}

body.mfa-browse-fresco .mfa-fresco-browse__scroll-hint,
body.mfa-browse-fresco .mfa-fresco-browse__edge {
	color: var(--mfa-fresco-fg) !important;
}

body.mfa-browse-fresco .navbar-default .navbar-toggle .icon-bar,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero .navbar-default .navbar-toggle .icon-bar {
	background-color: var(--mfa-fresco-fg);
}

body.mfa-browse-fresco .navbar-default .navbar-toggle,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero .navbar-default .navbar-toggle {
	color: var(--mfa-fresco-fg);
}

body.mfa-browse-fresco .navbar-default .navbar-toggle .glyphicon,
body.mfa-detail-fresco.mfa-fresco-chrome-past-hero .navbar-default .navbar-toggle .glyphicon {
	color: var(--mfa-fresco-fg);
}

/* Text on image overlays: never use inverted fresco fg (must stay light on photos). */
body.mfa-browse-fresco #main .mfa-fresco-browse__card-media .mfa-fresco-browse__card-overlay,
body.mfa-browse-fresco #pageArea .mfa-fresco-browse__card-media .mfa-fresco-browse__card-overlay,
body.mfa-browse-fresco #main .mfa-fresco-browse__card-media .mfa-fresco-browse__card-overlay *,
body.mfa-browse-fresco #pageArea .mfa-fresco-browse__card-media .mfa-fresco-browse__card-overlay *,
body.mfa-browse-fresco #main .mfa-fresco-browse__card-media h2.mfa-fresco-browse__card-title,
body.mfa-browse-fresco #pageArea .mfa-fresco-browse__card-media h2.mfa-fresco-browse__card-title {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body.mfa-browse-fresco > footer.mfa-site-footer,
body.mfa-detail-fresco > footer.mfa-site-footer {
	/* Footer unchanged: stays on dark palette */
	margin-top: auto;
}

body.mfa-browse-fresco #pageArea,
body.mfa-detail-fresco #pageArea {
	padding-top: 0;
}

/*
 * Shell: cancel Bootstrap .row / .col gutters inside .mfa-page-container so #pageArea spans the
 * same column as nav links (navbar has no inner .row).
 */
body.mfa-browse-fresco .mfa-page-content-wrap > .container.mfa-page-container > .row,
body.mfa-detail-fresco .mfa-page-content-wrap > .container.mfa-page-container > .row {
	margin-left: 0;
	margin-right: 0;
}

body.mfa-browse-fresco .mfa-page-content-wrap > .container.mfa-page-container > .row > .col-xs-12,
body.mfa-detail-fresco .mfa-page-content-wrap > .container.mfa-page-container > .row > .col-xs-12 {
	padding-left: 0;
	padding-right: 0;
}

body.mfa-browse-fresco #main,
body.mfa-browse-fresco #pageArea,
body.mfa-detail-fresco #main,
body.mfa-detail-fresco #pageArea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

body.mfa-browse-fresco .mfa-page-content-wrap {
	/* Visible so the edge chevron can sit in the page gutter past the content column. */
	overflow-x: visible;
}

/* Allow edge chevron to sit in the page gutter (past content column). */
body.mfa-browse-fresco .mfa-page-content-wrap > .container.mfa-page-container,
body.mfa-browse-fresco .mfa-page-content-wrap > .container.mfa-page-container > .row,
body.mfa-browse-fresco .mfa-page-content-wrap > .container.mfa-page-container > .row > .col-xs-12 {
	overflow: visible;
}

body.mfa-detail-fresco .mfa-page-content-wrap {
	overflow-x: visible;
}

body.mfa-browse-fresco .mfa-page-content-wrap > .container.mfa-page-container {
	padding-top: 30px !important;
	padding-bottom: 90px;
}

body.mfa-detail-fresco .mfa-page-content-wrap > .container.mfa-page-container {
	padding-top: 0 !important;
	padding-bottom: 90px;
}

@media (max-width: 991px) {
	body.mfa-detail-fresco {
		--mfa-fresco-hero-nav-inset-x: 28px;
	}

	body.mfa-browse-fresco .mfa-page-content-wrap > .container.mfa-page-container,
	body.mfa-detail-fresco .mfa-page-content-wrap > .container.mfa-page-container {
		padding-bottom: 72px;
	}

	body.mfa-browse-fresco .mfa-page-content-wrap > .container.mfa-page-container {
		padding-top: 24px !important;
	}
}

@media (max-width: 767px) {
	body.mfa-detail-fresco {
		--mfa-fresco-hero-nav-inset-x: 21px;
	}

	body.mfa-browse-fresco .mfa-page-content-wrap > .container.mfa-page-container,
	body.mfa-detail-fresco .mfa-page-content-wrap > .container.mfa-page-container {
		padding-bottom: 75px;
	}

	body.mfa-browse-fresco .mfa-page-content-wrap > .container.mfa-page-container {
		padding-top: 25px !important;
	}
}

.mfa-fresco-browse {
	--mfa-fresco-browse-gutter-x: 90px;
	position: relative;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-height: calc(100vh - 120px);
	padding: 0 0 2.5rem;
}

@media (max-width: 991px) {
	.mfa-fresco-browse {
		--mfa-fresco-browse-gutter-x: 28px;
	}
}

@media (max-width: 767px) {
	.mfa-fresco-browse {
		--mfa-fresco-browse-gutter-x: 21px;
	}
}

/* Single horizontal scroller: intro (50%) + object cards move together */
.mfa-fresco-browse__track {
	--mfa-fresco-browse-gap: 1.875rem;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: var(--mfa-fresco-browse-gap);
	overflow-x: auto;
	overflow-y: hidden;
	width: 100%;
	min-height: min(78vh, 820px);
	padding: 0 0 1.25rem;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.mfa-fresco-browse__intro {
	flex: 0 0 50%;
	width: 50%;
	min-width: 50%;
	box-sizing: border-box;
	padding: 0 1.5rem 0 0;
	margin-right: var(--mfa-fresco-browse-gap, 1.875rem);
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.mfa-fresco-browse__intro .mfa-home-hero {
	display: block;
	margin: 0;
	min-width: 0;
}

.mfa-fresco-browse__intro-text {
	font-size: 1.05rem;
	line-height: 1.55;
	max-width: none;
}

.mfa-fresco-browse__intro-text p {
	margin: 0 0 1rem;
}

.mfa-fresco-browse__count {
	margin: 1.5rem 0 0;
	font-size: 0.95rem;
	opacity: 0.75;
}

.mfa-fresco-browse__scroll-hint {
	align-self: flex-start;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 0.45em;
	margin: 1.25rem 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: 'Source Sans 3', sans-serif;
	/* Match intro body (.mfa-fresco-browse__intro-text). */
	font-size: 1.05rem;
	font-weight: 350;
	letter-spacing: 0.02em;
	line-height: 1.4;
	color: var(--mfa-fresco-fg, #333333);
	cursor: pointer;
	opacity: 0.88;
	visibility: visible;
	transform: none;
	transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
}

.mfa-fresco-browse__scroll-hint:hover,
.mfa-fresco-browse__scroll-hint:focus-visible {
	opacity: 1;
	outline: none;
}

.mfa-fresco-browse__scroll-hint:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.mfa-fresco-browse__scroll-hint.is-dismissed {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(0.35rem);
}

.mfa-fresco-browse__scroll-hint-label {
	font-size: inherit;
	font-weight: inherit;
}

.mfa-fresco-browse__scroll-hint-arrow {
	display: inline-flex;
	font-size: 1.15em;
	animation: mfa-fresco-browse-scroll-bob-x 2s ease-in-out infinite;
}

.mfa-fresco-browse__scroll-hint-arrow svg {
	display: block;
}

/* Edge chevron button in page gutter (outside content margins; does not cover the card rail). */
.mfa-fresco-browse__edge {
	position: absolute;
	top: 50%;
	/* Center horizontally in the page gutter (half inset + self-center). */
	right: calc(-0.5 * var(--mfa-fresco-browse-gutter-x, 90px));
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0.5rem;
	border: 0;
	background: transparent;
	font: inherit;
	color: var(--mfa-fresco-fg, #333333);
	cursor: pointer;
	transform: translate(50%, -50%);
	opacity: 0.78;
	visibility: visible;
	transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
}

.mfa-fresco-browse__edge:hover,
.mfa-fresco-browse__edge:focus-visible {
	opacity: 1;
	outline: none;
}

.mfa-fresco-browse__edge:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.mfa-fresco-browse__edge.is-dismissed {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.mfa-fresco-browse__edge-chevron {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(1.75rem, 1.4rem + 1vw, 2.25rem);
	line-height: 1;
}

.mfa-fresco-browse__edge-chevron svg {
	display: block;
	animation: mfa-fresco-browse-scroll-bob-x 2s ease-in-out infinite;
}

@keyframes mfa-fresco-browse-scroll-bob-x {
	0%, 100% { transform: translateX(0); }
	50% { transform: translateX(0.35rem); }
}

@media (max-width: 767px) {
	.mfa-fresco-browse__edge {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mfa-fresco-browse__scroll-hint,
	.mfa-fresco-browse__edge {
		transition-duration: 0.01ms;
	}

	.mfa-fresco-browse__scroll-hint-arrow,
	.mfa-fresco-browse__edge-chevron svg {
		animation: none;
	}

	.mfa-fresco-browse__scroll-hint.is-dismissed {
		transform: none;
	}
}

.mfa-fresco-browse__card {
	flex: 0 0 clamp(200px, 25.2vw, 342px);
	scroll-snap-align: start;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.mfa-fresco-browse__card-link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	color: inherit;
	text-decoration: none;
	height: 100%;
	min-height: min(72vh, 760px);
	border-radius: 12px;
	overflow: hidden;
}

.mfa-fresco-browse__card-link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.mfa-fresco-browse__card-media {
	position: relative;
	flex: 1 1 auto;
	min-height: min(72vh, 760px);
	border-radius: 12px;
	overflow: hidden;
	isolation: isolate;
}

.mfa-fresco-browse__card-media::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: var(--mfa-fresco-card-bg);
	background-size: cover;
	background-position: center;
	transition: transform 0.35s ease;
	will-change: transform;
}

.mfa-fresco-browse__card-link:hover .mfa-fresco-browse__card-media::before,
.mfa-fresco-browse__card-link:focus-visible .mfa-fresco-browse__card-media::before {
	transform: scale(1.02);
}

.mfa-fresco-browse__card-overlay {
	position: absolute;
	inset: auto 0 0 0;
	z-index: 1;
	padding: 2.5rem 1.75rem 1.75rem;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.72) 100%);
	color: #fff;
}

.mfa-fresco-browse__card-title {
	margin: 0;
	font-size: clamp(1.25rem, 2.2vw, 1.85rem);
	line-height: 1.2;
	font-weight: 400;
}

.mfa-fresco-browse__empty {
	margin: 2rem 0;
	font-size: 1.05rem;
	opacity: 0.8;
}

/* Fresco detail micro-site (3 blocks: hero, scrollytelling curtains, architecture) */
body.mfa-detail-fresco .mfa-fresco-site {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	background-color: transparent;
}

/* Bloc 1 — hero overlay on page-background-wrap photo (Browse artworks stack). */
.mfa-fresco-site__hero {
	--mfa-hero-exit: 0;
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: stretch;
	align-items: center;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	min-height: calc(100vh - var(--mfa-fresco-chrome-top, 4.25rem));
	min-height: calc(100svh - var(--mfa-fresco-chrome-top, 4.25rem));
	padding: 0;
	box-sizing: border-box;
	overflow: visible;
	background: transparent;
	text-align: center;
}

.mfa-fresco-site__hero-scrim {
	display: none;
}

.mfa-fresco-site__hero-inner {
	position: relative;
	z-index: 2;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	max-width: min(57.5rem, 92vw);
	margin: 0 auto;
	padding: 0 clamp(1.25rem, 4vw, 3.5rem);
	box-sizing: border-box;
	opacity: calc(1 - var(--mfa-hero-exit, 0));
	transform: scale(calc(1 - var(--mfa-hero-exit, 0) * 0.06));
	transform-origin: center center;
}

.mfa-fresco-site__hero-copy {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

body.mfa-detail-fresco #pageArea h1.mfa-fresco-site__title.mfa-detail-object-hero-title,
body.mfa-detail-fresco #main #pageArea h1.mfa-fresco-site__title.mfa-detail-object-hero-title {
	text-align: center !important;
	transform: none;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body.mfa-detail-fresco #pageArea .mfa-fresco-site__intro,
body.mfa-detail-fresco #pageArea .mfa-fresco-site__intro p {
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem) !important;
	line-height: 1.45 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body.mfa-detail-fresco #pageArea .mfa-fresco-site__hero-meta,
body.mfa-detail-fresco #pageArea.detail .mfa-fresco-site__hero-meta,
body.mfa-detail-fresco #main #pageArea .mfa-fresco-site__hero-meta {
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(2rem, 1.9rem + 0.6vw, 2.4rem) !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.02em;
	color: rgba(210, 210, 208, 0.92) !important;
	-webkit-text-fill-color: rgba(210, 210, 208, 0.92) !important;
	text-transform: none;
}

body.mfa-detail-fresco #pageArea .mfa-fresco-site__kind.mfa-fresco-site__hero-meta,
body.mfa-detail-fresco #pageArea.detail .mfa-fresco-site__kind.mfa-fresco-site__hero-meta,
body.mfa-detail-fresco #main #pageArea .mfa-fresco-site__kind.mfa-fresco-site__hero-meta {
	text-transform: uppercase;
}

body.mfa-detail-fresco #pageArea p.mfa-fresco-site__hero-meta-row,
body.mfa-detail-fresco #pageArea.detail p.mfa-fresco-site__hero-meta-row,
body.mfa-detail-fresco #main #pageArea p.mfa-fresco-site__hero-meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 0.35em 0.5em;
	margin: clamp(2rem, 4.5vh, 3.25rem) 0 0 !important;
}

.mfa-fresco-site__hero-meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 0.35em 0.5em;
	margin: clamp(2rem, 4.5vh, 3.25rem) 0 0;
}

.mfa-fresco-site__hero-meta-sep {
	opacity: 0.72;
	font-weight: 400;
	line-height: 1;
}

.mfa-fresco-site__kind,
.mfa-fresco-site__date {
	margin: 0;
}

.mfa-fresco-site__hero-meta {
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(2rem, 1.9rem + 0.6vw, 2.4rem);
	font-weight: 500;
	line-height: 1.2;
	color: rgba(210, 210, 208, 0.92);
	text-transform: none;
	letter-spacing: 0.02em;
}

.mfa-fresco-site__intro {
	margin-top: clamp(2rem, 4.5vh, 3.25rem);
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	font-weight: 350;
	line-height: 1.45;
	max-width: 47.5rem;
	color: #ffffff;
	text-transform: none;
}

.mfa-fresco-site__intro p {
	margin: 0 0 0.75em;
	font-weight: 350;
	color: #ffffff;
}

body.mfa-detail-fresco .mfa-fresco-site__intro strong,
body.mfa-detail-fresco .mfa-fresco-site__intro b {
	font-weight: 350 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.mfa-fresco-site__intro p:last-child {
	margin-bottom: 0;
}

.mfa-fresco-site__chrome-br {
	position: fixed;
	right: max(1rem, env(safe-area-inset-right, 0px));
	bottom: max(1rem, env(safe-area-inset-bottom, 0px));
	z-index: 60;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
}

.mfa-fresco-site__fullscreen,
.mfa-fresco-site__audio-mute {
	position: relative;
	right: auto;
	bottom: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.42);
	color: #ffffff;
	cursor: pointer;
	opacity: 0.88;
	transition: opacity 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.mfa-fresco-site__fullscreen:hover,
.mfa-fresco-site__fullscreen:focus,
.mfa-fresco-site__audio-mute:hover,
.mfa-fresco-site__audio-mute:focus {
	opacity: 1;
	background: rgba(0, 0, 0, 0.55);
	border-color: rgba(255, 255, 255, 0.55);
}

.mfa-fresco-site__fullscreen:focus-visible,
.mfa-fresco-site__audio-mute:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.85);
	outline-offset: 2px;
}

.mfa-fresco-site__fullscreen-icon,
.mfa-fresco-site__audio-mute-icon {
	display: none;
	width: 1.25rem;
	height: 1.25rem;
	line-height: 0;
}

.mfa-fresco-site__fullscreen-icon svg,
.mfa-fresco-site__audio-mute-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.mfa-fresco-site__fullscreen:not(.is-fullscreen) .mfa-fresco-site__fullscreen-icon--enter,
.mfa-fresco-site__fullscreen.is-fullscreen .mfa-fresco-site__fullscreen-icon--exit,
.mfa-fresco-site__audio-mute:not(.is-muted) .mfa-fresco-site__audio-mute-icon--on,
.mfa-fresco-site__audio-mute.is-muted .mfa-fresco-site__audio-mute-icon--off {
	display: block;
}

/* --- Fresco detail back-to-top (mfa-fresco-back-to-top.js; additive, removable) --- */
/* Visual tokens aligned with mute/fullscreen chrome; keeps square + top-right. */
body.mfa-detail-fresco .mfa-fresco-back-to-top {
	box-sizing: border-box;
	position: fixed;
	top: max(1rem, env(safe-area-inset-top, 0px));
	right: max(1rem, env(safe-area-inset-right, 0px));
	z-index: 1025;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	padding: 0;
	border-radius: 0;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: rgba(0, 0, 0, 0.42);
	color: #ffffff;
	line-height: 1;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.45s ease,
		visibility 0s linear 0.45s,
		background-color 0.25s ease,
		border-color 0.25s ease;
}

body.mfa-detail-fresco .mfa-fresco-back-to-top.is-visible {
	opacity: 0.88;
	visibility: visible;
	pointer-events: auto;
	transition:
		opacity 0.45s ease,
		visibility 0s linear 0s,
		background-color 0.25s ease,
		border-color 0.25s ease;
}

body.mfa-detail-fresco .mfa-fresco-back-to-top:hover,
body.mfa-detail-fresco .mfa-fresco-back-to-top:focus {
	opacity: 1;
	background: rgba(0, 0, 0, 0.55);
	border-color: rgba(255, 255, 255, 0.55);
	color: #ffffff;
}

body.mfa-detail-fresco .mfa-fresco-back-to-top:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.85);
	outline-offset: 2px;
}

body.mfa-detail-fresco .mfa-fresco-back-to-top__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	line-height: 0;
}

body.mfa-detail-fresco .mfa-fresco-back-to-top__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

@media (prefers-reduced-motion: reduce) {
	body.mfa-detail-fresco .mfa-fresco-back-to-top,
	body.mfa-detail-fresco .mfa-fresco-back-to-top.is-visible {
		transition-duration: 0.01ms;
		transition-delay: 0s;
	}
}
/* --- end Fresco detail back-to-top --- */

.mfa-fresco-site__scroll-hint {

	position: absolute;
	left: 50%;
	bottom: clamp(2.5rem, 6vh, 4rem);
	z-index: 4;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.55em;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	font-weight: 350;
	line-height: 1.45;
	color: #ffffff;
	cursor: pointer;
	transform: translateX(-50%);
	opacity: calc(0.9 - var(--mfa-hero-exit, 0) * 0.9);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.mfa-fresco-site__scroll-hint:hover,
.mfa-fresco-site__scroll-hint:focus {
	opacity: 1;
	outline: none;
}

.mfa-fresco-site__scroll-hint-label {
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: 0;
	text-transform: none;
}

.mfa-fresco-site__scroll-hint-arrow {
	animation: mfa-fresco-scroll-bob 2s ease-in-out infinite;
}

.mfa-fresco-site__hero-nav {
	position: absolute;
	inset: 0;
	z-index: 4;
	pointer-events: none;
}

.mfa-fresco-site__hero-nav-btn {
	position: absolute;
	top: 50%;
	display: inline-flex;
	align-items: center;
	padding: 0;
	border: 0;
	background: transparent;
	color: #ffffff;
	text-decoration: none;
	cursor: pointer;
	pointer-events: auto;
	transform: translateY(-50%);
	opacity: calc(1 - var(--mfa-hero-exit, 0));
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.mfa-fresco-site__hero-nav-btn--prev {
	left: var(--mfa-fresco-hero-nav-inset-x, 90px);
	justify-content: flex-start;
}

.mfa-fresco-site__hero-nav-btn--next {
	right: var(--mfa-fresco-hero-nav-inset-x, 90px);
	justify-content: flex-end;
}

.mfa-fresco-site__hero-nav-hit {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	transition: background-color 0.25s ease;
}

.mfa-fresco-site__hero-nav-btn:hover .mfa-fresco-site__hero-nav-hit,
.mfa-fresco-site__hero-nav-btn:focus-visible .mfa-fresco-site__hero-nav-hit,
.mfa-fresco-site__hero-nav-btn:focus-within .mfa-fresco-site__hero-nav-hit {
	background-color: rgba(255, 255, 255, 0.18);
}

.mfa-fresco-site__hero-nav-icon {
	display: inline-flex;
	flex: 0 0 auto;
	font-size: clamp(1.75rem, 1.5rem + 1vw, 2.25rem);
	line-height: 1;
	color: #ffffff;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
}

.mfa-fresco-site__hero-nav-icon svg {
	display: block;
	stroke-width: 1.75;
}

.mfa-fresco-site__hero-nav-preview {
	position: absolute;
	bottom: calc(100% + 0.55rem);
	left: 50%;
	top: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.45rem;
	width: max-content;
	max-width: min(14rem, 42vw);
	text-align: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(-50%) translateY(0.35rem);
	transition: opacity 0.28s ease, visibility 0.28s ease, transform 0.28s ease;
}

.mfa-fresco-site__hero-nav-preview-media {
	display: block;
	width: 7.5rem;
	height: 4.25rem;
	border-radius: 0.2rem;
	border: 1px solid rgba(255, 255, 255, 0.55);
	background-color: rgba(0, 0, 0, 0.35);
	background-image: var(--mfa-preview-bg);
	background-size: cover;
	background-position: center center;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}

.mfa-fresco-site__hero-nav-preview-title {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.875rem, 0.82rem + 0.2vw, 1rem);
	font-weight: 400;
	line-height: 1.3;
	color: #ffffff;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.65);
}

.mfa-fresco-site__hero-nav-btn:hover .mfa-fresco-site__hero-nav-preview,
.mfa-fresco-site__hero-nav-btn:focus-visible .mfa-fresco-site__hero-nav-preview,
.mfa-fresco-site__hero-nav-btn:focus-within .mfa-fresco-site__hero-nav-preview {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.mfa-fresco-site__hero-nav-btn:hover,
.mfa-fresco-site__hero-nav-btn:focus {
	opacity: calc(1 - var(--mfa-hero-exit, 0));
	outline: none;
}

.mfa-fresco-site__hero-nav-btn:focus-visible {
	outline: none;
}

.mfa-fresco-site__hero-nav-btn:focus-visible .mfa-fresco-site__hero-nav-hit {
	outline: 2px solid rgba(255, 255, 255, 0.92);
	outline-offset: 3px;
}

@keyframes mfa-fresco-scroll-bob {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(0.35rem); }
}

/* Hero zone: light chrome over the fresco image (Browse artworks nav on photo). */
body.mfa-detail-fresco.mfa-fresco-chrome-light #skipNavigation a,
body.mfa-detail-fresco.mfa-fresco-chrome-light nav.navbar .navbar-nav > li > a,
body.mfa-detail-fresco.mfa-fresco-chrome-light nav.navbar .navbar-brand,
body.mfa-detail-fresco.mfa-fresco-chrome-light nav.navbar .mfa-navbar-languages > li > a,
body.mfa-detail-fresco.mfa-fresco-chrome-light .navbar-default .navbar-nav > li > a:hover,
body.mfa-detail-fresco.mfa-fresco-chrome-light .navbar-default .navbar-nav > li > a:focus,
body.mfa-detail-fresco.mfa-fresco-chrome-light .navbar-default .navbar-nav > .active > a,
body.mfa-detail-fresco.mfa-fresco-chrome-light .navbar-default .navbar-nav > .active > a:hover,
body.mfa-detail-fresco.mfa-fresco-chrome-light .navbar-default .navbar-nav > .active > a:focus,
body.mfa-detail-fresco.mfa-fresco-chrome-light .navbar-default .navbar-nav > .open > a,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) #skipNavigation a,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) nav.navbar .navbar-nav > li > a,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) nav.navbar .navbar-brand,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) nav.navbar .mfa-navbar-languages > li > a,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) .navbar-default .navbar-nav > li > a:hover,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) .navbar-default .navbar-nav > li > a:focus,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) .navbar-default .navbar-nav > .active > a,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) .navbar-default .navbar-nav > .active > a:hover,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) .navbar-default .navbar-nav > .active > a:focus,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) .navbar-default .navbar-nav > .open > a {
	color: #ffffff !important;
	background-color: transparent !important;
	-webkit-text-fill-color: #ffffff !important;
}

body.mfa-detail-fresco.mfa-fresco-chrome-light nav.navbar .mfa-navbar-menu-primary > li > a::after,
body.mfa-detail-fresco.mfa-fresco-chrome-light nav.navbar .mfa-navbar-languages > li > a::after,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) nav.navbar .mfa-navbar-menu-primary > li > a::after,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) nav.navbar .mfa-navbar-languages > li > a::after {
	background-color: #ffffff;
}

body.mfa-detail-fresco.mfa-fresco-chrome-light .navbar-default .navbar-toggle .icon-bar,
body.mfa-detail-fresco.mfa-fresco-chrome-light .navbar-default .navbar-toggle .glyphicon,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) .navbar-default .navbar-toggle .icon-bar,
body.mfa-detail-fresco.mfa-has-page-background:not(.mfa-fresco-chrome-past-hero) .navbar-default .navbar-toggle .glyphicon {
	background-color: #ffffff;
	color: #ffffff;
}

body.mfa-detail-fresco nav.navbar.mfa-fresco-nav-hidden {
	transform: translateY(-110%);
	opacity: 0;
	pointer-events: none;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

body.mfa-detail-fresco.mfa-fresco-arch-carousel-active nav.navbar {
	transform: translateY(-110%);
	opacity: 0;
	pointer-events: none;
}

body.mfa-detail-fresco nav.navbar {
	transition: transform 0.35s ease, opacity 0.35s ease;
}

/* Bloc 2 — journey scrollama (sticky full-bleed blur + steps overlaid on blur). */
body.mfa-detail-fresco .mfa-fresco-journey {
	--mfa-fresco-journey-text-col: 48%;
	--mfa-journey-exit-tail-vh: 1.05;
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
	background-color: #141413;
	color: #ffffff;
}

.mfa-fresco-journey__figures {
	position: sticky;
	top: 0;
	grid-column: 1;
	grid-row: 1;
	align-self: start;
	width: 100%;
	height: 100svh;
	min-height: 100svh;
	overflow: hidden;
	isolation: isolate;
	z-index: 1;
}

.mfa-fresco-journey__figure {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.85s ease, visibility 0s linear 0.85s;
	pointer-events: none;
}

.mfa-fresco-journey__figure.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.85s ease, visibility 0s linear 0s;
	pointer-events: auto;
	z-index: 1;
}

.mfa-fresco-journey__figure.is-active::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		to left,
		rgba(20, 20, 19, 0.42) 0%,
		rgba(20, 20, 19, 0.18) 38%,
		transparent 62%
	);
}

.mfa-fresco-journey__backdrop {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.mfa-fresco-journey__backdrop-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	filter: blur(24px) brightness(0.45);
	transform: scale(1.08);
	transform-origin: center center;
}

.mfa-fresco-journey__media-sharp {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: var(--mfa-fresco-journey-text-col, 48%);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 100%;
}

.mfa-fresco-journey__figure--hotspots .mfa-fresco-journey__media-sharp {
	overflow: hidden;
	isolation: isolate;
}

.mfa-fresco-journey__media-inner {
	position: relative;
	display: inline-block;
	max-width: 100%;
	max-height: 100%;
	vertical-align: middle;
	transform: scale(1);
	transform-origin: center center;
	transition: transform 0.85s ease, transform-origin 0.85s ease;
	will-change: transform;
}

.mfa-fresco-journey__anchor-spotlight {
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	opacity: 0;
	background: radial-gradient(
		circle farthest-corner at var(--mfa-spot-x, 50%) var(--mfa-spot-y, 50%),
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0) 22%,
		rgba(0, 0, 0, 0.22) 38%,
		rgba(0, 0, 0, 0.5) 52%,
		rgba(0, 0, 0, 0.78) 66%,
		rgba(0, 0, 0, 0.98) 100%
	);
}

.mfa-fresco-journey__media-sharp.is-anchor-focus.is-spotlight-ready .mfa-fresco-journey__anchor-spotlight {
	opacity: 1;
	transition: opacity 0.85s ease;
}

.mfa-fresco-journey__media-sharp.is-anchor-focus {
	overflow: hidden;
}

.mfa-fresco-journey__media-sharp.is-anchor-focus .mfa-fresco-journey__media-inner {
	transform: scale(var(--mfa-anchor-scale, 1));
	transform-origin: var(--mfa-spot-x, 50%) var(--mfa-spot-y, 50%);
	overflow: hidden;
}

.mfa-fresco-journey__anchor-marker {
	position: absolute;
	width: 0;
	height: 0;
	pointer-events: none;
	visibility: hidden;
}

.mfa-fresco-journey__anchor-caption {
	position: absolute;
	z-index: 10;
	box-sizing: border-box;
	max-width: none;
	padding: 0.75rem 0.95rem;
	background: rgba(0, 0, 0, 0.72);
	color: #fff;
	font-size: 1.125rem;
	line-height: 1.45;
	overflow-wrap: break-word;
	opacity: 0;
	visibility: hidden;
	transform: translate(0, 0);
	/* Delay visibility:hidden until opacity fade-out finishes. */
	transition: opacity 0.5s ease, visibility 0s linear 0.5s;
	pointer-events: none;
}

.mfa-fresco-journey__anchor-caption--grow-right {
	transform: translate(0, 0);
}

.mfa-fresco-journey__anchor-caption--grow-left {
	transform: translate(-100%, 0);
}

.mfa-fresco-journey__anchor-caption.is-measuring {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: none;
}

.mfa-fresco-journey__anchor-caption.is-placed {
	min-width: 13.75rem;
}

.mfa-fresco-journey__anchor-caption.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.5s ease, visibility 0s linear 0s;
}

.mfa-fresco-journey__zoom {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font: inherit;
	color: inherit;
	cursor: zoom-in;
	transition: opacity 0.25s ease;
	-webkit-appearance: none;
	appearance: none;
}

button.mfa-fresco-journey__zoom:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.65);
	outline-offset: 2px;
}

.mfa-fresco-journey__zoom:hover {
	opacity: 0.92;
}

.mfa-fresco-journey__img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.mfa-fresco-journey__steps {
	grid-column: 1;
	grid-row: 1;
	position: relative;
	z-index: 2;
	align-self: start;
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
	pointer-events: none;
}

.mfa-fresco-journey__step {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-height: 100svh;
	min-height: 100dvh;
	padding: clamp(2rem, 8vh, 5rem) clamp(1.25rem, 4vw, 3.5rem);
	box-sizing: border-box;
	background: transparent;
	opacity: 1;
	pointer-events: none;
}

.mfa-fresco-journey__step[data-journey-phase="anchor"] {
	min-height: 160svh;
	min-height: 160dvh;
}

.mfa-fresco-journey__step--exit-tail {
	min-height: 0;
	height: 0;
	padding: 0;
	overflow: hidden;
}

.mfa-fresco-journey__step-copy.is-scroll-pinned,
.mfa-fresco-journey__step-copy.is-scroll-fade-clamped {
	position: fixed;
	top: var(--mfa-journey-caption-pin-top, 50vh);
	left: var(--mfa-journey-caption-pin-left, auto);
	width: var(--mfa-journey-caption-pin-width, auto);
	z-index: 3;
	pointer-events: auto;
	opacity: var(--mfa-journey-caption-opacity, 0);
	/* Micro-ease only; scroll still sets the target every frame. */
	transition: top 70ms linear, opacity 70ms linear;
}

@media (prefers-reduced-motion: reduce) {
	.mfa-fresco-journey__step-copy.is-scroll-pinned,
	.mfa-fresco-journey__step-copy.is-scroll-fade-clamped {
		transition: none;
	}
}

.mfa-fresco-journey__step-copy {
	width: min(var(--mfa-fresco-journey-text-col, 48%), 36rem);
	max-width: 100%;
	pointer-events: auto;
	opacity: var(--mfa-journey-caption-opacity, 0);
	transition: none;
}

.mfa-fresco-journey__label {
	margin: 0;
	font-size: clamp(1.35rem, 1.1rem + 1vw, 2rem);
	font-weight: 400;
	line-height: 1.35;
	color: #ffffff;
	text-shadow: 0 0.12rem 1.25rem rgba(0, 0, 0, 0.55);
	text-transform: none !important;
}

/* Paragraphs from representation preferred_labels newlines (curtain label HTML). */
.mfa-fresco-journey__label p {
	margin: 0 0 0.75em;
}

.mfa-fresco-journey__label p:last-child {
	margin-bottom: 0;
}

.mfa-fresco-site__hotspots {
	position: absolute;
	inset: 0;
	z-index: 5;
	pointer-events: none;
}

.mfa-fresco-site__hotspot {
	position: absolute;
	z-index: 6;
	width: 1.35rem;
	height: 1.35rem;
	margin: -0.675rem 0 0 -0.675rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.38);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.45);
	cursor: pointer;
	pointer-events: auto;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.mfa-fresco-site__hotspot:hover,
.mfa-fresco-site__hotspot:focus,
.mfa-fresco-site__hotspot.is-scroll-active {
	transform: scale(1.15);
	background: rgba(255, 255, 255, 0.62);
	outline: none;
}

.mfa-fresco-site__hotspot.is-scroll-active .mfa-fresco-site__hotspot-pulse {
	animation-duration: 1.35s;
	border-color: rgba(255, 255, 255, 0.9);
}

.mfa-fresco-site__hotspot-pulse {
	position: absolute;
	inset: -0.45rem;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.65);
	animation: mfa-fresco-hotspot-pulse 2s ease-out infinite;
	pointer-events: none;
}

@keyframes mfa-fresco-hotspot-pulse {
	0% { transform: scale(0.85); opacity: 0.9; }
	100% { transform: scale(1.6); opacity: 0; }
}

.mfa-fresco-site__hotspot-tip {
	position: absolute;
	z-index: 6;
	max-width: min(16rem, 70vw);
	padding: 0.55rem 0.75rem;
	font-size: 0.8125rem;
	line-height: 1.4;
	color: #fff;
	background: rgba(20, 20, 20, 0.72);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-radius: 4px;
	pointer-events: none;
	opacity: 0;
	transform: translate(-50%, 0.25rem);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.mfa-fresco-site__hotspot-tip.is-visible,
.mfa-fresco-site__hotspot-tip.is-scroll-visible {
	opacity: 1;
	transform: translate(-50%, 0);
}

.mfa-fresco-site__zoom-close {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	z-index: 8;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	font-size: 1.25rem;
	line-height: 1;
	color: #fff;
	background: rgba(20, 20, 20, 0.55);
	backdrop-filter: blur(6px);
	cursor: pointer;
}

.mfa-fresco-site__zoom-close:hover,
.mfa-fresco-site__zoom-close:focus {
	background: rgba(20, 20, 20, 0.75);
}

/* Bloc 3 — architecture: overlay tapestry entry, scroll lock, infinite carousel */
.mfa-fresco-site__architecture {
	--mfa-fresco-arch-fg: #ffffff;
	--mfa-fresco-arch-fg-muted: rgba(255, 255, 255, 0.78);
	--mfa-arch-gutter-left: clamp(1.25rem, 4vw, 3.5rem);
	--mfa-arch-reveal: 0;
	--mfa-arch-tapestry-scale-start: 1;
	--mfa-arch-tapestry-scale-end: 1;
	--mfa-arch-tapestry-scale: var(--mfa-arch-tapestry-scale-end);
	--mfa-arch-tapestry-brightness: 0.72;
	--mfa-arch-tapestry-opacity: 1;
	--mfa-arch-bridge-opacity: 0;
	--mfa-arch-bridge-duration: 0.45s;
	position: relative;
	min-height: 0;
	background-color: transparent;
	color: var(--mfa-fresco-arch-fg);
	scroll-margin-top: 5rem;
	overflow: hidden;
}

body.mfa-detail-fresco .mfa-fresco-site__architecture {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	box-sizing: border-box;
	background-color: transparent;
}

.mfa-fresco-site__architecture-sentinel {
	height: 1px;
	width: 100%;
	pointer-events: none;
	visibility: hidden;
}

.mfa-fresco-site__architecture-bridge {
	position: fixed;
	inset: 0;
	z-index: 5;
	background-color: var(--mfa-fresco-bg, #f3f3f2);
	opacity: var(--mfa-arch-bridge-opacity, 0);
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity var(--mfa-arch-bridge-duration, 0.45s) ease,
		visibility 0s linear var(--mfa-arch-bridge-duration, 0.45s);
}

.mfa-fresco-site__architecture.is-bridge-active .mfa-fresco-site__architecture-bridge {
	visibility: visible;
	transition:
		opacity var(--mfa-arch-bridge-duration, 0.45s) ease,
		visibility 0s linear 0s;
}

.mfa-fresco-site__architecture.is-pre-entry .mfa-fresco-site__architecture-scroll {
	min-height: 0;
	overflow: hidden;
}

.mfa-fresco-site__architecture.is-pre-entry .mfa-fresco-site__architecture-sticky {
	visibility: hidden;
	pointer-events: none;
	height: 0;
	min-height: 0;
	margin-left: 0;
	margin-right: 0;
	overflow: hidden;
}

.mfa-fresco-site__architecture-scroll {
	position: relative;
	min-height: 0;
}

.mfa-fresco-site__architecture-sticky {
	position: sticky;
	top: 0;
	width: 100vw;
	max-width: 100%;
	height: 100vh;
	height: 100svh;
	height: 100dvh;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	overflow: hidden;
	isolation: isolate;
	background-color: transparent;
}

.mfa-fresco-site__architecture.is-locked .mfa-fresco-site__architecture-sticky,
.mfa-fresco-site__architecture.is-entering .mfa-fresco-site__architecture-sticky,
.mfa-fresco-site__architecture.is-revealed .mfa-fresco-site__architecture-sticky,
.mfa-fresco-site__architecture.is-carousel-active .mfa-fresco-site__architecture-sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100vw;
	margin-left: 0;
	margin-right: 0;
	z-index: 4;
	visibility: visible;
	height: 100vh;
	height: 100svh;
	height: 100dvh;
}

.mfa-fresco-site__architecture-media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	opacity: 1;
	visibility: visible;
}

.mfa-fresco-site__architecture.is-pre-entry .mfa-fresco-site__architecture-media {
	opacity: 0;
	visibility: hidden;
}

.mfa-fresco-site__architecture.is-entering .mfa-fresco-site__architecture-media,
.mfa-fresco-site__architecture.is-revealed .mfa-fresco-site__architecture-media,
.mfa-fresco-site__architecture.is-locked .mfa-fresco-site__architecture-media,
.mfa-fresco-site__architecture.is-carousel-active .mfa-fresco-site__architecture-media {
	opacity: 1;
	visibility: visible;
}

.mfa-fresco-site__architecture.is-entering .mfa-fresco-site__architecture-tapestry,
.mfa-fresco-site__architecture.is-revealed .mfa-fresco-site__architecture-tapestry {
	transition: filter 0.65s ease, transform 0.65s ease, opacity 0.65s ease;
}

.mfa-fresco-site__architecture-tapestry-wrap {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.mfa-fresco-site__architecture-tapestry {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	filter: brightness(var(--mfa-arch-tapestry-brightness, 0.72));
	opacity: var(--mfa-arch-tapestry-opacity, 1);
	transform: scale(var(--mfa-arch-tapestry-scale, 1.12));
	transform-origin: center center;
	will-change: transform, filter;
}

.mfa-fresco-site__architecture-scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, calc(0.42 - var(--mfa-arch-reveal, 0) * 0.18)) 0%,
		rgba(0, 0, 0, calc(0.28 - var(--mfa-arch-reveal, 0) * 0.12)) 45%,
		rgba(0, 0, 0, calc(0.38 - var(--mfa-arch-reveal, 0) * 0.16)) 100%
	);
}

.mfa-fresco-site__architecture-overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	padding-left: var(--mfa-arch-gutter-left, clamp(1.25rem, 4vw, 3.5rem));
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.55s ease, visibility 0.55s ease;
}

.mfa-fresco-site__architecture.is-revealed .mfa-fresco-site__architecture-overlay {
	opacity: 1;
	visibility: visible;
}

.mfa-fresco-site__architecture.is-revealed[data-mfa-architecture-has-train="1"] .mfa-fresco-site__architecture-overlay {
	pointer-events: auto;
}

.mfa-fresco-site__architecture-copy {
	width: 75%;
	max-width: 75%;
	padding: clamp(5rem, 10vh, 7rem) 0 0;
	box-sizing: border-box;
	transition: opacity 0.45s ease, visibility 0.45s ease;
}

.mfa-fresco-site__architecture.is-carousel-active:not(.is-carousel-paused) .mfa-fresco-site__architecture-copy {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

body.mfa-detail-fresco .mfa-fresco-site__architecture h2.mfa-fresco-site__architecture-title.mfa-detail-object-hero-title,
body.mfa-detail-fresco #pageArea .mfa-fresco-site__architecture h2.mfa-fresco-site__architecture-title.mfa-detail-object-hero-title {
	display: block;
	margin: 0 0 0.12rem 0 !important;
	padding: 0;
	max-width: none;
	font-size: clamp(1.95rem, 0.975rem + 3.315vw, 3.315rem) !important;
	font-weight: 400 !important;
	line-height: 1.1 !important;
	text-align: left !important;
	text-transform: none !important;
	letter-spacing: -0.02em;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	transform: none;
	text-shadow: 0 0.12rem 1.25rem rgba(0, 0, 0, 0.35);
}

body.mfa-detail-fresco .mfa-fresco-site__architecture .mfa-fresco-site__intro,
body.mfa-detail-fresco .mfa-fresco-site__architecture .mfa-fresco-site__intro p {
	margin: 0;
	max-width: none;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem) !important;
	font-weight: 350 !important;
	line-height: 1.45 !important;
	text-align: left !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-shadow: 0 0.08rem 0.85rem rgba(0, 0, 0, 0.32);
}

.mfa-fresco-site__architecture-play {
	position: absolute;
	left: 50%;
	top: 50%;
	bottom: auto;
	z-index: 4;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 0.65em;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(1.1rem, 1rem + 0.5vw, 1.35rem);
	font-weight: 350;
	line-height: 1.45;
	color: #ffffff;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, calc(-50% + 0.35rem));
	transition: opacity 0.45s ease, visibility 0.45s ease, transform 0.45s ease;
}

.mfa-fresco-site__architecture.is-revealed .mfa-fresco-site__architecture-play {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, -50%);
}

.mfa-fresco-site__architecture.is-carousel-active:not(.is-controls-visible):not(.is-carousel-paused) .mfa-fresco-site__architecture-play {
	opacity: 0;
	visibility: hidden;
}

.mfa-fresco-site__architecture.is-carousel-active.is-controls-visible .mfa-fresco-site__architecture-play,
.mfa-fresco-site__architecture.is-carousel-paused .mfa-fresco-site__architecture-play {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, -50%);
}

.mfa-fresco-site__architecture-play:hover,
.mfa-fresco-site__architecture-play:focus {
	outline: none;
	opacity: 0.92;
}

.mfa-fresco-site__architecture-play:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.85);
	outline-offset: 0.25rem;
}

.mfa-fresco-site__architecture-play-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5em;
	height: 1.5em;
}

.mfa-fresco-site__architecture-play-label {
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: 0;
	text-transform: none;
}

.mfa-fresco-site__architecture-train {
	position: absolute;
	left: 0;
	bottom: clamp(2.5rem, 8vh, 5rem);
	z-index: 2;
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	gap: clamp(0.75rem, 2vw, 1.25rem);
	padding: 0 clamp(1.25rem, 4vw, 3.5rem);
	visibility: hidden;
	pointer-events: none;
	will-change: transform;
	transform: translate3d(100vw, 0, 0);
}

.mfa-fresco-site__architecture.is-carousel-active .mfa-fresco-site__architecture-train {
	visibility: visible;
	pointer-events: auto;
}

.mfa-fresco-site__architecture-flyer.is-flyer-pending {
	visibility: hidden;
	opacity: 0;
}

.mfa-fresco-site__architecture-flyer {
	flex: 0 0 auto;
	width: clamp(220px, 38vw, 520px);
	margin: 0;
	transform: translate3d(var(--mfa-flyer-x, 0px), var(--mfa-flyer-y, 0px), 0);
	will-change: transform;
}

.mfa-fresco-site__architecture-flyer-img {
	display: block;
	width: 100%;
	height: auto;
	max-height: min(52vh, 560px);
	object-fit: cover;
	object-position: center center;
	border-radius: 2px;
	box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.38);
}

.mfa-fresco-site__architecture-flyer-caption {
	margin-top: 0.85rem;
}

.mfa-fresco-site__architecture-flyer-label {
	margin: 0;
	font-size: clamp(1.05rem, 1rem + 0.35vw, 1.35rem);
	font-weight: 400;
	line-height: 1.25;
	color: var(--mfa-fresco-arch-fg) !important;
	-webkit-text-fill-color: var(--mfa-fresco-arch-fg) !important;
	text-transform: none;
	text-shadow: 0 0.08rem 0.85rem rgba(0, 0, 0, 0.4);
}

.mfa-fresco-site__photographs {
	list-style: none;
	margin: 0;
	padding: clamp(2rem, 6vh, 4rem) clamp(1.25rem, 4vw, 3.5rem) clamp(4rem, 8vh, 6rem);
	display: flex;
	flex-direction: column;
	gap: clamp(3rem, 8vh, 5rem);
}

.mfa-fresco-site__photograph-figure {
	margin: 0;
}

.mfa-fresco-site__photograph-img {
	display: block;
	width: 100%;
	height: auto;
	max-height: min(78vh, 920px);
	object-fit: cover;
	object-position: center center;
	border-radius: 2px;
}

.mfa-fresco-site__photograph-caption {
	margin-top: 1.25rem;
}

.mfa-fresco-site__photograph-label {
	margin: 0;
	font-size: clamp(1.35rem, 1.1rem + 0.8vw, 2rem);
	font-weight: 400;
	line-height: 1.25;
	color: var(--mfa-fresco-arch-fg) !important;
	-webkit-text-fill-color: var(--mfa-fresco-arch-fg) !important;
	text-transform: none;
}

body.mfa-detail-fresco #main p:not(.mfa-fresco-site__date):not(.mfa-fresco-site__kind),
body.mfa-detail-fresco #main li,
body.mfa-detail-fresco #pageArea p:not(.mfa-fresco-site__date):not(.mfa-fresco-site__kind):not(.mfa-fresco-site__hero-meta-row),
body.mfa-detail-fresco #pageArea li,
body.mfa-detail-fresco .mfa-fresco-journey__label {
	font-weight: 400 !important;
	color: var(--mfa-fresco-arch-fg-muted) !important;
	-webkit-text-fill-color: var(--mfa-fresco-arch-fg-muted) !important;
}

body.mfa-detail-fresco .mfa-fresco-site__intro,
body.mfa-detail-fresco .mfa-fresco-site__intro p {
	font-weight: 350 !important;
}

body.mfa-detail-fresco .mfa-fresco-site__architecture .mfa-fresco-site__intro,
body.mfa-detail-fresco .mfa-fresco-site__architecture .mfa-fresco-site__intro p {
	font-weight: 350 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body.mfa-detail-fresco #pageArea h2.mfa-fresco-site__architecture-title {
	color: var(--mfa-fresco-arch-fg) !important;
	-webkit-text-fill-color: var(--mfa-fresco-arch-fg) !important;
}

body.mfa-detail-fresco .mfa-page-content-wrap a:not(.mfa-fresco-browse__card-link):not(.mfa-fresco-journey__zoom) {
	color: var(--mfa-fresco-fg);
}

@media (max-width: 991px) {
	body.mfa-detail-fresco.mfa-fresco-chrome-light.mfa-has-page-background .navbar-default .navbar-collapse,
	body.mfa-detail-fresco.mfa-fresco-chrome-light.mfa-has-page-background .navbar-default .navbar-collapse.in,
	body.mfa-detail-fresco.mfa-fresco-chrome-light.mfa-has-page-background .navbar-default .navbar-collapse.collapsing {
		background-color: rgba(20, 20, 20, 0.94) !important;
	}

	.mfa-fresco-journey__figure.is-active::after {
		background: linear-gradient(
			to top,
			rgba(20, 20, 19, 0.72) 0%,
			rgba(20, 20, 19, 0.28) 42%,
			transparent 68%
		);
	}

	.mfa-fresco-journey__figures {
		height: 100svh;
		min-height: 100svh;
	}

	.mfa-fresco-journey__media-sharp {
		top: 0;
		right: 0;
		bottom: 32%;
		left: 0;
	}

	.mfa-fresco-journey__step {
		align-items: flex-end;
		justify-content: center;
		padding-bottom: clamp(2.5rem, 12vh, 5rem);
	}

	.mfa-fresco-journey__step-copy {
		width: min(92vw, 36rem);
		text-align: left;
	}

	.mfa-fresco-journey__backdrop-img {
		filter: blur(12px) brightness(0.45);
	}

	.mfa-fresco-site__architecture-flyer {
		width: min(72vw, 420px);
	}

	.mfa-fresco-site__hotspot {
		width: 1.75rem;
		height: 1.75rem;
		margin: -0.875rem 0 0 -0.875rem;
	}

	.mfa-fresco-browse__card {
		flex-basis: min(58.5vw, 270px);
	}

	.mfa-fresco-browse__card-media {
		min-height: 58vh;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mfa-fresco-browse__card-media::before {
		transition: none;
	}

	.mfa-fresco-browse__card-link:hover .mfa-fresco-browse__card-media::before,
	.mfa-fresco-browse__card-link:focus-visible .mfa-fresco-browse__card-media::before {
		transform: none;
	}

	.mfa-fresco-site__scroll-hint-arrow,
	.mfa-fresco-site__hotspot-pulse {
		animation: none;
	}

	.mfa-fresco-site__hero-nav-btn {
		transition: none;
	}

	.mfa-fresco-site__hero-nav-hit {
		transition: none;
	}

	.mfa-fresco-site__hero-nav-preview {
		transition: none;
	}

	.mfa-fresco-site__fullscreen,
	.mfa-fresco-site__audio-mute {
		transition: none;
	}

	.mfa-fresco-journey__media-sharp,
	.mfa-fresco-journey__media-inner,
	.mfa-fresco-journey__anchor-spotlight,
	.mfa-fresco-journey__anchor-caption,
	.mfa-fresco-journey__figure,
	.mfa-fresco-journey__step,
	.mfa-fresco-journey__step-copy,
	.mfa-fresco-journey__backdrop-img,
	.mfa-fresco-site__hero-inner,
	.mfa-fresco-site__hero-scrim {
		transition: none;
	}

	body.mfa-detail-fresco nav.navbar {
		transition: none;
	}

	.mfa-fresco-site__architecture-overlay,
	.mfa-fresco-site__architecture-play,
	.mfa-fresco-site__architecture-tapestry,
	.mfa-fresco-site__architecture-bridge,
	.mfa-fresco-site__architecture-copy {
		transition: none;
	}

	.mfa-fresco-site__architecture-train,
	.mfa-fresco-site__architecture-flyer {
		transition: none;
	}

	.mfa-fresco-site__architecture--static .mfa-fresco-site__architecture-overlay {
		opacity: 1;
		visibility: visible;
	}

	.mfa-fresco-site__architecture--static[data-mfa-architecture-has-train="1"] .mfa-fresco-site__architecture-play {
		opacity: 1;
		visibility: visible;
		transform: translate(-50%, -50%);
	}
}

/* Fresco detail — Bloc 4: building facts + map (white band before footer). */
.mfa-fresco-site__building {
	position: relative;
	background-color: #ffffff;
	color: var(--mfa-fresco-fg, #333333);
	padding: clamp(3rem, 6vh, 5rem) 0 clamp(4rem, 8vh, 6rem);
	scroll-margin-top: 5rem;
	isolation: isolate;
	--mfa-detail-section-title-fg: #333333;
	--mfa-detail-section-title-fw: 550;
	--mfa-detail-section-title-pad-bottom: clamp(0.75rem, 0.55rem + 0.65vw, 1.25rem);
	--mfa-detail-facts-value-fg: var(--mfa-fresco-fg, #333333);
}

body.mfa-detail-fresco:not(.mfa-fresco-building-revealed) .mfa-fresco-site__building {
	max-height: 0;
	overflow: hidden;
	visibility: hidden;
	padding: 0;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

body.mfa-detail-fresco:not(.mfa-fresco-building-revealed) .mfa-fresco-site__building::before {
	display: none;
}

.mfa-fresco-site__building::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	max-width: 100vw;
	transform: translateX(-50%);
	background-color: #ffffff;
	z-index: -1;
	pointer-events: none;
}

.mfa-fresco-site__building-sentinel {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
	visibility: hidden;
}

.mfa-fresco-site__building-inner {
	width: 100%;
	box-sizing: border-box;
}

.mfa-fresco-site__building-grid {
	display: grid;
	grid-template-columns: minmax(0, 25%) minmax(0, 75%);
	gap: clamp(1.5rem, 3vw, 2.75rem);
	align-items: start;
}

.mfa-fresco-site__building-title-divider {
	border: 0;
	border-top: 1px solid #333333;
	margin: 0 0 clamp(0.75rem, 0.55rem + 0.65vw, 1.25rem);
}

.mfa-fresco-site__building-media {
	margin: clamp(1rem, 0.85rem + 0.75vw, 1.5rem) 0 clamp(1.25rem, 1rem + 1vw, 1.75rem);
	max-width: 100%;
}

.mfa-fresco-site__building-media-img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.mfa-fresco-site__building-facts-table {
	width: 100%;
	border-collapse: collapse;
}

.mfa-fresco-site__building-facts-table th,
.mfa-fresco-site__building-facts-table td {
	padding: 0.35rem 0;
	vertical-align: top;
	text-align: left;
	font-weight: 400;
	line-height: 1.45;
	color: var(--mfa-fresco-fg, #333333);
}

.mfa-fresco-site__building-facts-label {
	width: 42%;
	padding-right: 0.75rem;
	font-weight: 500;
	color: var(--mfa-fresco-fg-muted, rgba(51, 51, 51, 0.72));
}

.mfa-fresco-site__building-map-col {
	min-width: 0;
}

.mfa-fresco-site__building-panel {
	min-width: 0;
}

.mfa-fresco-site__building-tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	margin-bottom: clamp(0.75rem, 0.55rem + 0.65vw, 1.25rem);
}

.mfa-fresco-site__building-tab {
	margin: 0;
	padding: 0 0 clamp(0.75rem, 0.55rem + 0.65vw, 1.25rem);
	border: 0;
	background: transparent;
	font-family: inherit;
	font-size: clamp(1.224rem, calc(1.152rem + 0.24vw), 1.368rem);
	font-weight: var(--mfa-detail-section-title-fw, 550);
	line-height: 1.45;
	text-transform: uppercase;
	color: rgba(51, 51, 51, 0.42);
	cursor: pointer;
	transition: color 0.22s ease, opacity 0.22s ease;
}

.mfa-fresco-site__building-tab.is-active {
	color: #333333;
}

.mfa-fresco-site__building-tab:focus-visible {
	outline: 2px solid rgba(51, 51, 51, 0.35);
	outline-offset: 3px;
}

.mfa-fresco-site__building-panel-heading {
	margin-bottom: clamp(0.75rem, 0.55rem + 0.65vw, 1.25rem);
}

.mfa-fresco-site__building-tabpanel {
	opacity: 0;
	visibility: hidden;
	max-height: 0;
	overflow: hidden;
	pointer-events: none;
	transition: opacity 0.28s ease, visibility 0.28s ease, max-height 0.28s ease;
}

.mfa-fresco-site__building-tabpanel.is-active {
	opacity: 1;
	visibility: visible;
	max-height: none;
	overflow: visible;
	pointer-events: auto;
}

.mfa-fresco-site__building-tabpanel.is-static {
	opacity: 1;
	visibility: visible;
	max-height: none;
	overflow: visible;
	pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
	.mfa-fresco-site__building-tab,
	.mfa-fresco-site__building-tabpanel {
		transition-duration: 0.01ms;
	}
}

.mfa-fresco-site__building-map {
	width: 100%;
	min-height: 350px;
	overflow: hidden;
	border-radius: 0.25rem;
	background-color: #ffffff;
	border: 1px solid rgba(51, 51, 51, 0.12);
}

.mfa-fresco-site__building-map--placeholder {
	min-height: 350px;
	background-color: #ffffff;
}

.mfa-fresco-site__building-map img,
.mfa-fresco-site__building-map iframe {
	display: block;
	max-width: 100%;
}

.mfa-fresco-site__building-map-coords {
	margin-top: 0.75rem;
	font-size: 1rem;
	line-height: 1.45;
	color: var(--mfa-fresco-fg-muted, rgba(51, 51, 51, 0.72));
}

.mfa-fresco-site__building-map-empty {
	margin: 0.75rem 0 0;
	font-size: 0.9375rem;
	line-height: 1.45;
	color: var(--mfa-fresco-fg-muted, rgba(51, 51, 51, 0.72));
}

@media (max-width: 991px) {
	.mfa-fresco-site__building-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.mfa-fresco-site__building {
		padding-top: clamp(2.25rem, 5vh, 3.5rem);
		padding-bottom: clamp(3rem, 6vh, 4.5rem);
	}

	.mfa-fresco-site__building-facts-label {
		width: 38%;
	}
}

/* -------------------------------------------------------------------------
 * Artist biography (Artist/Index) — editorial year blocks, light palette
 * ------------------------------------------------------------------------- */

body.mfa-bio-page {
	--mfa-bio-bg: #f4f4f2;
	--mfa-bio-navbar-bg: var(--mfa-bio-bg);
	--mfa-bio-fg: #333333;
	--mfa-bio-fg-muted: rgba(51, 51, 51, 0.72);
	--mfa-bio-fg-subtle: rgba(51, 51, 51, 0.55);
	--mfa-bio-watermark: rgba(51, 51, 51, 0.06);
	--mfa-bio-year-fg: rgba(51, 51, 51, 0.12);
	--mfa-bio-border: rgba(51, 51, 51, 0.12);
	--mfa-bio-accent-exhibition: #2d6a9f;
	--mfa-bio-accent-travel: #3d7a35;
	--mfa-bio-accent-award: #8a5a18;
	--mfa-bio-inset-x: 90px;
	--mfa-detail-section-title-fw: 550;
	--mfa-detail-section-title-pad-bottom: clamp(0.75rem, 0.55rem + 0.65vw, 1.25rem);
	background-color: var(--mfa-bio-bg) !important;
	color: var(--mfa-bio-fg) !important;
}

@media (max-width: 991px) {
	body.mfa-bio-page {
		--mfa-bio-inset-x: 28px;
	}
}

@media (max-width: 767px) {
	body.mfa-bio-page {
		--mfa-bio-inset-x: 21px;
	}
}

/* -------------------------------------------------------------------------
 * MFA Artist toolbar / filters / list — start
 * Removable as a unit (sticky chips, view toggle, list mode, back-to-top slot).
 * ------------------------------------------------------------------------- */

body.mfa-bio-page .mfa-bio__toolbar {
	/* Short subtle fade at the tip only; padding below stays mostly opaque. */
	--mfa-bio-toolbar-fade: 0.6rem;
	position: sticky;
	top: 0;
	z-index: 1025;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	box-sizing: border-box;
	width: 100%;
	max-width: 84rem;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0.25rem;
	padding: 2rem var(--mfa-bio-inset-x) 3.3rem;
	background-color: transparent;
	background-image: linear-gradient(
		to bottom,
		var(--mfa-bio-bg, #f4f4f2) 0%,
		var(--mfa-bio-bg, #f4f4f2) calc(100% - var(--mfa-bio-toolbar-fade)),
		color-mix(in srgb, var(--mfa-bio-bg, #f4f4f2) 0%, transparent) 100%
	);
	color: var(--mfa-bio-fg, #333333);
}

body.mfa-bio-page .mfa-bio__toolbar-main {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 1rem;
	min-width: 0;
}

body.mfa-bio-page .mfa-bio__filters {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.5rem;
	min-width: 0;
}

body.mfa-bio-page .mfa-bio__filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	box-sizing: border-box;
	min-height: 3.5rem;
	margin: 0;
	padding: 0 0.85rem;
	border: 1px solid var(--mfa-bio-border, rgba(51, 51, 51, 0.18));
	border-radius: 0;
	background: transparent;
	/* Match .mfa-bio__event-type (inherits meta: uppercase + letter-spacing + subtle color). */
	color: var(--mfa-bio-fg-subtle);
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition:
		background-color 0.22s ease,
		color 0.22s ease,
		border-color 0.22s ease;
}

body.mfa-bio-page .mfa-bio__filter-chip:hover,
body.mfa-bio-page .mfa-bio__filter-chip:focus-visible {
	background-color: rgba(51, 51, 51, 0.06);
	outline: none;
}

body.mfa-bio-page .mfa-bio__filter-chip.is-active {
	background-color: #4a5158;
	border-color: #4a5158;
	color: #ffffff;
}

body.mfa-bio-page .mfa-bio__filter-chip-count {
	opacity: 0.72;
	font-variant-numeric: tabular-nums;
}

body.mfa-bio-page .mfa-bio__filter-chip.is-active .mfa-bio__filter-chip-count {
	opacity: 0.85;
}

body.mfa-bio-page .mfa-bio__view-toggle {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: stretch;
	border: 1px solid var(--mfa-bio-border, rgba(51, 51, 51, 0.18));
}

body.mfa-bio-page .mfa-bio__view-btn {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 3.5rem;
	height: 3.5rem;
	min-width: 3.5rem;
	min-height: 3.5rem;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	color: var(--mfa-bio-fg, #333333);
	font: inherit;
	line-height: 1;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition:
		background-color 0.22s ease,
		color 0.22s ease;
}

body.mfa-bio-page .mfa-bio__view-btn + .mfa-bio__view-btn {
	border-left: 1px solid var(--mfa-bio-border, rgba(51, 51, 51, 0.18));
}

body.mfa-bio-page .mfa-bio__view-btn.is-active {
	background-color: #4a5158;
	color: #ffffff;
}

body.mfa-bio-page .mfa-bio__view-btn:hover:not(.is-active),
body.mfa-bio-page .mfa-bio__view-btn:focus-visible:not(.is-active) {
	background-color: rgba(51, 51, 51, 0.06);
	outline: none;
}

body.mfa-bio-page .mfa-bio__view-btn-icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	color: currentColor;
	opacity: 0.95;
	line-height: 0;
}

body.mfa-bio-page .mfa-bio__view-btn-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

body.mfa-bio-page .mfa-bio__view-btn-label {
	display: none;
}

body.mfa-bio-page .mfa-bio__toolbar-actions {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: flex-end;
	min-width: 3.5rem;
	min-height: 3.5rem;
}

/* Back to top — lives in toolbar slot (not fixed to viewport) */
body.mfa-bio-page .mfa-bio-back-to-top {
	box-sizing: border-box;
	position: relative;
	top: auto;
	right: auto;
	z-index: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin: 0;
	padding: 0;
	border-radius: 0;
	border: 1px solid rgba(255, 255, 255, 0.55);
	background-color: #4a5158;
	color: #ffffff;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	flex-shrink: 0;
	transition:
		opacity 0.45s ease,
		visibility 0s linear 0.45s,
		background-color 0.22s ease,
		color 0.22s ease,
		box-shadow 0.22s ease;
}

body.mfa-bio-page .mfa-bio-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition:
		opacity 0.45s ease,
		visibility 0s linear 0s,
		background-color 0.22s ease,
		color 0.22s ease,
		box-shadow 0.22s ease;
}

body.mfa-bio-page .mfa-bio-back-to-top:hover,
body.mfa-bio-page .mfa-bio-back-to-top:focus {
	background-color: #555c64;
	color: #ffffff;
}

body.mfa-bio-page .mfa-bio-back-to-top:focus-visible {
	background-color: #555c64;
	color: #ffffff;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
	outline: none;
}

body.mfa-bio-page .mfa-bio-back-to-top__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

body.mfa-bio-page .mfa-bio-back-to-top__icon svg {
	display: block;
	width: 1em;
	height: 1em;
}

/* Filtered-out events leave the grid; empty year blocks collapse. */
body.mfa-bio-page .mfa-bio__event.is-filtered-out {
	display: none !important;
}

body.mfa-bio-page .mfa-bio__year-block.is-filtered-empty {
	display: none !important;
}

/* List view — bibliography style (same markup, no cards) */
body.mfa-bio-page .mfa-bio--view-list {
	/* Match global #main/#pageArea p|h3 clamp so title is not smaller than body */
	--mfa-bio-list-text-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__year-block {
	padding-bottom: clamp(1.75rem, 4vh, 2.75rem);
}

body.mfa-bio-page #pageArea .mfa-bio--view-list h2.mfa-bio__year-display,
body.mfa-bio-page #main .mfa-bio--view-list h2.mfa-bio__year-display,
body.mfa-bio-page #pageArea .mfa-bio--view-list h2.mfa-bio__year-display--undated,
body.mfa-bio-page #main .mfa-bio--view-list h2.mfa-bio__year-display--undated {
	color: var(--mfa-bio-fg-subtle) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg-subtle);
	font-size: calc(var(--mfa-bio-list-text-size) * 1.35) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.02em;
	transform: none;
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__year-head {
	padding-bottom: 0.85rem;
	margin-bottom: 0.35rem;
	border-bottom: 1px solid var(--mfa-bio-border);
	overflow: visible;
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__events-bento {
	display: flex;
	flex-direction: column;
	gap: 0;
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event,
body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event--span-4,
body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event--span-6,
body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event--span-12,
body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event:not(.mfa-bio__event--no-image) {
	grid-column: auto;
	display: block;
	grid-template-columns: none;
	gap: 0;
	align-items: stretch;
	margin: 0;
	padding: 0.85rem 0 1rem;
	background: transparent;
	border: none;
	border-radius: 0;
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event-thumb {
	display: none !important;
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event-meta {
	display: none !important;
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event-copy {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 0.5em;
	min-width: 0;
}

/* Full Cards date hidden in List; list date lives in .mfa-bio__event-date-lead */
body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event-date {
	display: none !important;
}

body.mfa-bio-page #pageArea .mfa-bio--view-list h3.mfa-bio__event-title,
body.mfa-bio-page #main .mfa-bio--view-list h3.mfa-bio__event-title,
body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event-title {
	/* Same size as list body; Cards title color + weight */
	display: inline;
	order: 1;
	margin: 0;
	font-size: var(--mfa-bio-list-text-size) !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	font-variant-numeric: tabular-nums;
	color: var(--mfa-bio-fg) !important;
	text-transform: none;
}

/* List: no exhibition-specific title color or body border */
body.mfa-bio-page #pageArea .mfa-bio--view-list .mfa-bio__event--exhibition .mfa-bio__event-title,
body.mfa-bio-page #main .mfa-bio--view-list .mfa-bio__event--exhibition .mfa-bio__event-title,
body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event--exhibition .mfa-bio__event-title {
	color: var(--mfa-bio-fg) !important;
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event--exhibition .mfa-bio__event-body {
	padding-left: 0;
	border-left: none;
}

body.mfa-bio-page #pageArea .mfa-bio--view-list .mfa-bio__event-body,
body.mfa-bio-page #main .mfa-bio--view-list .mfa-bio__event-body,
body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event-body,
body.mfa-bio-page #pageArea .mfa-bio--view-list .mfa-bio__event-body p,
body.mfa-bio-page #main .mfa-bio--view-list .mfa-bio__event-body p {
	display: block;
	order: 2;
	flex: 1 1 100%;
	margin: 0.45rem 0 0;
	max-height: none;
	overflow: visible;
	font-size: var(--mfa-bio-list-text-size) !important;
	line-height: 1.6;
	/* Match Cards bio page paragraph color (fg, not muted) */
	color: var(--mfa-bio-fg) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg);
}

body.mfa-bio-page #pageArea .mfa-bio--view-list .mfa-bio__event-body p,
body.mfa-bio-page #main .mfa-bio--view-list .mfa-bio__event-body p {
	display: block;
	order: unset;
	flex: unset;
	margin: 0 0 0.65em;
}

body.mfa-bio-page #pageArea .mfa-bio--view-list .mfa-bio__event-body > p:first-of-type,
body.mfa-bio-page #main .mfa-bio--view-list .mfa-bio__event-body > p:first-of-type {
	display: inline;
	margin: 0;
}

body.mfa-bio-page #pageArea .mfa-bio--view-list .mfa-bio__event-body p:last-child,
body.mfa-bio-page #main .mfa-bio--view-list .mfa-bio__event-body p:last-child {
	margin-bottom: 0;
}

body.mfa-bio-page #pageArea .mfa-bio--view-list .mfa-bio__event-date-lead,
body.mfa-bio-page #main .mfa-bio--view-list .mfa-bio__event-date-lead,
body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event-date-lead {
	display: inline;
	font: inherit !important;
	font-size: var(--mfa-bio-list-text-size) !important;
	font-weight: 350 !important;
	line-height: 1.6 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	font-variant-numeric: tabular-nums;
	color: var(--mfa-bio-fg) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg);
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event-date-lead::after {
	content: ". ";
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__event-relationships {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 0.35em;
	row-gap: 0.15em;
	order: 4;
	flex: 1 1 100%;
	width: 100%;
	/* Same gap as title → body (.mfa-bio__event-body margin-top) */
	margin-top: 0.45rem;
	padding-top: 0;
	border-top: none;
}

body.mfa-bio-page #pageArea .mfa-bio--view-list .mfa-bio__relationship-heading,
body.mfa-bio-page #main .mfa-bio--view-list .mfa-bio__relationship-heading,
body.mfa-bio-page .mfa-bio--view-list .mfa-bio__relationship-heading,
body.mfa-bio-page #pageArea .mfa-bio--view-list a.mfa-bio__relationship-chip,
body.mfa-bio-page #main .mfa-bio--view-list a.mfa-bio__relationship-chip,
body.mfa-bio-page #pageArea .mfa-bio--view-list .mfa-bio__relationship-chip-label,
body.mfa-bio-page #main .mfa-bio--view-list .mfa-bio__relationship-chip-label {
	/* Match .mfa-bio__filter-chip / filter-chip-label typography */
	font-size: 0.9375rem !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	color: var(--mfa-bio-fg-subtle) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg-subtle) !important;
}

body.mfa-bio-page #pageArea .mfa-bio--view-list .mfa-bio__relationship-heading,
body.mfa-bio-page #main .mfa-bio--view-list .mfa-bio__relationship-heading,
body.mfa-bio-page .mfa-bio--view-list .mfa-bio__relationship-heading {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__relationship-heading::after {
	content: ":";
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__relationship-chips {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem 0.65rem;
	margin-top: 0;
	padding-bottom: 0;
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__relationship-chip-thumb-frame {
	display: none !important;
}

body.mfa-bio-page #pageArea .mfa-bio--view-list a.mfa-bio__relationship-chip,
body.mfa-bio-page #main .mfa-bio--view-list a.mfa-bio__relationship-chip {
	--mfa-bio-rel-chip-inset: 0;
	display: inline;
	flex-direction: row;
	align-items: baseline;
	gap: 0;
	max-width: none;
	min-height: 0;
	padding: 0;
	background-color: transparent;
	border: none;
	border-radius: 0;
	text-decoration: underline !important;
	text-underline-offset: 0.12em;
}

body.mfa-bio-page #pageArea .mfa-bio--view-list a.mfa-bio__relationship-chip:hover,
body.mfa-bio-page #pageArea .mfa-bio--view-list a.mfa-bio__relationship-chip:focus-visible,
body.mfa-bio-page #main .mfa-bio--view-list a.mfa-bio__relationship-chip:hover,
body.mfa-bio-page #main .mfa-bio--view-list a.mfa-bio__relationship-chip:focus-visible,
body.mfa-bio-page #pageArea .mfa-bio--view-list a.mfa-bio__relationship-chip:hover .mfa-bio__relationship-chip-label,
body.mfa-bio-page #pageArea .mfa-bio--view-list a.mfa-bio__relationship-chip:focus-visible .mfa-bio__relationship-chip-label,
body.mfa-bio-page #main .mfa-bio--view-list a.mfa-bio__relationship-chip:hover .mfa-bio__relationship-chip-label,
body.mfa-bio-page #main .mfa-bio--view-list a.mfa-bio__relationship-chip:focus-visible .mfa-bio__relationship-chip-label {
	background-color: transparent;
	border-color: transparent;
	color: var(--mfa-bio-fg) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg);
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__relationship-chip-cat {
	display: none;
}

body.mfa-bio-page .mfa-bio--view-list .mfa-bio__relationship-chip-body {
	display: inline;
}

@media (max-width: 767px) {
	body.mfa-bio-page .mfa-bio__toolbar {
		top: 0;
		flex-wrap: wrap;
		padding-top: 0.85rem;
		padding-bottom: 2.7rem;
	}

	body.mfa-bio-page .mfa-bio__toolbar-actions {
		margin-left: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.mfa-bio-page .mfa-bio__filter-chip,
	body.mfa-bio-page .mfa-bio__view-btn,
	body.mfa-bio-page .mfa-bio-back-to-top,
	body.mfa-bio-page .mfa-bio-back-to-top.is-visible {
		transition-duration: 0.01ms;
		transition-delay: 0s;
	}
}

/* MFA Artist toolbar / filters / list — end */

body.mfa-bio-page #main,
body.mfa-bio-page #pageArea,
body.mfa-bio-page .mfa-page-content-wrap {
	background-color: transparent !important;
}

body.mfa-bio-page #pageArea {
	padding-top: 0;
}

body.mfa-bio-page nav.navbar.navbar-default,
body.mfa-bio-page > nav.navbar.navbar-default {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	box-shadow: none !important;
}

body.mfa-bio-page #skipNavigation a,
body.mfa-bio-page nav.navbar .navbar-nav > li > a,
body.mfa-bio-page nav.navbar .navbar-brand,
body.mfa-bio-page nav.navbar .mfa-navbar-languages > li > a,
body.mfa-bio-page .navbar-default .navbar-nav > li > a:hover,
body.mfa-bio-page .navbar-default .navbar-nav > li > a:focus,
body.mfa-bio-page .navbar-default .navbar-nav > .active > a,
body.mfa-bio-page .navbar-default .navbar-nav > .active > a:hover,
body.mfa-bio-page .navbar-default .navbar-nav > .active > a:focus,
body.mfa-bio-page .navbar-default .navbar-nav > .open > a {
	color: var(--mfa-bio-fg) !important;
	background-color: transparent !important;
}

body.mfa-bio-page nav.navbar .mfa-navbar-menu-primary > li > a::after,
body.mfa-bio-page nav.navbar .mfa-navbar-languages > li > a::after {
	background-color: var(--mfa-bio-fg);
}

body.mfa-bio-page nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu {
	background-color: var(--mfa-bio-navbar-bg);
	border: 1px solid var(--mfa-bio-border);
}

body.mfa-bio-page nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li > a {
	color: var(--mfa-bio-fg-muted) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg-muted);
}

body.mfa-bio-page nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li:not(.active) > a:hover,
body.mfa-bio-page nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li:not(.active) > a:focus-visible {
	color: var(--mfa-bio-fg) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg);
}

body.mfa-bio-page nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li.active > a,
body.mfa-bio-page nav.navbar.navbar-default .mfa-navbar-languages .dropdown-menu > li.active > a:hover {
	color: var(--mfa-bio-fg) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg);
}

body.mfa-bio-page .navbar-default .navbar-toggle .icon-bar {
	background-color: var(--mfa-bio-fg);
}

body.mfa-bio-page .navbar-default .navbar-toggle,
body.mfa-bio-page .navbar-default .navbar-toggle .glyphicon {
	color: var(--mfa-bio-fg);
}

@media (max-width: 767px) {
	body.mfa-bio-page .navbar-default .navbar-collapse,
	body.mfa-bio-page .navbar-default .navbar-collapse.in,
	body.mfa-bio-page .navbar-default .navbar-collapse.collapsing {
		background-color: var(--mfa-bio-navbar-bg) !important;
	}

	body.mfa-bio-page nav.navbar.navbar-default .mfa-navbar-languages .open > .dropdown-menu {
		background-color: var(--mfa-bio-navbar-bg) !important;
		border: 0 !important;
		box-shadow: none !important;
	}
}

body.mfa-bio-page #pageArea .mfa-home-hero-title,
body.mfa-bio-page #main h1,
body.mfa-bio-page #main h2:not(.mfa-bio__year-display),
body.mfa-bio-page #main h3,
body.mfa-bio-page #main p,
body.mfa-bio-page #main li,
body.mfa-bio-page #pageArea h2:not(.mfa-bio__year-display),
body.mfa-bio-page #pageArea h3,
body.mfa-bio-page #pageArea p,
body.mfa-bio-page #pageArea li {
	color: var(--mfa-bio-fg) !important;
}

body.mfa-bio-page #pageArea h2.mfa-bio__year-display,
body.mfa-bio-page #main h2.mfa-bio__year-display {
	color: var(--mfa-bio-year-fg) !important;
	-webkit-text-fill-color: var(--mfa-bio-year-fg);
	font-size: var(--mfa-bio-year-font-size) !important;
	font-weight: 660 !important;
	line-height: 0.9 !important;
	letter-spacing: -0.04em;
	font-variant-numeric: tabular-nums;
	max-width: 100%;
	text-align: left;
	transform: translateX(-0.055em);
	box-sizing: border-box;
}

body.mfa-bio-page #pageArea h2.mfa-bio__year-display--undated,
body.mfa-bio-page #main h2.mfa-bio__year-display--undated {
	font-size: calc(var(--mfa-bio-year-font-size) * 0.55) !important;
	font-weight: 660 !important;
	letter-spacing: -0.02em;
	white-space: normal;
}

/* List view — must follow Cards year rules so watermark size/color lose */
body.mfa-bio-page #pageArea .mfa-bio--view-list h2.mfa-bio__year-display,
body.mfa-bio-page #main .mfa-bio--view-list h2.mfa-bio__year-display,
body.mfa-bio-page #pageArea .mfa-bio--view-list h2.mfa-bio__year-display--undated,
body.mfa-bio-page #main .mfa-bio--view-list h2.mfa-bio__year-display--undated {
	color: var(--mfa-bio-fg-subtle) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg-subtle) !important;
	font-size: calc(var(--mfa-bio-list-text-size) * 1.35) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.02em !important;
	font-variant-numeric: tabular-nums;
	max-width: 100%;
	text-align: left;
	transform: none !important;
	white-space: normal;
	box-sizing: border-box;
}

body.mfa-bio-page #pageArea h3.mfa-bio__event-title,
body.mfa-bio-page #main h3.mfa-bio__event-title {
	font-weight: 500 !important;
}

/* Footer unchanged: stays on dark palette */
body.mfa-bio-page > footer.mfa-site-footer {
	margin-top: auto;
}

.mfa-bio {
	color: var(--mfa-bio-fg);
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 0 clamp(3rem, 6vw, 4rem);
}

.mfa-bio__header .mfa-home-hero {
	display: block;
	margin: 0;
	min-width: 0;
}

.mfa-bio__intro-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: start;
	margin: 0;
	width: 100%;
	box-sizing: border-box;
}

.mfa-bio__intro-media {
	min-width: 0;
}

.mfa-bio__intro-portrait {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	border: none;
	border-radius: 0;
}

.mfa-bio__intro-copy {
	min-width: 0;
}

.mfa-bio__intro,
.mfa-bio__demo-notice {
	color: var(--mfa-bio-fg-muted);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.mfa-bio__intro {
	margin: 0;
	max-width: none;
}

.mfa-bio__intro > p {
	margin: 0 0 0.85em;
	max-width: none;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

.mfa-bio__intro > p:last-child {
	margin-bottom: 0;
}

/* Global b/strong are white (Browse/Detail); inherit body text color on Artist. */
body.mfa-bio-page .mfa-bio__intro b,
body.mfa-bio-page .mfa-bio__intro strong,
body.mfa-bio-page .mfa-bio__intro-copy b,
body.mfa-bio-page .mfa-bio__intro-copy strong,
body.mfa-bio-page .mfa-bio__event b,
body.mfa-bio-page .mfa-bio__event strong {
	color: inherit !important;
	-webkit-text-fill-color: currentColor;
}

.mfa-bio__header {
	width: 100%;
	max-width: 84rem;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0;
	padding-left: var(--mfa-bio-inset-x);
	padding-right: var(--mfa-bio-inset-x);
	padding-bottom: 3.5rem;
	box-sizing: border-box;
}

.mfa-bio__demo-notice {
	margin-top: 0.75rem;
	margin-bottom: 1.5rem;
	color: var(--mfa-bio-fg-subtle);
	font-style: italic;
}

@media (max-width: 767px) {
	.mfa-bio__intro-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.15rem;
	}
}

.mfa-bio__empty {
	padding: 2rem 0;
	color: var(--mfa-bio-fg-muted);
}

.mfa-bio__stack {
	margin-top: clamp(2rem, 5vw, 3.5rem);
}

.mfa-bio__year-block {
	position: relative;
	width: 100%;
	max-width: 84rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--mfa-bio-inset-x);
	padding-right: var(--mfa-bio-inset-x);
	padding-bottom: clamp(4rem, 10vh, 7rem);
	box-sizing: border-box;
	--mfa-bio-year-font-size: clamp(3.35rem, 1.65rem + 7.35vw, 6.875rem);
	overflow: visible;
}

.mfa-bio__year-block:last-child {
	padding-bottom: 0;
}

.mfa-bio__year-block--reveal {
	opacity: 0;
	transform: translateY(1rem);
	transition:
		opacity 0.55s ease,
		transform 0.55s ease;
}

.mfa-bio__year-block--reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* Year display: once at the top of each block; separated from event cards below */
.mfa-bio__year-head {
	position: relative;
	padding: 0 0 clamp(0.75rem, 2vw, 1.25rem);
	margin: 0;
	pointer-events: none;
	overflow: hidden;
	text-align: left;
	box-sizing: border-box;
}

.mfa-bio__year-display {
	margin: 0;
	white-space: nowrap;
}

.mfa-bio__events-bento {
	position: relative;
	margin-top: 0;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
	width: 100%;
	padding: 0;
	box-sizing: border-box;
}

.mfa-bio__event {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(0.85rem, 2vw, 1.15rem);
	align-items: start;
	padding: clamp(1rem, 2.5vw, 1.35rem);
	--mfa-bio-event-bg: rgba(51, 51, 51, 0.03);
	background: var(--mfa-bio-event-bg);
	border: 1px solid var(--mfa-bio-border);
	border-radius: 8px;
}

.mfa-bio__event--span-4 {
	grid-column: span 4;
}

.mfa-bio__event--span-6 {
	grid-column: span 6;
}

.mfa-bio__event--span-12 {
	grid-column: span 12;
}

/* Solo row (span-12): image left, copy right */
.mfa-bio__event--span-12:not(.mfa-bio__event--no-image) {
	grid-template-columns: minmax(11rem, 40%) minmax(0, 1fr);
	align-items: start;
	gap: clamp(0.65rem, 1.5vw, 1rem);
}

.mfa-bio__event--span-12 .mfa-bio__event-thumb {
	width: 100%;
	margin: 0;
}

.mfa-bio__event--span-12 .mfa-bio__event-image {
	width: 100%;
	height: auto;
	border-radius: 8px;
}

/* Two per row (span-6): image left, copy right; text may exceed image height */
.mfa-bio__event--span-6:not(.mfa-bio__event--no-image) {
	grid-template-columns: minmax(7.5rem, 34%) minmax(0, 1fr);
	grid-template-rows: none;
	align-items: start;
	gap: clamp(0.65rem, 1.5vw, 1rem);
}

.mfa-bio__event--span-6 .mfa-bio__event-thumb {
	width: 100%;
	margin: 0;
}

.mfa-bio__event--span-6 .mfa-bio__event-image {
	width: 100%;
	height: auto;
	border-radius: 8px;
}

/* Three per row (span-4): full-width image on top, copy below */
.mfa-bio__event--span-4:not(.mfa-bio__event--no-image) {
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto minmax(0, 1fr);
}

.mfa-bio__event--span-4 .mfa-bio__event-thumb {
	width: 100%;
	margin: 0 0 clamp(0.5rem, 1.2vw, 0.75rem);
}

.mfa-bio__event--span-4 .mfa-bio__event-image {
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.mfa-bio__event--no-image {
	grid-template-columns: minmax(0, 1fr);
}

.mfa-bio__event-thumb {
	margin: 0;
	min-width: 0;
	align-self: start;
	line-height: 0;
}

.mfa-bio__event-image {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	vertical-align: top;
	border-radius: 6px;
	border: 1px solid rgba(51, 51, 51, 0.15);
}

.mfa-bio__event-image-caption {
	margin: 0.4rem 0 0;
	padding: 0;
	line-height: 1.45;
}

body.mfa-bio-page #pageArea .mfa-bio__event-image-caption,
body.mfa-bio-page #main .mfa-bio__event-image-caption {
	color: var(--mfa-bio-fg-muted) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg-muted) !important;
}

body.mfa-bio-page #pageArea .mfa-bio__event-image-label,
body.mfa-bio-page #pageArea .mfa-bio__event-image-source,
body.mfa-bio-page #main .mfa-bio__event-image-label,
body.mfa-bio-page #main .mfa-bio__event-image-source {
	margin: 0;
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	color: inherit !important;
	text-transform: none;
}

body.mfa-bio-page #pageArea .mfa-bio__event-image-label + .mfa-bio__event-image-source,
body.mfa-bio-page #main .mfa-bio__event-image-label + .mfa-bio__event-image-source {
	margin-top: 0.2rem;
}

.mfa-bio__event-copy {
	min-width: 0;
}

.mfa-bio__event-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.65rem;
	margin-bottom: 0.55rem;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--mfa-bio-fg-subtle);
}

.mfa-bio__event-type,
.mfa-bio__event-category,
.mfa-bio__event-meta-sep {
	display: inline-block;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: inherit;
	text-transform: inherit;
	color: inherit;
}

.mfa-bio__event-meta--with-subtype {
	gap: 0 0.15rem;
}

.mfa-bio__event-meta-sep {
	opacity: 0.45;
	padding: 0 0.2em;
}

.mfa-bio__event-date {
	margin: 0 0 0.4rem;
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
	color: var(--mfa-bio-fg-subtle);
}

/* List-only date (year stripped); hidden in Cards — lead lives in body for List */
.mfa-bio__event-date--list,
.mfa-bio__event-date-lead {
	display: none;
}

.mfa-bio__event-title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.1rem, 2vw, 1.45rem);
	line-height: 1.35;
	color: var(--mfa-bio-fg);
	text-transform: none;
}

.mfa-bio__event-body {
	margin: 0;
	line-height: 1.6;
	color: var(--mfa-bio-fg-muted);
}

.mfa-bio__event-body > p {
	margin: 0 0 0.65em;
}

.mfa-bio__event-body > p:last-child {
	margin-bottom: 0;
}

/* Type-specific typography */
.mfa-bio__event--exhibition .mfa-bio__event-body {
	padding-left: 1rem;
	border-left: 2px solid rgba(45, 106, 159, 0.45);
}

.mfa-bio__event--exhibition .mfa-bio__event-title {
	color: var(--mfa-bio-accent-exhibition);
}

.mfa-bio__event--travel .mfa-bio__event-category {
	color: var(--mfa-bio-accent-travel);
}

.mfa-bio__event--award .mfa-bio__event-type {
	color: var(--mfa-bio-accent-award);
}

.mfa-bio__event-relationships {
	margin-top: 1.15rem;
	padding-top: 0.9rem;
	border-top: 1px solid var(--mfa-bio-border);
}

body.mfa-bio-page #pageArea .mfa-bio__relationship-heading,
body.mfa-bio-page #main .mfa-bio__relationship-heading {
	display: block;
	margin: 0 0 0.35rem;
	padding-top: clamp(0.5rem, 0.35rem + 0.45vw, 0.85rem);
	font-size: 0.9375rem !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	color: var(--mfa-bio-fg-subtle) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg-subtle) !important;
}

.mfa-bio__relationship-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.45rem 0.55rem;
	margin-top: 0;
	padding-bottom: var(--mfa-detail-section-title-pad-bottom, clamp(0.75rem, 0.55rem + 0.65vw, 1.25rem));
	max-width: 100%;
}

body.mfa-bio-page #pageArea a.mfa-bio__relationship-chip,
body.mfa-bio-page #main a.mfa-bio__relationship-chip {
	--mfa-bio-rel-chip-inset: 0.35rem;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 0.55rem;
	max-width: 100%;
	min-height: calc(3.5rem + (2 * var(--mfa-bio-rel-chip-inset)));
	padding: var(--mfa-bio-rel-chip-inset) 0.75rem var(--mfa-bio-rel-chip-inset) var(--mfa-bio-rel-chip-inset);
	margin: 0;
	box-sizing: border-box;
	font-family: 'Source Sans 3', sans-serif;
	color: var(--mfa-bio-fg) !important;
	text-decoration: none !important;
	background-color: var(--mfa-bio-event-bg, rgba(51, 51, 51, 0.03));
	border: 1px solid var(--mfa-bio-border);
	border-radius: 2px;
	overflow-wrap: anywhere;
	word-break: break-word;
	transition:
		background-color 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease;
}

body.mfa-bio-page #pageArea a.mfa-bio__relationship-chip *,
body.mfa-bio-page #main a.mfa-bio__relationship-chip * {
	pointer-events: none;
}

body.mfa-bio-page #pageArea a.mfa-bio__relationship-chip:hover,
body.mfa-bio-page #pageArea a.mfa-bio__relationship-chip:focus-visible,
body.mfa-bio-page #main a.mfa-bio__relationship-chip:hover,
body.mfa-bio-page #main a.mfa-bio__relationship-chip:focus-visible {
	background-color: #ffffff;
	border-color: rgba(51, 51, 51, 0.28);
	color: var(--mfa-bio-fg) !important;
	outline: none;
}

body.mfa-bio-page #pageArea a.mfa-bio__relationship-chip:focus-visible,
body.mfa-bio-page #main a.mfa-bio__relationship-chip:focus-visible {
	outline: 2px solid rgba(45, 127, 148, 0.55);
	outline-offset: 2px;
}

.mfa-bio__relationship-chip-thumb-frame {
	display: block;
	flex-shrink: 0;
	align-self: center;
	position: relative;
	width: 3.5rem;
	height: 3.5rem;
	overflow: hidden;
}

.mfa-bio__relationship-chip-thumb {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	border: none;
	outline: none;
}

.mfa-bio__relationship-chip-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.08rem;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	text-align: left;
}

body.mfa-bio-page #pageArea .mfa-bio__relationship-chip-cat,
body.mfa-bio-page #pageArea .mfa-bio__relationship-chip-rel,
body.mfa-bio-page #main .mfa-bio__relationship-chip-cat,
body.mfa-bio-page #main .mfa-bio__relationship-chip-rel {
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--mfa-bio-fg-subtle) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg-subtle) !important;
}

body.mfa-bio-page #pageArea .mfa-bio__relationship-chip-label,
body.mfa-bio-page #main .mfa-bio__relationship-chip-label {
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.35;
	color: var(--mfa-bio-fg) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg) !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}

@media (max-width: 768px) {
	.mfa-bio__year-block {
		padding-bottom: clamp(3rem, 8vh, 5rem);
	}

	.mfa-bio__event,
	.mfa-bio__event--span-4,
	.mfa-bio__event--span-6,
	.mfa-bio__event--span-12 {
		grid-column: span 12;
	}

	.mfa-bio__event:not(.mfa-bio__event--no-image) {
		grid-template-columns: minmax(8rem, 36%) minmax(0, 1fr);
		grid-template-rows: none;
		gap: clamp(0.85rem, 2vw, 1.15rem);
	}

	.mfa-bio__event--no-image {
		grid-template-columns: minmax(0, 1fr);
	}

	.mfa-bio__event-thumb {
		width: 100%;
		margin: 0;
	}

	.mfa-bio__event-image {
		width: 100%;
		height: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mfa-bio__year-block--reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	body.mfa-bio-page #pageArea a.mfa-bio__relationship-chip,
	body.mfa-bio-page #main a.mfa-bio__relationship-chip {
		transition-duration: 0.01ms;
	}
}

/* -------------------------------------------------------------------------
 * Static site pages (Providence content management) — editorial shell like bio
 * ------------------------------------------------------------------------- */

.mfa-static-page {
	padding-top: 0;
	padding-bottom: clamp(3rem, 6vw, 4rem);
}

.mfa-static-page > .container.mfa-page-container {
	padding-top: 0;
	padding-bottom: 0;
}

.mfa-static-page__header {
	margin-bottom: clamp(1.875rem, 4.5vw, 3rem);
	max-width: none;
}

.mfa-static-page__header .mfa-home-hero {
	display: block;
	margin: 0;
	min-width: 0;
}

.mfa-static-page__brand {
	margin: 0 0 0.5rem;
	font-family: 'Source Sans 3', sans-serif;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

body.mfa-bio-page #pageArea.staticPage .mfa-static-page__brand {
	font-size: 1.25rem !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	color: var(--mfa-bio-fg-subtle) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg-subtle) !important;
}

body.mfa-bio-page #pageArea.staticPage .mfa-static-page__title {
	margin-bottom: 0;
	font-size: clamp(2.094rem, 1.031rem + 4.594vw, 4.297rem) !important;
	text-transform: none !important;
	white-space: normal;
}

.mfa-static-page__body {
	max-width: 42rem;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.9375rem !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: var(--mfa-bio-fg, #333333);
}

body.mfa-bio-page #pageArea.staticPage .mfa-static-page__body,
body.mfa-bio-page #pageArea.staticPage .mfa-static-page__body p,
body.mfa-bio-page #pageArea.staticPage .mfa-static-page__body li {
	color: var(--mfa-bio-fg, #333333) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg, #333333) !important;
}

.mfa-static-page__body p {
	margin: 0 0 1.35em;
}

.mfa-static-page__body p:last-child {
	margin-bottom: 0;
}

body.mfa-bio-page #pageArea.staticPage .mfa-static-page__body span.text-huge,
body.mfa-bio-page #pageArea.staticPage .mfa-static-page__body span.text-big {
	display: block;
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.03em;
	text-transform: none;
	color: var(--mfa-bio-fg, #333333) !important;
	-webkit-text-fill-color: var(--mfa-bio-fg, #333333) !important;
}

body.mfa-bio-page #pageArea.staticPage .mfa-static-page__body span.text-huge {
	font-size: clamp(1.47rem, 0.72rem + 3.22vw, 3rem) !important;
	margin: 1.75em 0 0.5em;
}

body.mfa-bio-page #pageArea.staticPage .mfa-static-page__body span.text-big {
	font-size: clamp(1.05rem, 0.52rem + 2.3vw, 2.15rem) !important;
	margin: 1.25em 0 0.35em;
}

body.mfa-bio-page #pageArea.staticPage .mfa-static-page__body > p:first-child span.text-huge,
body.mfa-bio-page #pageArea.staticPage .mfa-static-page__body > p:first-child span.text-big {
	margin-top: 0;
}

.mfa-static-page__body a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.mfa-static-page__body a:hover,
.mfa-static-page__body a:focus-visible {
	text-decoration-thickness: 2px;
}

body.staticPage .mfa-static-page__body img {
	max-width: 100%;
	height: auto;
}

/* -------------------------------------------------------------------------
 * MFA Compare (full-screen overlay + plus menu + picker)
 * ------------------------------------------------------------------------- */

.mfa-item-plus-btn {
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.775rem;
	height: 2.775rem;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background-color: #2d7f94;
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 2.025rem;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	opacity: 0;
	transform: scale(0.92);
	transition:
		opacity 0.22s ease,
		transform 0.22s ease,
		background-color 0.22s ease;
}

.mfa-browse-gallery-item,
.mfa-browse-list-media-wrap,
.mfa-detail-object-viewport-frame {
	position: relative;
}

.mfa-browse-gallery-item:hover .mfa-item-plus-btn,
.mfa-browse-gallery-item:focus-within .mfa-item-plus-btn,
.mfa-browse-list-media-wrap:hover .mfa-item-plus-btn,
.mfa-browse-list-media-wrap:focus-within .mfa-item-plus-btn,
.mfa-item-plus-btn:focus-visible,
.mfa-item-plus-btn--open {
	opacity: 1;
	transform: scale(1);
}

.mfa-item-plus-btn:hover,
.mfa-item-plus-btn:focus-visible {
	background-color: #256b7d;
	outline: none;
}

.mfa-item-plus-menu {
	position: absolute;
	z-index: 1200;
	min-width: 11.5rem;
	padding: 0;
	background-color: #000000;
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	font-size: clamp(0.95rem, 0.9rem + 0.25vw, 1.05rem);
	font-weight: 350;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}

.mfa-item-plus-menu__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	box-sizing: border-box;
	/* Match Detail media-stack button height so separators line up */
	height: 3.5rem;
	margin: 0;
	padding: 0 0.9rem;
	border: none;
	border-top: 1px solid #2a2a2a;
	background: transparent;
	color: #ffffff;
	text-align: left;
	text-decoration: none;
	font: inherit;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.mfa-item-plus-menu__item:first-child {
	border-top: none;
}

.mfa-item-plus-menu__label {
	flex: 1 1 auto;
	min-width: 0;
}

.mfa-item-plus-menu__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.15rem;
	height: 1.15rem;
	color: currentColor;
}

.mfa-item-plus-menu__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.mfa-item-plus-menu__item:hover,
.mfa-item-plus-menu__item:focus-visible {
	background-color: #ffffff;
	color: #000000;
	outline: none;
	text-decoration: none;
}

.mfa-item-plus-menu__item--disabled,
.mfa-item-plus-menu__item:disabled {
	opacity: 0.78;
	cursor: default;
	pointer-events: none;
	color: rgba(255, 255, 255, 0.72);
}

.mfa-item-plus-menu__item--disabled:hover,
.mfa-item-plus-menu__item:disabled:hover,
.mfa-item-plus-menu__item--disabled:focus-visible,
.mfa-item-plus-menu__item:disabled:focus-visible {
	background-color: transparent;
	color: rgba(255, 255, 255, 0.72);
}

@media (prefers-reduced-motion: reduce) {
	.mfa-item-plus-menu__item {
		transition: none;
		transition-duration: 0.01ms;
	}
}

/* Download image modal (plus menu) */
.mfa-download-modal {
	position: fixed;
	inset: 0;
	z-index: 1300;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.22s ease,
		visibility 0.22s ease;
}

.mfa-download-modal--open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.mfa-download-modal__backdrop {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.45);
}

.mfa-download-modal__panel {
	position: relative;
	z-index: 1;
	width: min(26rem, 100%);
	box-sizing: border-box;
	padding: 1.85rem 1.9rem 1.9rem;
	background-color: #3a3a3a;
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.4);
}

.mfa-download-modal__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 1.35rem;
}

.mfa-download-modal__title {
	margin: 0;
	padding: 0;
	font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.25rem);
	font-weight: 450;
	line-height: 1.3;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.mfa-download-modal__close {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	margin: -0.35rem -0.35rem 0 0;
	padding: 0;
	border: none;
	background: transparent;
	color: #ffffff;
	font-size: 1.65rem;
	line-height: 1;
	cursor: pointer;
}

.mfa-download-modal__close:hover,
.mfa-download-modal__close:focus-visible {
	color: #ffffff;
	background-color: #4a5158;
	outline: none;
}

.mfa-download-modal__info {
	margin: 0 0 1.6rem;
	font-size: clamp(0.92rem, 0.88rem + 0.2vw, 1.02rem);
	font-weight: 350;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.88);
}

.mfa-download-modal__download {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.85rem 1.15rem;
	border: none;
	border-radius: 0;
	background-color: #2d7f94;
	color: #ffffff;
	font-family: inherit;
	font-size: clamp(0.98rem, 0.94rem + 0.2vw, 1.08rem);
	font-weight: 350;
	line-height: 1.3;
	cursor: pointer;
	transition: background-color 0.22s ease;
}

.mfa-download-modal__download:hover,
.mfa-download-modal__download:focus-visible {
	background-color: #256b7d;
	outline: none;
}

.mfa-download-modal__download:disabled {
	opacity: 0.55;
	cursor: default;
}

@media (prefers-reduced-motion: reduce) {
	.mfa-download-modal,
	.mfa-download-modal__download {
		transition: none;
		transition-duration: 0.01ms;
	}
}

body.mfa-compare-open {
	overflow: hidden;
}

.mfa-compare-overlay {
	position: fixed;
	inset: 0;
	z-index: 1150;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	background-color: #454c54;
	color: #f2f2f2;
	font-family: 'Source Sans 3', sans-serif;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.4s ease,
		visibility 0.4s ease;
}

.mfa-compare-overlay.mfa-compare-overlay--open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.mfa-compare-overlay[hidden] {
	display: none !important;
}

.mfa-compare-overlay__chrome {
	position: absolute;
	inset: 0;
	z-index: 5;
	pointer-events: none;
}

.mfa-compare-overlay__chrome > * {
	pointer-events: auto;
}

.mfa-compare-done {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 6;
	margin: 0;
	padding: 0.85rem 1.45rem;
	border: none;
	border-radius: 0;
	background-color: #2d7f94;
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 350;
	font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem);
	letter-spacing: normal;
	line-height: 1.45;
	cursor: pointer;
	box-shadow: none;
	transition:
		background-color 0.22s ease,
		opacity 0.35s ease,
		visibility 0.35s ease;
}

.mfa-compare-done:hover,
.mfa-compare-done:focus-visible {
	background-color: #256b7d;
	outline: none;
}

/* Compact dark chrome bar — Done height × 1.2. */
.mfa-compare-layout-bar {
	position: absolute;
	left: 50%;
	bottom: 1.25rem;
	z-index: 6;
	display: none;
	align-items: center;
	justify-content: flex-start;
	gap: 1.35rem;
	transform: translateX(-50%);
	box-sizing: border-box;
	width: max-content;
	max-width: calc(100% - 2rem);
	min-height: calc((0.85rem * 2 + 1.45 * clamp(1rem, 0.92rem + 0.4vw, 1.1875rem)) * 1.2);
	margin: 0;
	padding: 0 0.8rem 0 0.9rem;
	background-color: #3a3a3a;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.28);
	font-family: 'Source Sans 3', sans-serif;
	color: #f2f2f2;
	transition:
		opacity 0.35s ease,
		visibility 0.35s ease;
}

.mfa-compare-overlay--compare-view .mfa-compare-layout-bar:not([hidden]) {
	display: flex;
}

.mfa-compare-layout-bar__back {
	display: none;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 2px;
	background: transparent;
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 1.95rem;
	font-weight: 350;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.22s ease, color 0.22s ease;
}

.mfa-compare-overlay--editing .mfa-compare-layout-bar__back {
	display: inline-flex;
}

.mfa-compare-layout-bar__back:hover,
.mfa-compare-layout-bar__back:focus-visible {
	background-color: rgba(255, 255, 255, 0.12);
	outline: none;
}

.mfa-compare-layout-bar__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	min-width: 0;
	gap: 0.05rem;
	text-align: left;
}

.mfa-compare-layout-bar__cat {
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

.mfa-compare-layout-bar__main {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.25;
	text-transform: uppercase;
	color: #ffffff;
}

.mfa-compare-change {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	gap: 0.4rem;
	flex-shrink: 0;
	margin: 0.625rem 0;
	padding: 0 0.95rem;
	border: none;
	border-radius: 2px;
	background-color: #6a727a;
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 350;
	font-size: clamp(0.95rem, 0.88rem + 0.3vw, 1.1rem);
	letter-spacing: 0.02em;
	line-height: 1.25;
	cursor: pointer;
	transition:
		background-color 0.22s ease,
		color 0.22s ease;
}

.mfa-compare-change:hover,
.mfa-compare-change:focus-visible {
	background-color: #ffffff;
	color: #3a3a3a;
	outline: none;
}

.mfa-compare-change__icon {
	display: block;
	flex-shrink: 0;
}

.mfa-compare-overlay--editing .mfa-compare-done {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.mfa-compare-overlay--chrome-idle .mfa-compare-done,
.mfa-compare-overlay--chrome-idle .mfa-compare-layout-bar,
.mfa-compare-overlay--chrome-idle .mfa-compare-slot__remove,
.mfa-compare-overlay--chrome-idle .mfa-compare-slot__meta {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.mfa-compare-overlay__body {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	padding: 4.5rem 1.5rem 1.5rem;
	box-sizing: border-box;
}

/* Full-bleed compare grid: no outer or inter-cell margins. */
.mfa-compare-overlay--compare-view .mfa-compare-overlay__body {
	padding: 0;
	align-items: stretch;
	justify-content: stretch;
}

.mfa-compare-templates {
	width: min(56rem, 100%);
	text-align: center;
}

.mfa-compare-templates__title {
	margin: 0 0 1.75rem;
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 350;
	font-size: clamp(1.15rem, 1rem + 0.6vw, 1.5rem);
	color: #ffffff;
	text-transform: none;
}

.mfa-compare-templates__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

.mfa-compare-template-card {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	margin: 0;
	padding: 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background-color: #3a3a3a;
	cursor: pointer;
	transition:
		background-color 0.22s ease,
		border-color 0.22s ease,
		transform 0.22s ease;
}

.mfa-compare-template-card:hover,
.mfa-compare-template-card:focus-visible {
	background-color: #4a5158;
	border-color: rgba(255, 255, 255, 0.4);
	outline: none;
	transform: scale(1.02);
}

.mfa-compare-template-card__visual {
	display: grid;
	width: 100%;
	height: 100%;
	gap: 0.4rem;
}

.mfa-compare-template-card__visual--portrait2 {
	grid-template-columns: 1fr 1fr;
}

.mfa-compare-template-card__visual--landscape2 {
	grid-template-rows: 1fr 1fr;
}

.mfa-compare-template-card__visual--mixed3 {
	grid-template-columns: 1.1fr 1fr;
	grid-template-rows: 1fr 1fr;
}

.mfa-compare-template-card__visual span,
.mfa-compare-template-card__visual i {
	display: block;
	background-color: #6a727a;
	min-height: 0;
}

.mfa-compare-template-card__visual--mixed3 .mfa-compare-template-card__portrait {
	grid-row: 1 / span 2;
}

.mfa-compare-template-card__visual--mixed3 .mfa-compare-template-card__stack {
	grid-row: 1 / span 2;
	display: grid;
	grid-template-rows: 1fr 1fr;
	gap: 0.4rem;
	min-height: 0;
	background: transparent;
}

.mfa-compare-template-card__visual--grid2x2 {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
}

.mfa-compare-layout {
	width: 100%;
	height: 100%;
	min-height: 0;
	display: grid;
	gap: 0;
	box-sizing: border-box;
}

.mfa-compare-overlay--compare-view .mfa-compare-layout {
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
	min-height: 100%;
}

.mfa-compare-layout--portrait2 {
	grid-template-columns: 1fr 1fr;
}

.mfa-compare-layout--landscape2 {
	grid-template-rows: 1fr 1fr;
}

.mfa-compare-layout--mixed3 {
	grid-template-columns: 1.15fr 1fr;
	grid-template-rows: 1fr 1fr;
}

.mfa-compare-layout--mixed3 .mfa-compare-slot:first-child {
	grid-row: 1 / span 2;
}

.mfa-compare-layout--grid2x2 {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
}

.mfa-compare-slot {
	position: relative;
	min-height: 0;
	height: 100%;
	align-self: stretch;
	background-color: #3a3a3a;
	overflow: hidden;
}

.mfa-compare-slot__stage {
	position: absolute;
	inset: 0;
	width: auto;
	height: auto;
	overflow: hidden;
	touch-action: none;
	cursor: grab;
	transform: translateZ(0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.mfa-compare-slot__stage.is-panning {
	cursor: grabbing;
}

.mfa-compare-slot__pan {
	position: absolute;
	left: 0;
	top: 0;
	transform-origin: 0 0;
	will-change: transform;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.mfa-compare-slot__img {
	display: block;
	width: auto;
	height: auto;
	max-width: none;
	max-height: none;
	object-fit: none;
	background-color: transparent;
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none;
}

.mfa-compare-slot__meta {
	position: absolute;
	top: 0.75rem;
	left: 50%;
	z-index: 2;
	transform: translateX(-50%);
	max-width: calc(100% - 5.5rem);
	box-sizing: border-box;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	background-color: rgba(0, 0, 0, 0.62);
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 350;
	font-size: clamp(0.85rem, 0.8rem + 0.25vw, 0.95rem);
	line-height: 1.35;
	letter-spacing: 0.01em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	pointer-events: none;
	transition:
		opacity 0.35s ease,
		visibility 0.35s ease;
}

.mfa-compare-slot__add {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 1rem;
	border: none;
	background: transparent;
	color: #f2f2f2;
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 350;
	font-size: clamp(0.95rem, 0.9rem + 0.3vw, 1.1rem);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.22s ease, color 0.22s ease;
}

.mfa-compare-slot__add:hover,
.mfa-compare-slot__add:focus-visible {
	background-color: #4a5158;
	color: #ffffff;
	outline: none;
}

.mfa-compare-slot__add-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border: 2px solid currentColor;
	border-radius: 50%;
	font-size: 1.75rem;
	line-height: 1;
}

.mfa-compare-slot__remove {
	position: absolute;
	top: 0.65rem;
	right: 0.65rem;
	bottom: auto;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background-color: #4a5158;
	color: #ffffff;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		background-color 0.22s ease,
		transform 0.22s ease,
		opacity 0.35s ease,
		visibility 0.35s ease;
}

.mfa-compare-overlay--editing:not(.mfa-compare-overlay--chrome-idle) .mfa-compare-slot__remove {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.mfa-compare-slot__remove-icon {
	display: block;
}

.mfa-compare-slot__remove:hover,
.mfa-compare-slot__remove:focus-visible {
	background-color: #2c2c2c;
	outline: none;
	transform: scale(1.08);
}

.mfa-compare-picker-panel {
	position: fixed;
	inset: 0;
	z-index: 1160;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(0.5rem, 1.5vw, 1rem);
	box-sizing: border-box;
	pointer-events: none;
}

.mfa-compare-picker-panel:not([hidden]) {
	pointer-events: auto;
}

.mfa-compare-picker-panel[hidden] {
	display: none !important;
}

.mfa-compare-picker-panel .mfa-detail-browse-gallery-panel__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.52);
	opacity: 0;
	transition: opacity 0.28s ease;
}

.mfa-compare-picker-panel.mfa-detail-browse-gallery-panel--open .mfa-detail-browse-gallery-panel__backdrop {
	opacity: 1;
}

.mfa-compare-picker-panel .mfa-detail-browse-gallery-panel__dialog {
	--mfa-detail-gallery-scale: 0.3;
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(calc(24rem * 1.4), calc((100vw - 1.25rem) * 1.4));
	height: min(24rem, calc(100vw - 1.25rem), 68vh);
	max-width: 100%;
	max-height: 68vh;
	background: #454c54;
	border: 12px solid var(--mfa-site-search-filters-panel-background);
	box-shadow: 0 10px 32px rgba(0, 0, 0, 0.48);
	overflow: hidden;
	opacity: 0;
	transform: translateY(0.35rem) scale(0.98);
	transition:
		opacity 0.28s ease,
		transform 0.28s ease;
}

.mfa-compare-picker-panel.mfa-detail-browse-gallery-panel--open .mfa-detail-browse-gallery-panel__dialog {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.mfa-compare-picker-panel .mfa-detail-browse-gallery-panel__scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	overscroll-behavior: contain;
	padding: 3px;
	background: #454c54;
	box-sizing: border-box;
}

.mfa-compare-picker-panel .mfa-detail-browse-gallery-panel__grid.mfa-browse-gallery-masonry {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-flow: row dense;
	grid-auto-rows: min(
		calc(5.25vh * var(--mfa-detail-gallery-scale, 0.3)),
		calc(3.5rem * var(--mfa-detail-gallery-scale, 0.3))
	);
	gap: 0;
	width: 100%;
	background-color: #454c54;
	padding: 0;
}

.mfa-compare-picker-panel .mfa-browse-gallery-item-caption {
	opacity: 0;
	font-size: clamp(
		0.84375rem,
		calc(1.5rem * var(--mfa-detail-gallery-scale, 0.3)),
		calc(1.78125rem * var(--mfa-detail-gallery-scale, 0.3))
	);
	padding: clamp(0.33rem, calc(0.675rem * var(--mfa-detail-gallery-scale, 0.3)), 0.525rem)
		clamp(0.42rem, calc(0.825rem * var(--mfa-detail-gallery-scale, 0.3)), 0.63rem)
		clamp(0.375rem, calc(0.75rem * var(--mfa-detail-gallery-scale, 0.3)), 0.57rem);
}

.mfa-compare-picker-panel .mfa-browse-gallery-item-caption::before {
	min-height: calc(5.25rem * var(--mfa-detail-gallery-scale, 0.3));
	height: 145%;
}

.mfa-compare-picker-panel .mfa-browse-gallery-item-link:hover .mfa-browse-gallery-item-caption,
.mfa-compare-picker-panel .mfa-browse-gallery-item-link:focus-within .mfa-browse-gallery-item-caption {
	opacity: 1;
}

.mfa-compare-picker-panel .mfa-browse-gallery-item-caption-title-line,
.mfa-compare-picker-panel .mfa-browse-gallery-item-caption-date {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}

.mfa-compare-picker-panel .mfa-browse-gallery-item-img {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1.25);
	transition: none;
}

.mfa-compare-picker-toolbar {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.65rem 0.75rem 0.35rem;
	box-sizing: border-box;
	background: #454c54;
}

.mfa-compare-picker-search {
	margin: 0;
	padding: 0.45rem 0.9rem;
	border: 1px solid rgba(255, 255, 255, 0.28);
	background: #3a3a3a;
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 350;
	font-size: 0.95rem;
	cursor: pointer;
	transition: background-color 0.22s ease, border-color 0.22s ease;
}

.mfa-compare-picker-search:hover,
.mfa-compare-picker-search:focus-visible {
	background-color: #4a5158;
	border-color: rgba(255, 255, 255, 0.5);
	outline: none;
}

.mfa-compare-picker-close {
	margin: 0;
	margin-left: auto;
	padding: 0.35rem 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.28);
	background: #3a3a3a;
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 350;
	font-size: 0.9rem;
	cursor: pointer;
	transition: background-color 0.22s ease, border-color 0.22s ease;
}

.mfa-compare-picker-close:hover,
.mfa-compare-picker-close:focus-visible {
	background-color: #4a5158;
	border-color: rgba(255, 255, 255, 0.5);
	outline: none;
}

/* Related artworks panel (Browse + menu; does not touch browse sessionStorage) */
.mfa-related-picker-panel {
	position: fixed;
	inset: 0;
	z-index: 1160;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(0.5rem, 1.5vw, 1rem);
	box-sizing: border-box;
	pointer-events: none;
}

.mfa-related-picker-panel:not([hidden]) {
	pointer-events: auto;
}

.mfa-related-picker-panel[hidden] {
	display: none !important;
}

.mfa-related-picker-panel .mfa-detail-browse-gallery-panel__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.52);
	opacity: 0;
	transition: opacity 0.28s ease;
}

.mfa-related-picker-panel.mfa-detail-browse-gallery-panel--open .mfa-detail-browse-gallery-panel__backdrop,
.mfa-related-picker-panel.mfa-related-picker-panel--open .mfa-detail-browse-gallery-panel__backdrop {
	opacity: 1;
}

.mfa-related-picker-panel .mfa-detail-browse-gallery-panel__dialog {
	--mfa-detail-gallery-scale: 0.3;
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(calc(24rem * 1.4), calc((100vw - 1.25rem) * 1.4));
	height: min(24rem, calc(100vw - 1.25rem), 68vh);
	max-width: 100%;
	max-height: 68vh;
	background: #454c54;
	border: 12px solid var(--mfa-site-search-filters-panel-background);
	box-shadow: 0 10px 32px rgba(0, 0, 0, 0.48);
	overflow: hidden;
	opacity: 0;
	transform: translateY(0.35rem) scale(0.98);
	transition:
		opacity 0.28s ease,
		transform 0.28s ease;
}

.mfa-related-picker-panel.mfa-detail-browse-gallery-panel--open .mfa-detail-browse-gallery-panel__dialog,
.mfa-related-picker-panel.mfa-related-picker-panel--open .mfa-detail-browse-gallery-panel__dialog {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.mfa-related-picker-toolbar {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.65rem 0.75rem 0.35rem;
	box-sizing: border-box;
	background: #454c54;
}

.mfa-related-picker-title {
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 350;
	font-size: 0.95rem;
}

.mfa-related-picker-close {
	margin: 0;
	padding: 0.35rem 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.28);
	background: #3a3a3a;
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 350;
	font-size: 0.9rem;
	cursor: pointer;
	transition: background-color 0.22s ease, border-color 0.22s ease;
}

.mfa-related-picker-close:hover,
.mfa-related-picker-close:focus-visible {
	background-color: #4a5158;
	border-color: rgba(255, 255, 255, 0.5);
	outline: none;
}

.mfa-related-picker-empty {
	padding: 1.25rem 1rem;
	color: rgba(255, 255, 255, 0.85);
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.95rem;
	text-align: center;
}

.mfa-related-picker-panel .mfa-detail-browse-gallery-panel__scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	overscroll-behavior: contain;
	padding: 3px;
	background: #454c54;
	box-sizing: border-box;
}

.mfa-related-picker-panel .mfa-detail-browse-gallery-panel__grid.mfa-browse-gallery-masonry {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-flow: row dense;
	grid-auto-rows: min(
		calc(5.25vh * var(--mfa-detail-gallery-scale, 0.3)),
		calc(3.5rem * var(--mfa-detail-gallery-scale, 0.3))
	);
	gap: 0;
	width: 100%;
	background-color: #454c54;
	padding: 0;
}

.mfa-related-picker-panel .mfa-browse-gallery-item-caption {
	opacity: 0;
	font-size: clamp(
		0.84375rem,
		calc(1.5rem * var(--mfa-detail-gallery-scale, 0.3)),
		calc(1.78125rem * var(--mfa-detail-gallery-scale, 0.3))
	);
	padding: clamp(0.33rem, calc(0.675rem * var(--mfa-detail-gallery-scale, 0.3)), 0.525rem)
		clamp(0.42rem, calc(0.825rem * var(--mfa-detail-gallery-scale, 0.3)), 0.63rem)
		clamp(0.375rem, calc(0.75rem * var(--mfa-detail-gallery-scale, 0.3)), 0.57rem);
}

.mfa-related-picker-panel .mfa-browse-gallery-item-caption::before {
	min-height: calc(5.25rem * var(--mfa-detail-gallery-scale, 0.3));
	height: 145%;
}

.mfa-related-picker-panel .mfa-browse-gallery-item-link:hover .mfa-browse-gallery-item-caption,
.mfa-related-picker-panel .mfa-browse-gallery-item-link:focus-within .mfa-browse-gallery-item-caption {
	opacity: 1;
}

.mfa-related-picker-panel .mfa-browse-gallery-item-caption-title-line,
.mfa-related-picker-panel .mfa-browse-gallery-item-caption-date {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}

.mfa-related-picker-panel .mfa-related-picker-reltype {
	text-transform: uppercase;
	opacity: 0.85;
	font-size: 0.92em;
}

.mfa-related-picker-panel .mfa-browse-gallery-item-img {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1.25);
	transition: none;
}

.mfa-related-picker-panel .mfa-related-picker-item--seed,
.mfa-related-picker-panel .mfa-detail-browse-gallery-panel__item--current {
	outline: 2px solid rgba(255, 255, 255, 0.55);
	outline-offset: -2px;
}

@media (prefers-reduced-motion: reduce) {
	.mfa-related-picker-panel .mfa-detail-browse-gallery-panel__backdrop,
	.mfa-related-picker-panel .mfa-detail-browse-gallery-panel__dialog,
	.mfa-related-picker-close {
		transition: none;
		transition-duration: 0.01ms;
	}
}

@media (max-width: 991px) {
	.mfa-compare-templates__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 28rem;
		margin: 0 auto;
	}
}

@media (max-width: 767px) {
	.mfa-compare-layout--portrait2,
	.mfa-compare-layout--mixed3 {
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	.mfa-compare-layout--mixed3 .mfa-compare-slot:first-child {
		grid-row: auto;
	}
}

/* ==========================================================================
   Resources / Citations (occurrences type cites)
   ========================================================================== */
body.mfa-resources-page #pageArea {
	padding-bottom: clamp(3rem, 8vh, 5rem);
}

.mfa-resources {
	width: 100%;
}

.mfa-resources__header {
	margin: 0 0 clamp(1.75rem, 4vw, 2.75rem);
	max-width: 52rem;
}

.mfa-resources__header .mfa-home-hero {
	margin-bottom: 0;
}

.mfa-resources__intro {
	margin: clamp(0.85rem, 2vw, 1.25rem) 0 0;
	color: rgba(51, 51, 51, 0.78);
	font-size: clamp(1.02rem, 0.95rem + 0.35vw, 1.12rem);
	line-height: 1.55;
	max-width: 42rem;
}

.mfa-resources__intro p {
	margin: 0 0 0.75rem;
}

.mfa-resources__intro p:last-child {
	margin-bottom: 0;
}

.mfa-resources__empty {
	max-width: 40rem;
	margin: 0 auto;
	padding: clamp(1.25rem, 3vw, 2rem) 0;
	color: rgba(51, 51, 51, 0.72);
	font-size: 1.05rem;
	line-height: 1.55;
	text-align: center;
}

.mfa-resources__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(1.25rem, 3vw, 2rem);
	max-width: 52rem;
}

.mfa-resources__card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.85rem;
	align-items: start;
	padding: clamp(1.15rem, 2.5vw, 1.65rem) clamp(1.1rem, 2.4vw, 1.6rem);
	background: rgba(51, 51, 51, 0.03);
	border: 1px solid rgba(51, 51, 51, 0.12);
	border-radius: 10px;
	transition:
		border-color 0.25s ease,
		background-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

.mfa-resources__card:hover,
.mfa-resources__card:focus-within {
	border-color: rgba(51, 51, 51, 0.28);
	background: rgba(51, 51, 51, 0.045);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
	transform: translateY(-1px);
}

.mfa-resources__card-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.85rem;
	min-width: 0;
}

.mfa-resources__media {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.55rem;
	min-width: 0;
}

.mfa-resources__media-link {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.45rem;
	color: inherit !important;
	text-decoration: none !important;
	min-width: 0;
}

.mfa-resources__media-thumb {
	display: block;
	width: 100%;
	max-width: 11rem;
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid rgba(51, 51, 51, 0.14);
	background: rgba(255, 255, 255, 0.8);
	transition:
		border-color 0.22s ease,
		box-shadow 0.22s ease,
		opacity 0.22s ease;
}

.mfa-resources__media-fallback {
	display: block;
	width: 100%;
	max-width: 11rem;
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	border: 1px dashed rgba(51, 51, 51, 0.2);
	background: rgba(255, 255, 255, 0.55);
}

.mfa-resources__media-caption {
	display: grid;
	gap: 0.15rem;
	max-width: 11rem;
}

.mfa-resources__media-caption-label {
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.3;
	color: #333;
}

.mfa-resources__media-caption-idno {
	font-size: 0.75rem;
	line-height: 1.25;
	color: rgba(51, 51, 51, 0.58);
	font-variant-numeric: tabular-nums;
}

.mfa-resources__media-link:hover .mfa-resources__media-thumb,
.mfa-resources__media-link:focus-visible .mfa-resources__media-thumb {
	border-color: rgba(51, 51, 51, 0.4);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
	opacity: 0.96;
}

.mfa-resources__media-link:focus-visible {
	outline: 2px solid rgba(51, 51, 51, 0.45);
	outline-offset: 2px;
}

.mfa-resources__media-more {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	max-width: 11rem;
}

.mfa-resources__media-more-link {
	display: block;
	width: 2.85rem;
	height: 2.85rem;
	overflow: hidden;
	border-radius: 5px;
	border: 1px solid rgba(51, 51, 51, 0.14);
	background: rgba(255, 255, 255, 0.8);
	transition:
		border-color 0.22s ease,
		transform 0.22s ease,
		box-shadow 0.22s ease;
}

.mfa-resources__media-more-link:hover,
.mfa-resources__media-more-link:focus-visible {
	border-color: rgba(51, 51, 51, 0.4);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.mfa-resources__media-more-thumb {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mfa-resources__media-more-label {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0.2rem;
	font-size: 0.58rem;
	line-height: 1.2;
	text-align: center;
	color: #333;
}

@media (min-width: 640px) {
	.mfa-resources__card--has-media {
		grid-template-columns: minmax(0, 1fr) minmax(7.5rem, 9.5rem);
		gap: clamp(1rem, 2vw, 1.35rem);
		align-items: start;
	}

	.mfa-resources__card--has-media > .mfa-resources__card-body {
		grid-column: 1;
		grid-row: 1;
	}

	.mfa-resources__card--has-media > .mfa-resources__media {
		grid-column: 2;
		grid-row: 1;
	}

	.mfa-resources__media-thumb,
	.mfa-resources__media-fallback,
	.mfa-resources__media-caption,
	.mfa-resources__media-more {
		max-width: none;
	}
}

.mfa-resources__card-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem 0.85rem;
}

.mfa-resources__source {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding: 0.38rem 0.8rem;
	border-radius: 999px;
	border: 1px solid rgba(51, 51, 51, 0.18);
	background: rgba(255, 255, 255, 0.72);
	color: #333;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.4;
}

a.mfa-resources__source--link {
	color: #333 !important;
	text-decoration: none !important;
	cursor: pointer;
	gap: 0.4rem;
	transition:
		background-color 0.22s ease,
		border-color 0.22s ease,
		color 0.22s ease,
		transform 0.22s ease;
}

a.mfa-resources__source--link::after {
	content: "\2197";
	margin-left: 0.1rem;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	opacity: 0.55;
	transition: opacity 0.22s ease;
}

a.mfa-resources__source--link:hover,
a.mfa-resources__source--link:focus-visible {
	background: #333;
	border-color: #333;
	color: #fff !important;
	transform: translateY(-1px);
}

a.mfa-resources__source--link:hover::after,
a.mfa-resources__source--link:focus-visible::after {
	opacity: 0.95;
}

a.mfa-resources__source--link:focus-visible {
	outline: 2px solid rgba(51, 51, 51, 0.45);
	outline-offset: 2px;
}

.mfa-resources__date,
.mfa-resources__date--undated {
	color: rgba(51, 51, 51, 0.62);
	font-size: 0.92rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.01em;
}

.mfa-resources__card-title {
	margin: 0;
	color: #222;
	font-family: inherit;
	font-size: clamp(1.2rem, 0.95rem + 1.1vw, 1.55rem);
	font-weight: 600;
	line-height: 1.28;
	letter-spacing: -0.01em;
}

.mfa-resources__excerpt {
	margin: 0;
	padding: 0 0 0 0.95rem;
	border-left: 2px solid rgba(51, 51, 51, 0.22);
	color: rgba(51, 51, 51, 0.82);
	font-size: 1rem;
	line-height: 1.55;
}

.mfa-resources__excerpt p {
	margin: 0 0 0.65rem;
}

.mfa-resources__excerpt p:last-child {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.mfa-resources__list {
		max-width: 56rem;
	}
}

/* Work detail — Mentions / digital bibliography */
#pageArea.detail .mfa-detail-citations {
	margin-top: 0.25rem;
}

#pageArea.detail .mfa-detail-citations__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.85rem;
}

#pageArea.detail .mfa-detail-citations__item {
	padding: 0.85rem 0.95rem;
	border: 1px solid rgba(51, 51, 51, 0.12);
	border-radius: 8px;
	background: rgba(51, 51, 51, 0.025);
}

#pageArea.detail .mfa-detail-citations__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.75rem;
	margin-bottom: 0.35rem;
}

#pageArea.detail .mfa-detail-citations__source {
	display: inline-flex;
	align-items: center;
	padding: 0.3rem 0.65rem;
	border-radius: 999px;
	border: 1px solid rgba(51, 51, 51, 0.16);
	background: #fff;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	line-height: 1.4;
	color: #333;
}

#pageArea.detail a.mfa-detail-citations__source--link {
	color: #333 !important;
	text-decoration: none !important;
	cursor: pointer;
	gap: 0.35rem;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

#pageArea.detail a.mfa-detail-citations__source--link::after {
	content: "\2197";
	margin-left: 0.1rem;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	opacity: 0.55;
	transition: opacity 0.2s ease;
}

#pageArea.detail a.mfa-detail-citations__source--link:hover,
#pageArea.detail a.mfa-detail-citations__source--link:focus-visible {
	background: #333;
	border-color: #333;
	color: #fff !important;
	transform: translateY(-1px);
}

#pageArea.detail a.mfa-detail-citations__source--link:hover::after,
#pageArea.detail a.mfa-detail-citations__source--link:focus-visible::after {
	opacity: 0.95;
}

#pageArea.detail .mfa-detail-citations__date {
	color: rgba(51, 51, 51, 0.62);
	font-size: 0.88rem;
}

#pageArea.detail .mfa-detail-citations__title {
	margin: 0 0 0.35rem;
	font-size: 1.02rem;
	font-weight: 600;
	line-height: 1.35;
	color: #222;
}

#pageArea.detail .mfa-detail-citations__excerpt {
	margin: 0 0 0.55rem;
	color: rgba(51, 51, 51, 0.78);
	font-size: 0.95rem;
	line-height: 1.5;
}

#pageArea.detail .mfa-detail-citations__excerpt p {
	margin: 0 0 0.45rem;
}

#pageArea.detail .mfa-detail-citations__excerpt p:last-child {
	margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
	.mfa-resources__card,
	a.mfa-resources__source--link,
	.mfa-resources__media-thumb,
	.mfa-resources__media-more-link,
	#pageArea.detail a.mfa-detail-citations__source--link {
		transition: none;
		transition-duration: 0.01ms;
	}

	.mfa-resources__card:hover,
	.mfa-resources__card:focus-within,
	a.mfa-resources__source--link:hover,
	a.mfa-resources__source--link:focus-visible,
	.mfa-resources__media-more-link:hover,
	.mfa-resources__media-more-link:focus-visible,
	#pageArea.detail a.mfa-detail-citations__source--link:hover,
	#pageArea.detail a.mfa-detail-citations__source--link:focus-visible {
		transform: none;
	}

	.mfa-item-plus-btn,
	.mfa-compare-overlay,
	.mfa-compare-template-card,
	.mfa-compare-slot__remove,
	.mfa-compare-slot__meta,
	.mfa-compare-done,
	.mfa-compare-layout-bar,
	.mfa-compare-layout-bar__back,
	.mfa-compare-change,
	.mfa-compare-picker-panel .mfa-detail-browse-gallery-panel__backdrop,
	.mfa-compare-picker-panel .mfa-detail-browse-gallery-panel__dialog,
	.mfa-compare-picker-search,
	.mfa-compare-picker-close {
		transition: none;
		transition-duration: 0.01ms;
	}

	.mfa-item-plus-btn:hover,
	.mfa-item-plus-btn:focus-visible,
	.mfa-compare-template-card:hover,
	.mfa-compare-template-card:focus-visible,
	.mfa-compare-slot__remove:hover,
	.mfa-compare-slot__remove:focus-visible {
		transform: none;
	}

	.mfa-compare-overlay--chrome-idle .mfa-compare-done,
	.mfa-compare-overlay--chrome-idle .mfa-compare-layout-bar,
	.mfa-compare-overlay--chrome-idle .mfa-compare-slot__remove,
	.mfa-compare-overlay--chrome-idle .mfa-compare-slot__meta {
		opacity: 0;
		visibility: hidden;
	}

	.mfa-compare-slot__pan {
		transition: none !important;
	}
}

/* Temporary Pawtucket view inventory (MfaUrlInventory) — remove with audit page */
.mfa-url-inventory__banner {
	margin: 1rem 0;
	padding: 0.75rem 1rem;
	border-left: 4px solid #c45c26;
	background: rgba(196, 92, 38, 0.08);
}

.mfa-url-inventory__filter {
	max-width: 28rem;
	margin-top: 0.35rem;
}

.mfa-url-inventory__section {
	margin: 2.5rem 0;
}

.mfa-url-inventory__section h2 {
	margin-bottom: 1rem;
	font-size: 1.35rem;
}

.mfa-url-inventory__links .mfa-url-inventory__link-item {
	margin-bottom: 0.35rem;
}

.mfa-url-inventory__links a {
	white-space: nowrap;
}

.mfa-url-inventory__simple-list {
	list-style: none;
	padding-left: 0;
}

.mfa-url-inventory__simple-list li {
	margin-bottom: 0.65rem;
	line-height: 1.45;
}

.mfa-url-inventory__table code {
	font-size: 0.85em;
}

.mfa-url-inventory__guard-badge {
	display: inline-block;
	margin-left: 0.35rem;
	padding: 0.1rem 0.4rem;
	font-size: 0.75rem;
	font-weight: 600;
	border-radius: 3px;
	background: rgba(196, 92, 38, 0.15);
	color: #8a3d14;
}
