/* ==========================================================================
   3R GALLERY — GALLERY MONOCHROME EDITORIAL SYSTEM
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@500;600;700&family=Libre+Franklin:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root {
	/* Color tokens */
	--trr-surface-primary: #F9F9F9;
	--trr-surface-lowest: #FFFFFF;
	--trr-surface-low: #F3F3F3;
	--trr-surface-container: #EEEEEE;
	--trr-surface-container-high: #E8E8E8;
	--trr-surface-variant: #E2E2E2;
	--trr-surface-dim: #DADADA;
	--trr-surface-inverse: #000000;
	--trr-surface-inverse-soft: #1B1B1B;

	--trr-foreground-primary: #000000;
	--trr-foreground-body: #1B1B1B;
	--trr-foreground-secondary: #5D5F5F;
	--trr-foreground-muted: #4C4546;
	--trr-foreground-inverse: #FFFFFF;
	--trr-foreground-inverse-muted: #C6C6C6;
	--trr-foreground-placeholder: #7E7576;

	--trr-border-strong: #000000;
	--trr-border-subtle: #CFC4C5;
	--trr-border-hairline-inverse: #FFFFFF1A;
	--trr-overlay-scrim-light: #0000004D;
	--trr-overlay-scrim: #00000066;
	--trr-overlay-scrim-strong: #00000080;
	--trr-overlay-gradient-start: #000000CC;
	--trr-status-error: #BA1A1A;

	/* Typography tokens */
	--trr-font-heading: 'Anton', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
	--trr-font-body: 'Libre Franklin', 'Helvetica Neue', Arial, sans-serif;
	--trr-font-caption: 'Inter', 'Libre Franklin', Arial, sans-serif;

	--trr-display-xl: clamp(4.5rem, 10vw, 7.5rem);
	--trr-display-xl-line: 0.92;
	--trr-headline-lg: clamp(2.5rem, 5.4vw, 4rem);
	--trr-headline-lg-line: 1.08;
	--trr-headline-md: clamp(1.75rem, 3vw, 2rem);
	--trr-headline-md-line: 1.12;
	--trr-body-lg: 1.125rem;
	--trr-body-md: 1rem;
	--trr-label-size: 0.75rem;

	/* Spacing tokens */
	--trr-space-3xs: clamp(0.25rem, 0.5vw, 0.5rem);
	--trr-space-2xs: clamp(0.5rem, 1vw, 0.75rem);
	--trr-space-xs: clamp(0.75rem, 1.5vw, 1rem);
	--trr-space-sm: clamp(1rem, 2vw, 1.5rem);
	--trr-space-md: clamp(1.5rem, 3vw, 2.5rem);
	--trr-space-lg: clamp(2.5rem, 5vw, 4rem);
	--trr-space-xl: clamp(4rem, 7vw, 6rem);
	--trr-space-2xl: clamp(4.5rem, 9vw, 8rem);
	--trr-section-space-y: var(--trr-space-2xl);
	--trr-gutter-x: clamp(1rem, 4vw, 4rem);
	--trr-grid-gutter: 1.5rem;
	--trr-card-padding: clamp(1.5rem, 3vw, 2rem);
	--trr-sidebar-padding: clamp(2rem, 4vw, 2.5rem);

	/* Structural tokens */
	--trr-radius-none: 0;
	--trr-rule-heavy: 2px solid var(--trr-border-strong);
	--trr-rule: 1px solid var(--trr-border-strong);
	--trr-rule-inverse: 1px solid var(--trr-border-hairline-inverse);
	--trr-scrim: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 65%, rgba(0, 0, 0, 0.78) 100%);
	--trr-nameplate-gradient: linear-gradient(0deg, var(--trr-overlay-gradient-start) 0%, rgba(0, 0, 0, 0) 80%);

	/* WordPress / Elementor compatibility tokens */
	--e-global-color-primary: var(--trr-foreground-primary);
	--e-global-color-secondary: var(--trr-foreground-secondary);
	--e-global-color-text: var(--trr-foreground-body);
	--e-global-color-accent: var(--trr-foreground-primary);
	--wp--preset--color--black: var(--trr-foreground-primary);
	--wp--preset--color--white: var(--trr-surface-lowest);
}

/* ==========================================================================
   Base global
   ========================================================================== */
html,
body {
	background: var(--trr-surface-primary);
	color: var(--trr-foreground-body);
	font-family: var(--trr-font-body);
	font-size: 16px;
	line-height: 1.5;
	overflow-x: hidden;
}

body,
.elementor,
.site,
#page {
	background-color: var(--trr-surface-primary);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

.elementor *,
.elementor *::before,
.elementor *::after {
	border-radius: var(--trr-radius-none);
	box-shadow: none;
}

img,
.elementor img {
	border-radius: var(--trr-radius-none);
}

a {
	color: var(--trr-foreground-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
}

a:hover,
a:focus {
	color: var(--trr-foreground-primary);
}

::selection {
	background: var(--trr-surface-inverse);
	color: var(--trr-foreground-inverse);
}

/* ==========================================================================
   Typography
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
.wp-block-heading {
	color: var(--trr-foreground-primary);
	font-family: var(--trr-font-heading);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 0.98;
	text-transform: uppercase;
}

h1,
.elementor-widget-theme-post-title h1,
.elementor-widget-heading h1.elementor-heading-title {
	font-size: var(--trr-display-xl);
	line-height: var(--trr-display-xl-line);
}

h2,
.elementor-widget-heading h2.elementor-heading-title {
	font-size: var(--trr-headline-lg);
	line-height: var(--trr-headline-lg-line);
}

h3,
.elementor-widget-heading h3.elementor-heading-title,
h4,
.elementor-widget-heading h4.elementor-heading-title {
	font-size: var(--trr-headline-md);
	line-height: var(--trr-headline-md-line);
}

p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.wp-block-paragraph {
	color: var(--trr-foreground-muted);
	font-family: var(--trr-font-body);
	font-size: var(--trr-body-md);
	font-weight: 400;
	line-height: 1.5;
}

.elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

small,
figcaption,
.elementor-image-box-description,
.elementor-post-info,
.elementor-widget-icon-list .elementor-icon-list-text,
.elementor-nav-menu a,
.elementor-button,
button,
input[type='button'],
input[type='submit'],
.wp-element-button,
.wp-block-button__link {
	font-family: var(--trr-font-caption);
	font-size: var(--trr-label-size);
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.35;
	text-transform: uppercase;
}

.trr-eyebrow,
.elementor-widget-heading.trr-eyebrow .elementor-heading-title,
.elementor .trr-eyebrow,
.elementor .trr-label,
.elementor .trr-meta {
	font-family: var(--trr-font-caption);
	font-size: var(--trr-label-size);
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.35;
	text-transform: uppercase;
}

.trr-hero-eyebrow,
.elementor .trr-hero-eyebrow {
	letter-spacing: 0.2em;
}

.trr-closing-eyebrow,
.elementor .trr-closing-eyebrow {
	letter-spacing: 0.3em;
}

/* ==========================================================================
   Layout rhythm and grids
   ========================================================================== */
.elementor > .e-con.e-parent {
	padding-top: var(--trr-section-space-y);
	padding-bottom: var(--trr-section-space-y);
}

.elementor > .e-con.e-parent:has(> .e-con.e-parent) {
	padding-top: 0;
	padding-bottom: 0;
}

.elementor > .e-con.e-parent > .e-con.e-parent {
	padding-top: var(--trr-section-space-y);
	padding-bottom: var(--trr-section-space-y);
}

.elementor > .e-con.e-parent.e-con-full:not(:has(> .e-con.e-parent)),
.elementor > .e-con.e-parent > .e-con.e-parent.e-con-full,
.elementor-section.elementor-section-boxed > .elementor-container,
.elementor-section.elementor-section-full_width > .elementor-container {
	padding-left: var(--trr-gutter-x);
	padding-right: var(--trr-gutter-x);
}

.trr-12-grid,
.elementor .trr-12-grid {
	display: grid;
	gap: var(--trr-grid-gutter);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.trr-section-header,
.elementor .trr-section-header {
	align-items: end;
	border-bottom: var(--trr-rule-heavy);
	display: flex;
	gap: var(--trr-space-sm);
	justify-content: space-between;
	padding-bottom: var(--trr-space-md);
}

.trr-section-header :is(h1, h2, h3, .elementor-heading-title),
.elementor .trr-section-header :is(h1, h2, h3, .elementor-heading-title) {
	font-size: var(--trr-headline-lg);
	line-height: var(--trr-headline-lg-line);
	margin: 0;
}

.trr-section-header a,
.trr-section-header .elementor-button,
.elementor .trr-section-header a,
.elementor .trr-section-header .elementor-button {
	background: transparent;
	border: 0;
	border-bottom: var(--trr-rule-heavy);
	color: var(--trr-foreground-primary);
	padding: 0 0 0.25rem;
}

.trr-section-header + *,
.elementor .trr-section-header + * {
	margin-top: clamp(3rem, 5vw, 4rem);
}

/* ==========================================================================
   Header and navigation
   ========================================================================== */
.elementor-location-header,
.site-header,
header.site-header {
	background: var(--trr-surface-primary);
	border-bottom: var(--trr-rule);
	box-shadow: none;
	position: sticky;
	top: 0;
	z-index: 50;
}

.elementor-location-header .elementor-heading-title,
.site-header .site-title,
.site-header .site-branding a {
	font-family: var(--trr-font-heading);
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1;
	text-transform: uppercase;
}

.elementor-location-header a,
.elementor-nav-menu a,
.site-navigation a {
	color: var(--trr-foreground-muted);
	font-family: var(--trr-font-caption);
	font-size: var(--trr-label-size);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.elementor-location-header a:hover,
.elementor-nav-menu a:hover,
.site-navigation a:hover {
	color: var(--trr-foreground-primary);
}

/* ==========================================================================
   Buttons, forms, links
   ========================================================================== */
button,
input[type='button'],
input[type='submit'],
.elementor-button,
.wp-element-button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	align-items: center;
	background: var(--trr-surface-inverse);
	border: var(--trr-rule-heavy);
	border-color: var(--trr-border-strong);
	border-radius: 0;
	box-shadow: none;
	color: var(--trr-foreground-inverse);
	display: inline-flex;
	justify-content: center;
	min-height: 3rem;
	padding: 1rem 2rem;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

button:hover,
button:focus,
input[type='button']:hover,
input[type='submit']:hover,
.elementor-button:hover,
.elementor-button:focus,
.wp-element-button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: transparent;
	border-color: var(--trr-border-strong);
	color: var(--trr-foreground-primary);
}

.trr-button-outline .elementor-button,
.elementor-button.trr-button-outline,
.is-style-outline .wp-block-button__link {
	background: var(--trr-surface-lowest);
	color: var(--trr-foreground-primary);
}

.trr-button-outline .elementor-button:hover,
.elementor-button.trr-button-outline:hover,
.is-style-outline .wp-block-button__link:hover {
	background: var(--trr-surface-inverse);
	color: var(--trr-foreground-inverse);
}

.trr-inverse button,
.trr-inverse input[type='submit'],
.trr-inverse .elementor-button,
.elementor .trr-inverse .elementor-button,
.elementor .e-con.trr-inverse .elementor-button,
.elementor .e-con[style*='background-color: #000'] .elementor-button {
	background: transparent;
	border-color: var(--trr-foreground-inverse);
	color: var(--trr-foreground-inverse);
}

.trr-inverse button:hover,
.trr-inverse input[type='submit']:hover,
.trr-inverse .elementor-button:hover,
.elementor .trr-inverse .elementor-button:hover {
	background: var(--trr-surface-lowest);
	color: var(--trr-foreground-primary);
}

.trr-text-link,
.elementor .trr-text-link a,
.elementor-widget-text-editor a,
.elementor-widget-theme-post-content a:not(.elementor-button) {
	border-bottom: var(--trr-rule);
	color: currentColor;
	font-family: var(--trr-font-caption);
	font-size: var(--trr-label-size);
	font-weight: 600;
	letter-spacing: 0.1em;
	padding-bottom: 0.15rem;
	text-decoration: none;
	text-transform: uppercase;
}

input:not([type='button']):not([type='submit']):not([type='checkbox']):not([type='radio']),
textarea,
select,
.elementor-field-group .elementor-field {
	background: transparent;
	border: 0;
	border-bottom: var(--trr-rule-heavy);
	border-radius: 0;
	box-shadow: none;
	color: var(--trr-foreground-body);
	font-family: var(--trr-font-body);
	font-size: var(--trr-body-md);
	line-height: 1.5;
	padding: 0.75rem 0;
}

input::placeholder,
textarea::placeholder {
	color: var(--trr-foreground-placeholder);
	opacity: 1;
}

input:focus,
textarea:focus,
select:focus,
.elementor-field-group .elementor-field:focus {
	border-color: var(--trr-border-strong);
	box-shadow: none;
	outline: 2px solid transparent;
	outline-offset: 2px;
}

/* ==========================================================================
   Polarity, cards, imagery
   ========================================================================== */
.trr-inverse,
.elementor .trr-inverse,
.elementor .e-con.trr-inverse {
	background: var(--trr-surface-inverse);
	color: var(--trr-foreground-inverse);
}

.trr-inverse :is(h1, h2, h3, h4, h5, h6, p, a, .elementor-heading-title, .elementor-widget-text-editor),
.elementor .trr-inverse :is(h1, h2, h3, h4, h5, h6, p, a, .elementor-heading-title, .elementor-widget-text-editor) {
	color: var(--trr-foreground-inverse);
}

.trr-inverse p,
.elementor .trr-inverse p,
.trr-inverse .elementor-widget-text-editor {
	color: var(--trr-foreground-inverse-muted);
}

.trr-inverse .trr-section-header,
.elementor .trr-inverse .trr-section-header {
	border-color: var(--trr-foreground-inverse);
}

.trr-container-zone,
.elementor .trr-container-zone {
	background: var(--trr-surface-container);
}

.trr-card,
.trr-bento-tile,
.elementor .trr-card,
.elementor .trr-bento-tile,
.woocommerce ul.products li.product,
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce-cart-form,
.woocommerce-checkout-review-order {
	background: var(--trr-surface-primary);
	border: var(--trr-rule);
	border-radius: 0;
	box-shadow: none;
}

.trr-editorial-card,
.elementor .trr-editorial-card {
	background: var(--trr-surface-primary);
	border: var(--trr-rule-heavy);
	padding: var(--trr-card-padding);
}

.trr-image-frame img,
.elementor .trr-image-frame img,
.trr-bento-tile img,
.woocommerce ul.products li.product img {
	border: var(--trr-rule);
}

.trr-grayscale img,
.elementor .trr-grayscale img,
.trr-editorial-card img,
.elementor .trr-editorial-card img {
	filter: grayscale(1);
	transition: filter 180ms ease;
}

.trr-grayscale a:hover img,
.trr-editorial-card a:hover img {
	filter: grayscale(0);
}

.trr-tag,
.elementor .trr-tag,
.onsale,
.woocommerce span.onsale {
	background: var(--trr-surface-inverse);
	border-radius: 0;
	color: var(--trr-foreground-inverse);
	display: inline-flex;
	font-family: var(--trr-font-caption);
	font-size: var(--trr-label-size);
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1;
	padding: 0.5rem 1.5rem;
	text-transform: uppercase;
}

.trr-tag-light,
.elementor .trr-tag-light {
	background: var(--trr-surface-lowest);
	color: var(--trr-foreground-primary);
}

.trr-overlay-card,
.elementor .e-con.trr-overlay-card,
.trr-portrait-card,
.elementor .trr-portrait-card {
	isolation: isolate;
	position: relative;
}

.trr-overlay-card::before,
.elementor .e-con.trr-overlay-card::before,
.trr-portrait-card::before,
.elementor .trr-portrait-card::before {
	background: var(--trr-scrim);
	content: '';
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.trr-portrait-card::before,
.elementor .trr-portrait-card::before {
	background: var(--trr-nameplate-gradient);
}

.trr-overlay-card > *,
.trr-portrait-card > *,
.elementor .trr-overlay-card > *,
.elementor .trr-portrait-card > * {
	position: relative;
	z-index: 1;
}

.trr-portrait-card :is(h2, h3, .elementor-heading-title),
.elementor .trr-portrait-card :is(h2, h3, .elementor-heading-title) {
	bottom: var(--trr-card-padding);
	color: var(--trr-foreground-inverse);
	left: var(--trr-card-padding);
	position: absolute;
}

/* ==========================================================================
   WooCommerce marketplace alignment
   ========================================================================== */
.woocommerce ul.products {
	column-gap: var(--trr-grid-gutter);
	row-gap: var(--trr-space-lg);
}

.woocommerce ul.products li.product {
	padding: 0 0 var(--trr-card-padding);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
	color: var(--trr-foreground-primary);
	font-family: var(--trr-font-heading);
	font-size: var(--trr-headline-md);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.05;
	padding: var(--trr-card-padding) var(--trr-card-padding) 0;
	text-transform: uppercase;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--trr-foreground-secondary);
	font-family: var(--trr-font-caption);
	font-size: var(--trr-label-size);
	font-weight: 600;
	letter-spacing: 0.1em;
	padding: 0 var(--trr-card-padding);
	text-transform: uppercase;
}

.woocommerce ul.products li.product .button {
	margin-left: var(--trr-card-padding);
	margin-right: var(--trr-card-padding);
	margin-top: var(--trr-space-sm);
}

/* ==========================================================================
   Home-specific preservation and alignment (page id 77)
   ========================================================================== */
.elementor-77 .elementor-element-eb6cd9 {
	background-position: center top !important;
	isolation: isolate;
	justify-content: flex-end;
	min-height: clamp(320px, 45vw, 460px);
	padding: var(--trr-space-md);
	position: relative;
}

.elementor-77 .elementor-element-eb6cd9::before {
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.15) 0%,
		rgba(0, 0, 0, 0.45) 38%,
		rgba(0, 0, 0, 0.86) 68%,
		rgba(0, 0, 0, 0.94) 100%
	);
	content: '';
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.elementor-77 .elementor-element-eb6cd9 > * {
	position: relative;
	z-index: 1;
}

.elementor-77 .elementor-element-eb6cd9 > .elementor-element {
	margin-bottom: 0;
	margin-top: 0;
}

.elementor-77 .elementor-element-eb6cd9 > #e13516 {
	margin-top: var(--trr-space-3xs);
}

.elementor-77 .elementor-element-eb6cd9 > #b02954 {
	margin-top: var(--trr-space-2xs);
}

.elementor-77 .elementor-element-eb6cd9 .elementor-heading-title,
.elementor-77 .elementor-element-eb6cd9 .elementor-heading-title * {
	color: var(--trr-foreground-inverse);
	text-shadow: none;
}

.elementor-77 .elementor-element-eb6cd9 #7161c3 span {
	text-shadow: none;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px) {
	:root {
		--trr-section-space-y: var(--trr-space-xl);
	}

	.elementor > .e-con.e-parent.e-con-full,
	.elementor > .e-con.e-parent > .e-con.e-parent.e-con-full {
		padding-left: var(--trr-space-md);
		padding-right: var(--trr-space-md);
	}

	.trr-12-grid,
	.elementor .trr-12-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	:root {
		--trr-section-space-y: var(--trr-space-lg);
		--trr-gutter-x: var(--trr-space-sm);
	}

	.trr-12-grid,
	.elementor .trr-12-grid {
		grid-template-columns: 1fr;
	}

	.trr-section-header,
	.elementor .trr-section-header {
		align-items: start;
		flex-direction: column;
	}

	.elementor .e-con.e-flex > .elementor-widget-button .elementor-button,
	.elementor-button,
	.wp-block-button__link {
		width: 100%;
	}

	.elementor .e-con.e-flex > .elementor-widget-button + .elementor-widget-button {
		margin-top: var(--trr-space-xs);
	}

	.elementor-77 .elementor-element-eb6cd9 {
		min-height: clamp(300px, 80vw, 380px);
	}
}

/* ==========================================================================
   Frontend scroll performance stabilization
   ========================================================================== */
/*
 * The homepage uses large editorial imagery plus a continuously moving artists
 * rail. Keep scroll smooth by isolating paint work and avoiding expensive
 * per-frame filters/masks/transforms on moving content.
 */
.elementor-141 > .elementor-section,
.three-r-hero,
.three-r-exhibitions,
.three-r-artisan,
.three-r-artist-month,
.three-r-artists,
.three-r-marketplace,
.three-r-editorial {
	contain: layout paint style;
}

/* Below-the-fold sections can be skipped by the browser until they approach
 * the viewport. The intrinsic sizes prevent layout jumps while they are skipped.
 */
.elementor-141 > .elementor-section:not(.elementor-element-homeherowrap) {
	content-visibility: auto;
	contain-intrinsic-size: auto 760px;
}

/* The hero was doing a 6s scale transition on full-viewport background layers.
 * That looks nice in isolation, but it competes with scrolling. Keep the fade,
 * remove the scroll-hostile Ken Burns transform, and use the generated 1536px
 * derivative instead of the full 2.9MB original for this CSS background.
 */
.three-r-hero__slide {
	contain: paint;
}

.three-r-hero__art,
.three-r-hero__slide.is-active .three-r-hero__art {
	background-image: linear-gradient(rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.08)), url('http://localhost:8888/wordpress/wp-content/uploads/2026/09/aydee-ramirez-flores-de-mil-colores-hero-1536x864.png') !important;
	transform: none !important;
	transition: none !important;
	will-change: auto;
}

.three-r-hero__slide:not(.is-active) .three-r-hero__art {
	visibility: hidden;
}

/* The artists rail previously combined an animated transform with CSS mask and
 * grayscale filters on every tile. Masks and filters often force repaint while
 * the track moves. Use static overlay fades and a pre-rendered grayscale sprite
 * for the rest state; switch to the color sprite only on hover/focus.
 */
.artists-marquee {
	-webkit-mask-image: none !important;
	isolation: isolate;
	mask-image: none !important;
	position: relative;
	contain: layout paint style;
}

.artists-marquee::before,
.artists-marquee::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	width: 7vw;
	max-width: 96px;
	min-width: 48px;
	pointer-events: none;
}

.artists-marquee::before {
	left: 0;
	background: linear-gradient(90deg, #f9f9f9 0%, rgba(249, 249, 249, 0) 100%);
}

.artists-marquee::after {
	right: 0;
	background: linear-gradient(270deg, #f9f9f9 0%, rgba(249, 249, 249, 0) 100%);
}

.artists-marquee__track {
	backface-visibility: hidden;
	contain: layout paint;
	transform: translate3d(0, 0, 0);
	will-change: transform;
}

.artists-marquee__card {
	contain: paint;
}

.artists-marquee__portrait {
	background-image: url('http://localhost:8888/wordpress/wp-content/uploads/2026/09/nuestros-artistas-marquee-sheet-gray.png') !important;
	filter: none !important;
	transform: none !important;
	transition: background-image 160ms ease, transform 260ms cubic-bezier(.2, .7, .2, 1) !important;
	will-change: auto;
}

.artists-marquee__card:hover .artists-marquee__portrait,
.artists-marquee__card:focus-visible .artists-marquee__portrait {
	background-image: var(--portrait-image) !important;
	transform: scale(1.035) !important;
}

@media (prefers-reduced-motion: reduce) {
	.three-r-hero__slide,
	.artists-marquee__track,
	.artists-marquee__portrait {
		animation: none !important;
		transition: none !important;
	}
}

/* More accurate skipped-layout placeholders per homepage section. */
.elementor-141 > .elementor-element-homeexhibitionswrap { contain-intrinsic-size: auto 1066px; }
.elementor-141 > .elementor-element-homeartisanwrap { contain-intrinsic-size: auto 646px; }
.elementor-141 > .elementor-element-homeartistmonthwrap { contain-intrinsic-size: auto 1156px; }
.elementor-141 > .elementor-element-homeartistswrap { contain-intrinsic-size: auto 789px; }
.elementor-141 > .elementor-element-homemarketplacewrap { contain-intrinsic-size: auto 1351px; }
.elementor-141 > .elementor-element-4717e48e { contain-intrinsic-size: auto 760px; }

/* Match the generic rule specificity so section-specific intrinsic sizes win. */
.elementor-141 > .elementor-section.elementor-element-homeexhibitionswrap { contain-intrinsic-size: auto 1066px; }
.elementor-141 > .elementor-section.elementor-element-homeartisanwrap { contain-intrinsic-size: auto 646px; }
.elementor-141 > .elementor-section.elementor-element-homeartistmonthwrap { contain-intrinsic-size: auto 1156px; }
.elementor-141 > .elementor-section.elementor-element-homeartistswrap { contain-intrinsic-size: auto 789px; }
.elementor-141 > .elementor-section.elementor-element-homemarketplacewrap { contain-intrinsic-size: auto 1351px; }
.elementor-141 > .elementor-section.elementor-element-4717e48e { contain-intrinsic-size: auto 760px; }
