@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 400; src: url("../fonts/inter-cyrillic-400-normal.woff2") format("woff2"); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 400; src: url("../fonts/inter-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 500; src: url("../fonts/inter-cyrillic-500-normal.woff2") format("woff2"); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 500; src: url("../fonts/inter-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 600; src: url("../fonts/inter-cyrillic-600-normal.woff2") format("woff2"); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 600; src: url("../fonts/inter-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 700; src: url("../fonts/inter-cyrillic-700-normal.woff2") format("woff2"); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 700; src: url("../fonts/inter-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Playfair Display"; font-style: normal; font-display: swap; font-weight: 400; src: url("../fonts/playfair-display-cyrillic-400-normal.woff2") format("woff2"); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Playfair Display"; font-style: normal; font-display: swap; font-weight: 400; src: url("../fonts/playfair-display-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Playfair Display"; font-style: normal; font-display: swap; font-weight: 600; src: url("../fonts/playfair-display-cyrillic-600-normal.woff2") format("woff2"); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Playfair Display"; font-style: normal; font-display: swap; font-weight: 600; src: url("../fonts/playfair-display-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root {
	--rgev-wine: #6b1e29;
	--rgev-wine-dark: #5e1721;
	--rgev-wine-light: #8c2c39;
	--rgev-gold: #c5a049;
	--rgev-gold-dark: #a57727;
	--rgev-gold-light: #ddc06e;
	--rgev-text: #262626;
	--rgev-muted: #6b6b6b;
	--rgev-border: #eae8e6;
	--rgev-soft: #f5f5f4;
	--rgev-footer: #f8f7f7;
	--rgevlab-font-heading: "Playfair Display", Georgia, "Times New Roman", serif;
	--rgevlab-font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--rgev-shell: 1240px;
	--rgev-shadow: 0 22px 60px rgba(60, 35, 26, 0.09);
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--rgev-text);
	background: #fff;
	font-family: var(--rgevlab-font-body);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

button,
input,
textarea,
select {
	font: inherit;
}

a {
	color: var(--rgev-wine);
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--rgev-wine-light);
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

h1,
h2,
h3,
h4 {
	margin-top: 0;
	color: var(--rgev-text);
	font-family: var(--rgevlab-font-heading);
	font-weight: 400;
	line-height: 1.12;
}

h1 {
	font-size: clamp(2.7rem, 5.8vw, 5.1rem);
}

h2 {
	font-size: clamp(2.1rem, 4vw, 3.75rem);
}

h3 {
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
}

p {
	margin-top: 0;
}

:focus-visible {
	outline: 3px solid var(--rgev-gold);
	outline-offset: 3px;
}

.site-shell {
	width: min(calc(100% - 48px), var(--rgev-shell));
	margin-inline: auto;
}

.site-main {
	min-height: 60vh;
}

.site-main--configurator .rgev-configurator {
	width: min(calc(100% - 48px), var(--rgev-shell));
	margin-inline: auto;
	padding-block: clamp(64px, 8vw, 118px);
}

.rgev-section {
	padding-block: clamp(72px, 9vw, 132px);
}

.rgev-section--soft {
	background: var(--rgev-soft);
}

.rgev-kicker {
	margin: 0 0 14px;
	color: var(--rgev-wine);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.17em;
	text-transform: uppercase;
}

.rgev-heading {
	max-width: 760px;
	margin-bottom: clamp(38px, 5vw, 68px);
}

.rgev-heading h2 {
	margin-bottom: 20px;
}

.rgev-heading > p:last-child {
	color: var(--rgev-muted);
	font-size: 18px;
}

.rgev-heading--center {
	margin-inline: auto;
	text-align: center;
}

.rgev-center {
	text-align: center;
}

.rgev-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.rgev-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	min-height: 52px;
	padding: 13px 25px;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	border-radius: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.rgev-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	transform: translateY(-1px);
}

.rgev-button--wine,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	color: #fff;
	background: var(--rgev-wine);
}

.rgev-button--wine:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	color: #fff;
	background: var(--rgev-wine-dark);
}

.rgev-button--gold {
	color: #241d12;
	background: var(--rgev-gold);
}

.rgev-button--gold:hover {
	color: #19140b;
	background: var(--rgev-gold-light);
}

.rgev-button--light {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.06);
}

.rgev-button--light:hover {
	color: var(--rgev-text);
	background: #fff;
}

.rgev-button--outline {
	color: var(--rgev-wine);
	border-color: var(--rgev-wine);
	background: transparent;
}

.rgev-button--outline:hover {
	color: #fff;
	background: var(--rgev-wine);
}

.rgev-text-link {
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}

/* Header */
.site-header {
	position: relative;
	z-index: 100;
	border-bottom: 1px solid rgba(234, 232, 230, 0.9);
	background: rgba(255, 255, 255, 0.97);
}

.site-header.is-sticky {
	position: sticky;
	top: 0;
	box-shadow: 0 8px 30px rgba(32, 20, 17, 0.07);
}

.site-header__inner {
	display: grid;
	grid-template-columns: 170px 1fr auto;
	gap: 32px;
	align-items: center;
	min-height: 88px;
}

.site-logo {
	display: inline-flex;
}

.site-logo img,
.custom-logo {
	width: 150px;
	height: 62px;
	object-fit: contain;
}

.primary-navigation ul,
.site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-navigation > ul {
	display: flex;
	gap: clamp(14px, 2.2vw, 32px);
	align-items: center;
	justify-content: center;
}

.primary-navigation a {
	position: relative;
	color: var(--rgev-text);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.045em;
	text-decoration: none;
}

.primary-navigation .current-menu-item > a,
.primary-navigation a:hover {
	color: var(--rgev-wine);
}

.primary-navigation .current-menu-item > a::after {
	position: absolute;
	right: 0;
	bottom: -10px;
	left: 0;
	height: 1px;
	background: var(--rgev-gold);
	content: "";
}

.site-header__tools {
	display: flex;
	gap: 18px;
	align-items: center;
}

.header-phone {
	color: var(--rgev-text);
	font-size: 13px;
	white-space: nowrap;
	text-decoration: none;
}

.header-cart {
	position: relative;
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border: 1px solid var(--rgev-border);
	border-radius: 50%;
	color: var(--rgev-text);
	text-decoration: none;
}

.header-cart__count {
	position: absolute;
	top: -5px;
	right: -5px;
	display: grid;
	min-width: 18px;
	height: 18px;
	padding-inline: 4px;
	place-items: center;
	border-radius: 99px;
	color: #fff;
	background: var(--rgev-wine);
	font-size: 10px;
}

.menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 0;
	background: transparent;
}

.menu-toggle > span:not(.screen-reader-text) {
	display: block;
	width: 23px;
	height: 1px;
	margin: 5px 0;
	background: var(--rgev-text);
}

/* Home */
.home-hero {
	position: relative;
	display: grid;
	min-height: min(760px, calc(100vh - 88px));
	align-items: center;
	overflow: hidden;
	background: #241b17;
}

.home-hero__media,
.home-hero__media::after {
	position: absolute;
	inset: 0;
}

.home-hero__media::after {
	background: linear-gradient(90deg, rgba(20, 12, 10, 0.78) 0%, rgba(20, 12, 10, 0.42) 48%, rgba(20, 12, 10, 0.06) 100%);
	content: "";
}

.home-hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.home-hero__content {
	position: relative;
	z-index: 2;
	max-width: var(--rgev-shell);
	padding-block: 90px;
}

.home-hero__content > * {
	max-width: 720px;
}

.home-hero .rgev-kicker {
	color: var(--rgev-gold-light);
}

.home-hero h1 {
	margin-bottom: 26px;
	color: #fff;
	font-size: clamp(3.1rem, 6vw, 5.75rem);
}

.home-hero__content > p:not(.rgev-kicker) {
	margin-bottom: 36px;
	color: rgba(255, 255, 255, 0.86);
	font-size: clamp(17px, 2vw, 21px);
}

.format-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.format-card {
	position: relative;
	min-height: 590px;
	overflow: hidden;
	color: #fff;
	background: #251a17;
}

.format-card::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(24, 13, 12, 0.78), transparent 68%);
	content: "";
}

.format-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.format-card:hover img {
	transform: scale(1.025);
}

.format-card span {
	position: absolute;
	right: 40px;
	bottom: 38px;
	left: 40px;
	z-index: 2;
	display: grid;
	gap: 8px;
}

.format-card small,
.format-card em {
	font-size: 12px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.format-card small {
	color: var(--rgev-gold-light);
}

.format-card strong {
	font-family: var(--rgevlab-font-heading);
	font-size: clamp(2rem, 3.5vw, 3.2rem);
	font-weight: 400;
}

.catalog-banner {
	padding-top: 0;
}

.catalog-banner__inner {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	min-height: 560px;
	background: var(--rgev-soft);
}

.catalog-banner__inner > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.catalog-banner__inner > div {
	display: flex;
	padding: clamp(42px, 6vw, 82px);
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
}

.catalog-banner h2 {
	margin-bottom: 22px;
}

.catalog-banner p:not(.rgev-kicker) {
	margin-bottom: 32px;
	color: var(--rgev-muted);
}

.detail-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.detail-card {
	background: #fff;
}

.detail-card img {
	width: 100%;
	aspect-ratio: 1 / 1.13;
	object-fit: cover;
}

.detail-card h3 {
	margin: 22px 20px 10px;
}

.detail-card p {
	margin: 0 20px 25px;
	color: var(--rgev-muted);
	font-size: 14px;
}

.feature-split__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(48px, 8vw, 110px);
	align-items: center;
}

.feature-split--reverse .feature-split__inner > div {
	order: 2;
}

.feature-split__inner > img {
	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto;
	max-height: 650px;
	object-fit: cover;
}

.feature-split p:not(.rgev-kicker),
.rgev-prose p {
	color: var(--rgev-muted);
}

.rgev-checks {
	display: grid;
	gap: 10px;
	margin: 28px 0 34px;
	padding: 0;
	list-style: none;
}

.rgev-checks li::before {
	margin-right: 10px;
	color: var(--rgev-gold-dark);
	content: "✓";
}

.review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.review-grid--archive {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.review-card {
	margin: 0;
	padding: clamp(28px, 4vw, 48px);
	border: 1px solid var(--rgev-border);
	background: #fff;
}

.review-card__stars {
	margin-bottom: 22px;
	color: var(--rgev-gold-dark);
	letter-spacing: 0.15em;
}

.review-card footer {
	display: flex;
	margin-top: 26px;
	align-items: center;
	justify-content: space-between;
	color: var(--rgev-wine);
}

.review-card time {
	color: var(--rgev-muted);
	font-size: 12px;
}

.home-cta,
.contact-cta,
.measurements-note,
.reviews-hero,
.production-intro {
	padding-block: clamp(72px, 10vw, 140px);
	color: #fff;
	background: var(--rgev-wine-dark);
	text-align: center;
}

.home-cta .site-shell,
.contact-cta .site-shell,
.measurements-note .site-shell,
.reviews-hero .site-shell,
.production-intro .site-shell {
	max-width: 850px;
}

.home-cta h2,
.contact-cta h2,
.measurements-note h2,
.reviews-hero h1,
.production-intro h1 {
	color: #fff;
}

.home-cta .rgev-kicker,
.reviews-hero .rgev-kicker,
.production-intro .rgev-kicker,
.measurements-note .rgev-kicker {
	color: var(--rgev-gold-light);
}

/* Internal pages */
.page-hero--split {
	padding-block: clamp(60px, 7vw, 100px);
	background: var(--rgev-soft);
}

.page-hero__inner {
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	gap: clamp(40px, 7vw, 95px);
	align-items: center;
}

.page-hero__image {
	width: 100%;
	max-height: 620px;
	object-fit: cover;
}

.page-hero--image {
	position: relative;
	display: grid;
	min-height: 610px;
	align-items: center;
	overflow: hidden;
	background: #1f1714;
}

.page-hero__media,
.page-hero__media::after {
	position: absolute;
	inset: 0;
}

.page-hero__media::after {
	background: linear-gradient(90deg, rgba(25, 14, 13, 0.74), rgba(25, 14, 13, 0.12));
	content: "";
}

.page-hero__background {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-hero__overlay {
	position: relative;
	z-index: 2;
}

.page-hero__overlay h1,
.page-hero__overlay p:not(.rgev-kicker) {
	max-width: 650px;
	color: #fff;
}

.page-hero__overlay .rgev-kicker {
	color: var(--rgev-gold-light);
}

.measurement-steps {
	display: grid;
	max-width: 940px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.measurement-steps li {
	display: grid;
	grid-template-columns: 95px 1fr;
	gap: 25px;
	padding: 34px 0;
	border-top: 1px solid var(--rgev-border);
}

.measurement-steps li > span,
.process-step > div:last-child > span {
	color: var(--rgev-gold-dark);
	font-family: var(--rgevlab-font-heading);
	font-size: 2.4rem;
}

.measurement-steps h3,
.measurement-steps p {
	margin-bottom: 8px;
}

.measurement-steps p {
	color: var(--rgev-muted);
}

.measurements-note .site-shell {
	display: flex;
	max-width: var(--rgev-shell);
	align-items: center;
	justify-content: space-between;
	text-align: left;
}

.measurements-note .site-shell > div {
	max-width: 720px;
}

.contact-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.contact-card {
	padding: clamp(30px, 4vw, 50px);
	border: 1px solid var(--rgev-border);
}

.contact-card dl,
.contact-card dd {
	margin: 0;
}

.contact-card dt {
	margin-top: 24px;
	color: var(--rgev-muted);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.contact-card a {
	display: block;
	margin-top: 12px;
}

.contact-card--wine {
	color: rgba(255, 255, 255, 0.82);
	border-color: var(--rgev-wine);
	background: var(--rgev-wine);
}

.contact-card--wine h2,
.contact-card--wine a {
	color: #fff;
}

.contact-card--wine .rgev-kicker {
	color: var(--rgev-gold-light);
}

.production-intro p:not(.rgev-kicker) {
	font-size: 18px;
}

.process-list {
	display: grid;
	gap: 90px;
}

.process-step {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
	gap: clamp(45px, 8vw, 110px);
	align-items: center;
}

.process-step:nth-child(even) .process-step__image {
	order: 2;
}

.process-step__image img {
	width: 100%;
	aspect-ratio: 1.4 / 1;
	object-fit: cover;
}

.process-step p {
	color: var(--rgev-muted);
}

.rgev-page {
	padding-block: clamp(64px, 9vw, 120px);
}

.rgev-page__inner {
	max-width: 900px;
}

.woocommerce-cart .rgev-page__inner,
.woocommerce-checkout .rgev-page__inner,
.woocommerce-account .rgev-page__inner {
	max-width: var(--rgev-shell);
}

.rgev-prose h1 {
	margin-bottom: 50px;
}

.rgev-prose .entry-content {
	font-size: 17px;
}

.rgev-prose .entry-content > * + * {
	margin-top: 1.3em;
}

/* WooCommerce */
.rgev-woocommerce {
	padding-bottom: clamp(70px, 9vw, 120px);
}

.catalog-hero {
	position: relative;
	display: grid;
	min-height: 450px;
	margin-bottom: 34px;
	align-items: center;
	overflow: hidden;
	background: #281d19;
}

.catalog-hero::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(27, 15, 13, 0.74), rgba(27, 15, 13, 0.1));
	content: "";
}

.catalog-hero > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.catalog-hero__overlay {
	position: relative;
	z-index: 2;
	max-width: 610px;
	padding: 70px;
}

.catalog-hero h1,
.catalog-hero p:not(.rgev-kicker) {
	color: #fff;
}

.catalog-hero .rgev-kicker {
	color: var(--rgev-gold-light);
}

.catalog-categories {
	display: flex;
	margin-bottom: 45px;
	padding-bottom: 15px;
	gap: 12px;
	overflow-x: auto;
	white-space: nowrap;
}

.catalog-categories a {
	padding: 10px 17px;
	border: 1px solid var(--rgev-border);
	color: var(--rgev-text);
	font-size: 13px;
	text-decoration: none;
}

.catalog-categories a[aria-current="page"],
.catalog-categories a:hover {
	color: #fff;
	border-color: var(--rgev-wine);
	background: var(--rgev-wine);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin-bottom: 32px;
}

.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	min-height: 48px;
	padding: 10px 13px;
	border: 1px solid var(--rgev-border);
	border-radius: 0;
	background: #fff;
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 42px 22px;
	margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce ul.products li.product a img {
	width: 100%;
	margin: 0 0 20px;
	aspect-ratio: 0.83 / 1;
	object-fit: cover;
	background: var(--rgev-soft);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0;
	font-family: var(--rgevlab-font-heading);
	font-size: 24px;
	font-weight: 400;
}

.woocommerce ul.products li.product .price {
	margin-top: 7px;
	color: var(--rgev-wine);
	font-size: 16px;
	font-weight: 600;
}

.woocommerce ul.products li.product .button {
	width: 100%;
	margin-top: 15px;
}

.woocommerce span.onsale {
	min-width: auto;
	min-height: auto;
	padding: 7px 11px;
	border-radius: 0;
	background: var(--rgev-wine);
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
}

.woocommerce div.product {
	padding-top: clamp(48px, 7vw, 90px);
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	margin-bottom: 85px;
}

.woocommerce div.product div.images img {
	background: var(--rgev-soft);
}

.woocommerce div.product .product_title {
	font-size: clamp(2.8rem, 5vw, 4.7rem);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--rgev-wine);
	font-family: var(--rgevlab-font-heading);
	font-size: 29px;
}

.woocommerce-product-details__short-description {
	margin-block: 28px;
	color: var(--rgev-muted);
}

.woocommerce .quantity .qty {
	min-height: 52px;
	border: 1px solid var(--rgev-border);
}

.rgev-product-configure {
	display: grid;
	margin-top: 28px;
	padding-top: 28px;
	gap: 14px;
	border-top: 1px solid var(--rgev-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: 0;
	border-radius: 0;
	background: transparent;
}

.woocommerce table.shop_table {
	border-color: var(--rgev-border);
	border-radius: 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--rgev-gold-dark);
	background: var(--rgev-soft);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--rgev-wine);
}

/* Footer */
.site-footer {
	padding-top: clamp(60px, 8vw, 100px);
	background: var(--rgev-footer);
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 50px;
}

.site-logo--footer img {
	width: 160px;
}

.site-footer__brand p {
	max-width: 290px;
	margin-top: 18px;
	color: var(--rgev-muted);
	font-size: 14px;
}

.site-footer h2 {
	margin: 10px 0 20px;
	font-family: var(--rgevlab-font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.site-footer nav ul,
.footer-legal,
.site-footer__contacts {
	display: grid;
	gap: 9px;
}

.site-footer a {
	color: var(--rgev-muted);
	font-size: 14px;
	text-decoration: none;
}

.site-footer a:hover {
	color: var(--rgev-wine);
}

.site-footer__bottom {
	display: flex;
	margin-top: 60px;
	padding-block: 22px;
	justify-content: space-between;
	border-top: 1px solid var(--rgev-border);
	color: var(--rgev-muted);
	font-size: 12px;
}

.site-footer__bottom p {
	margin: 0;
}

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

.screen-reader-text:focus {
	top: 8px;
	left: 8px;
	z-index: 100000;
	width: auto;
	height: auto;
	margin: 0;
	padding: 12px 16px;
	clip: auto;
	color: var(--rgev-text);
	background: #fff;
}

@media (max-width: 1100px) {
	.site-header__inner {
		grid-template-columns: 150px 1fr auto;
		gap: 18px;
	}

	.primary-navigation > ul {
		gap: 15px;
	}

	.header-phone {
		display: none;
	}

	.detail-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.site-footer__grid {
		grid-template-columns: 1.2fr repeat(3, 1fr);
		gap: 28px;
	}
}

@media (max-width: 820px) {
	.site-shell {
		width: min(calc(100% - 36px), var(--rgev-shell));
	}

	.site-header__inner {
		grid-template-columns: 1fr auto auto;
		min-height: 74px;
	}

	.site-logo img,
	.custom-logo {
		width: 125px;
		height: 52px;
	}

	.menu-toggle {
		display: block;
	}

	.primary-navigation {
		position: fixed;
		top: 74px;
		right: 0;
		bottom: 0;
		left: 0;
		padding: 40px 24px;
		visibility: hidden;
		overflow-y: auto;
		background: #fff;
		opacity: 0;
		transform: translateY(-10px);
		transition: opacity 170ms ease, transform 170ms ease, visibility 170ms;
	}

	.primary-navigation.is-open {
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
	}

	.primary-navigation > ul {
		align-items: stretch;
		flex-direction: column;
	}

	.primary-navigation a {
		display: block;
		padding: 13px 0;
		border-bottom: 1px solid var(--rgev-border);
		font-family: var(--rgevlab-font-heading);
		font-size: 26px;
	}

	.home-hero {
		min-height: 680px;
	}

	.home-hero__media::after {
		background: linear-gradient(0deg, rgba(20, 12, 10, 0.8), rgba(20, 12, 10, 0.2));
	}

	.home-hero__content {
		align-self: end;
		padding-bottom: 64px;
	}

	.format-grid,
	.catalog-banner__inner,
	.feature-split__inner,
	.page-hero__inner,
	.process-step {
		grid-template-columns: 1fr;
	}

	.format-card {
		min-height: 480px;
	}

	.catalog-banner__inner > img {
		max-height: 480px;
	}

	.feature-split--reverse .feature-split__inner > div,
	.process-step:nth-child(even) .process-step__image {
		order: 0;
	}

	.detail-grid,
	.review-grid,
	.review-grid--archive,
	.contact-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.measurements-note .site-shell {
		align-items: flex-start;
		flex-direction: column;
	}

	.catalog-hero__overlay {
		padding: 44px;
	}

	.site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.site-shell {
		width: min(calc(100% - 28px), var(--rgev-shell));
	}

	h1 {
		font-size: 2.75rem;
	}

	h2 {
		font-size: 2.2rem;
	}

	.rgev-section {
		padding-block: 72px;
	}

	.site-header__tools {
		gap: 7px;
	}

	.home-hero {
		min-height: 650px;
	}

	.home-hero__image {
		object-position: 62% center;
	}

	.home-hero h1 {
		font-size: 3rem;
	}

	.rgev-actions,
	.rgev-actions .rgev-button {
		width: 100%;
	}

	.format-grid,
	.detail-grid,
	.review-grid,
	.review-grid--archive,
	.contact-grid,
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.format-card {
		min-height: 430px;
	}

	.format-card span {
		right: 24px;
		bottom: 26px;
		left: 24px;
	}

	.catalog-banner__inner > div {
		padding: 38px 25px;
	}

	.detail-card img {
		aspect-ratio: 1.2 / 1;
	}

	.feature-split__inner {
		gap: 34px;
	}

	.page-hero--image {
		min-height: 530px;
	}

	.measurement-steps li {
		grid-template-columns: 50px 1fr;
		gap: 14px;
	}

	.measurement-steps li > span {
		font-size: 1.75rem;
	}

	.process-list {
		gap: 64px;
	}

	.catalog-hero {
		min-height: 390px;
	}

	.catalog-hero__overlay {
		padding: 28px;
	}

	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-ordering {
		float: none;
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 12px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 20px;
	}

	.woocommerce ul.products li.product .button {
		padding-inline: 10px;
		font-size: 10px;
	}

	.woocommerce div.product div.images,
	.woocommerce div.product div.summary {
		float: none;
		width: 100%;
	}

	.site-footer__grid {
		grid-template-columns: 1fr;
	}

	.site-footer__bottom {
		gap: 8px;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* ==========================================================
   RGEVLab staging corrective pass — Figma-led storefront
   ========================================================== */
/* Desktop typography comes directly from the extracted Figma token snapshot. */
body { font-size:18px; font-weight:300; line-height:24px; }
h1 { font-size:46px; line-height:55.2px; letter-spacing:.92px; }
h2 { font-size:40px; line-height:50px; letter-spacing:.8px; }
h3 { font-size:22px; line-height:27.5px; letter-spacing:.44px; }
.rgev-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	font-size:13px;
	font-weight:300;
	letter-spacing:.78px;
	line-height:19.5px;
}
.rgev-gold-line {
	display: block;
	width: 126px;
	height: 2px;
	margin-top: 24px;
	background: linear-gradient(90deg, var(--rgev-gold-dark), var(--rgev-gold-light), var(--rgev-gold-dark));
}

.rgev-button--outline-light {
	color: #fff;
	border-color: rgba(255,255,255,.8);
	background: transparent;
}
.rgev-button--outline-light:hover { color: var(--rgev-text); background: #fff; }

/* Figma header: logo is its own quiet row, navigation sits below. */
.site-header { background: #fff; }
.site-header__top {
	display: flex;
	min-height: 168px;
	align-items: center;
	justify-content: center;
}
.site-header__top .site-branding { display: flex; justify-content: center; }
.site-header__top .site-logo img,
.site-header__top .custom-logo { width: 180px; height: 92px; object-fit: contain; }
.site-header__bar { border-top: 1px solid var(--rgev-border); border-bottom: 1px solid var(--rgev-border); }

/* Desktop scroll state: keep the navigation bar visible, collapse the tall logo row. */
@media (min-width: 821px) {
	.site-header__top {
		max-height: 168px;
		overflow: hidden;
		opacity: 1;
		transition: min-height .24s ease, max-height .24s ease, opacity .16s ease;
	}

	.site-header.is-sticky .site-header__top {
		min-height: 0;
		max-height: 0;
		opacity: 0;
		pointer-events: none;
	}

	.site-header.is-sticky .site-header__bar {
		background: rgba(255, 255, 255, .985);
	}
}

/* Keep the sticky header below the WordPress admin bar while logged in. */
body.admin-bar .site-header.is-sticky { top: 32px; }
@media screen and (max-width: 782px) {
	body.admin-bar .site-header.is-sticky { top: 46px; }
}
.site-header__inner {
	display: grid;
	grid-template-columns: 1fr auto;
	min-height: 72px;
	gap: 28px;
}
.primary-navigation > ul { justify-content: flex-start; gap: clamp(18px, 2vw, 31px); }
.primary-navigation a {
	font-size:18px;
	font-weight:300;
	letter-spacing:1.5px;
	line-height:20px;
	text-transform:uppercase;
}
.site-header__tools { gap: 16px; }
.header-contract {
	color:var(--rgev-wine);
	font-size:18px;
	font-weight:300;
	letter-spacing:1.5px;
	line-height:20px;
	text-decoration:none;
	text-transform:uppercase;
}
.header-cart {
	width: auto;
	height: auto;
	padding: 9px 28px 9px 10px;
	border: 0;
	border-radius: 0;
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.header-cart__count { top: 3px; right: 2px; }
.site-header__mobile-tools { display:none; }

/* Home hero from the supplied Figma frame. */
.home-hero { min-height: 765px; }
.home-hero__media::after { background: linear-gradient(90deg, rgba(28,16,15,.62), rgba(28,16,15,.15)); }
.home-hero__content { max-width: 1240px; }
.home-hero h1 {
	max-width:680px;
	font-size:46px;
	line-height:55.2px;
	letter-spacing:.92px;
}
.home-hero__content > p:not(.rgev-kicker) { max-width: 500px; font-size: 20px; line-height: 1.55; }
.home-hero .rgev-actions { margin-top: 36px; }
.rgev-button { border-radius: 999px; padding-inline: 31px; }

.home-promo { padding: 52px 0; background: #fff; }
.home-promo__inner {
	display: grid;
	grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr);
	min-height: 360px;
	align-items: stretch;
	border: 1px solid var(--rgev-border);
	background: #fff;
}
.home-promo__copy { display: flex; padding: 54px 60px; flex-direction: column; justify-content: center; }
.home-promo__copy h2 { max-width: 520px; margin: 10px 0 16px; font-size: clamp(32px, 3.4vw, 46px); }
.home-promo__badge { color: var(--rgev-wine); font-family: var(--rgevlab-font-heading); font-size: 42px; font-weight: 400; }
.home-promo__text { color: var(--rgev-muted); }
.home-promo__media, .home-promo__media img { width: 100%; height: 100%; }
.home-promo__media img { object-fit: cover; }

.catalog-banner__inner { grid-template-columns: 1.15fr .85fr; }
.catalog-banner__inner > img { min-height: 490px; object-fit: cover; }
.catalog-banner__inner > div { padding: clamp(46px, 7vw, 92px); }
.format-card { border-radius: 0; }
.feature-split__inner { gap: clamp(46px, 8vw, 112px); }
.feature-split__inner > img { min-height: 520px; object-fit: cover; }
.detail-card img { aspect-ratio: 1 / 1.08; object-fit: cover; }

/* Catalog — sectioned instead of one generic Woo loop. */
.rgev-catalog-page { padding-bottom: 80px; }
.catalog-page-hero {
	position: relative;
	display: grid;
	min-height: 520px;
	place-items: center;
	overflow: hidden;
	background: #241a17;
}
.catalog-page-hero::after { position:absolute; inset:0; background:rgba(25,15,14,.35); content:""; }
.catalog-page-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.catalog-page-hero__content { position:relative; z-index:1; color:#fff; text-align:center; }
.catalog-page-hero h1 { margin:0 0 12px; color:#fff; font-size:46px; line-height:55.2px; letter-spacing:.92px; }
.catalog-page-hero p { margin:0; font-size:18px; letter-spacing:.06em; }
.catalog-page-nav {
	display:flex;
	gap:26px;
	padding-block:30px;
	overflow-x:auto;
	border-bottom:1px solid var(--rgev-border);
	white-space:nowrap;
}
.catalog-page-nav a { color:var(--rgev-muted); font-size:13px; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.catalog-page-nav a[aria-current="page"], .catalog-page-nav a:hover { color:var(--rgev-wine); }
.catalog-group { padding-top: 92px; padding-bottom: 42px; }
.catalog-group + .catalog-group { border-top:1px solid var(--rgev-border); }
.catalog-group__heading { margin-bottom:44px; text-align:center; }
.catalog-group__heading h2 { margin-bottom:0; font-size:clamp(34px,3.3vw,46px); }
.catalog-group__heading .rgev-gold-line { margin:20px auto 0; }
.catalog-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:48px 22px; }
.catalog-product-card__media { display:block; overflow:hidden; background:var(--rgev-soft); }
.catalog-product-card__media img { width:100%; aspect-ratio:.82/1; object-fit:cover; transition:transform .35s ease; }
.catalog-product-card:hover .catalog-product-card__media img { transform:scale(1.018); }
.catalog-product-card__body { padding-top:18px; text-align:center; }
.catalog-product-card h3 { margin:0 0 8px; font-family:var(--rgevlab-font-body); font-size:16px; letter-spacing:.055em; text-transform:uppercase; }
.catalog-product-card h3 a { color:var(--rgev-text); text-decoration:none; }
.catalog-product-card__price { color:var(--rgev-muted); font-size:14px; }
.catalog-product-card__price .amount { color:inherit; }

/* Product page */
.rgev-product { padding-top: 26px; }
.rgev-product__breadcrumb { padding: 18px 0 30px; color:var(--rgev-muted); font-size:12px; }
.rgev-product__breadcrumb .woocommerce-breadcrumb { margin:0; }
.rgev-product__layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr); gap:clamp(55px,7vw,105px); align-items:start; }
.rgev-product-gallery { position:sticky; top:96px; }
.rgev-product-gallery__stage { display:grid; min-height:700px; place-items:center; overflow:hidden; background:var(--rgev-soft); }
.rgev-product-gallery__main { width:100%; height:100%; max-height:780px; object-fit:contain; }
.rgev-product-gallery__thumbs { display:flex; gap:12px; margin-top:14px; overflow-x:auto; }
.rgev-product-gallery__thumb { width:82px; height:96px; padding:0; overflow:hidden; border:1px solid var(--rgev-border); background:#fff; cursor:pointer; }
.rgev-product-gallery__thumb.is-active { border-color:var(--rgev-gold-dark); }
.rgev-product-gallery__thumb img { width:100%; height:100%; object-fit:cover; }
.rgev-product-summary { padding-top:40px; }
.rgev-product-summary h1 { margin-bottom:12px; font-size:46px; line-height:55.2px; letter-spacing:.92px; }
.rgev-product-summary__price { margin-bottom:28px; color:var(--rgev-wine); font-family:var(--rgevlab-font-heading); font-size:30px; }
.rgev-product-summary__lead { color:var(--rgev-muted); font-size:18px; line-height:1.55; }
.rgev-product-benefits { display:grid; gap:0; margin:34px 0; border-top:1px solid var(--rgev-border); }
.rgev-product-benefits > div { display:grid; gap:5px; padding:17px 0; border-bottom:1px solid var(--rgev-border); }
.rgev-product-benefits strong { font-family:var(--rgevlab-font-heading); font-size:19px; font-weight:400; }
.rgev-product-benefits span { color:var(--rgev-muted); font-size:14px; }
.rgev-product-order__eyebrow { margin-bottom:11px; font-family:var(--rgevlab-font-heading); font-size:22px; }
.rgev-product-measurements { margin:0 0 24px; padding:0; border:0; }
.rgev-product-measurements legend { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.rgev-product-measurements > p { margin-bottom:18px; color:var(--rgev-muted); font-size:14px; }
.rgev-product-measurements__grid { display:grid; gap:12px; }
.rgev-product-measurements__grid label { display:grid; gap:7px; color:var(--rgev-muted); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.rgev-product-measurements__grid input { width:100%; min-height:54px; padding:11px 17px; border:1px solid var(--rgev-border); border-radius:0; background:#fff; color:var(--rgev-text); font-size:15px; }
.rgev-measurements-help { display:inline-block; margin-top:13px; font-size:12px; text-decoration:none; }
.rgev-product-order form.cart { display:grid; grid-template-columns:86px 1fr; gap:12px; }
.rgev-product-order .rgev-product-measurements { grid-column:1 / -1; }
.rgev-product-order form.cart .quantity { margin:0 !important; }
.rgev-product-order form.cart .quantity .qty { width:100%; min-height:56px; }
.rgev-product-order .single_add_to_cart_button { min-height:56px !important; border-radius:999px !important; background:var(--rgev-wine) !important; }
.rgev-product-custom { margin-top:30px; padding-top:25px; border-top:1px solid var(--rgev-border); color:var(--rgev-muted); font-size:14px; }
.rgev-product-description { margin-top:90px; border-top:1px solid var(--rgev-border); }
.rgev-product-description__inner { max-width:760px; margin-inline:auto; }
.rgev-product-collection { margin-inline:calc((100vw - min(100vw - 48px, var(--rgev-shell))) / -2); padding-inline:max(24px, calc((100vw - var(--rgev-shell))/2)); }
.rgev-product-collection .products { margin-top:34px !important; }

/* Measurements */
.measurements-two-col { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(55px,8vw,120px); align-items:start; }
.measurements-copy > p { color:var(--rgev-muted); font-size:18px; }
.measurement-location-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.measurement-location-grid article { min-height:290px; padding:38px; border:1px solid var(--rgev-border); background:#fff; }
.measurement-location-grid article > span { color:var(--rgev-gold-dark); font-family:var(--rgevlab-font-heading); font-size:34px; }
.measurement-location-grid h3 { margin:34px 0 12px; }
.measurement-location-grid p { color:var(--rgev-muted); }
.measurement-location-grid small { color:var(--rgev-muted); }
.measurements-video__frame { max-width:920px; }
.measurements-video__frame iframe { width:100%; min-height:520px; border:0; }
.measurements-video__placeholder { display:grid; min-height:500px; place-items:center; align-content:center; gap:12px; border:1px solid var(--rgev-border); background:#fff; text-align:center; }
.measurements-video__placeholder > span { display:grid; width:74px; height:74px; place-items:center; border:1px solid var(--rgev-gold); border-radius:50%; color:var(--rgev-wine); font-size:26px; }
.measurements-video__placeholder strong { font-family:var(--rgevlab-font-heading); font-size:28px; font-weight:400; }
.measurements-video__placeholder p { color:var(--rgev-muted); }

/* Reviews */
.review-card__image, .review-card__cover img { width:100%; aspect-ratio:1.35/1; margin-bottom:24px; object-fit:cover; }
.review-card--full { padding:0; overflow:hidden; }
.review-card--full > .review-card__stars,
.review-card--full > .review-card__text,
.review-card--full > footer { margin-left:36px; margin-right:36px; }
.review-card--full > .review-card__stars { margin-top:30px; }
.review-card--full > footer { margin-bottom:36px; }
.review-card__gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:24px 36px; }
.review-card__gallery img { width:100%; aspect-ratio:1/1; object-fit:cover; }

.site-footer__social { display:flex; gap:18px; margin-top:24px; }
.site-footer__contacts span { color:var(--rgev-muted); font-size:13px; line-height:1.55; }
.site-footer__bottom > div { display:grid; gap:4px; }
.site-footer__requisites { max-width:520px; text-align:right; }

@media (max-width: 1100px) {
	.site-header__top { min-height:132px; }
	.site-header__inner { grid-template-columns:1fr auto; }
	.primary-navigation > ul { gap:15px; }
	.primary-navigation a, .header-contract { font-size:14px; letter-spacing:1px; }
	.catalog-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.rgev-product__layout { grid-template-columns:minmax(0,1fr) 410px; gap:45px; }
	.rgev-product-gallery__stage { min-height:600px; }
}

@media (max-width: 820px) {
	.site-header { position:relative; }
	.site-header__top { min-height:82px; justify-content:space-between; }
	.site-header__top .site-logo img, .site-header__top .custom-logo { width:126px; height:58px; }
	.site-header__bar { border-top:0; }
	.site-header__inner { display:block; min-height:0; width:100%; }
	.menu-toggle { display:block; }
	.primary-navigation { position:fixed; inset:82px 0 0; z-index:101; display:none; padding:32px 24px; overflow:auto; background:#fff; }
	.primary-navigation.is-open { display:block; }
	.primary-navigation > ul { display:grid; gap:0; }
	.primary-navigation li { border-bottom:1px solid var(--rgev-border); }
	.primary-navigation a { display:block; padding:18px 0; font-size:14px; }
	.site-header__tools { display:none; }
	.site-header__mobile-tools { display:grid; gap:0; margin-top:20px; border-top:1px solid var(--rgev-border); }
	.site-header__mobile-tools a { display:block; padding:18px 0; border-bottom:1px solid var(--rgev-border); color:var(--rgev-wine); font-size:14px; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
	.home-hero { min-height:650px; }
	.home-hero h1 { max-width:560px; font-size:42px; }
	.home-promo__inner { grid-template-columns:1fr; }
	.home-promo__copy { padding:42px 30px; }
	.home-promo__media { min-height:300px; }
	.catalog-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.catalog-page-hero { min-height:410px; }
	.rgev-product__layout { grid-template-columns:1fr; }
	.rgev-product-gallery { position:relative; top:auto; }
	.rgev-product-gallery__stage { min-height:520px; }
	.rgev-product-summary { padding-top:10px; }
	.rgev-product-description { margin-top:55px; }
	.measurements-two-col, .measurement-location-grid { grid-template-columns:1fr; }
	.measurement-location-grid article { min-height:auto; }
	.measurements-video__frame iframe, .measurements-video__placeholder { min-height:390px; }
}

@media (max-width: 520px) {
	body { font-size:16px; line-height:23px; }
	h1 { font-size:36px; line-height:43px; letter-spacing:.5px; }
	h2 { font-size:32px; line-height:40px; letter-spacing:.4px; }
	h3 { font-size:21px; line-height:27px; }
	.site-shell { width:min(calc(100% - 32px), var(--rgev-shell)); }
	.home-hero { min-height:650px; }
	.home-hero__media::after { background:linear-gradient(180deg,rgba(25,14,14,.15),rgba(25,14,14,.68)); }
	.home-hero__content { align-self:end; padding-bottom:54px; }
	.home-hero h1 { font-size:36px; }
	.home-hero__content > p:not(.rgev-kicker) { font-size:17px; }
	.rgev-actions { display:grid; width:100%; }
	.rgev-actions .rgev-button { width:100%; }
	.home-promo { padding:24px 0; }
	.home-promo__copy { padding:32px 24px; }
	.home-promo__badge { font-size:36px; }
	.home-promo__media { min-height:245px; }
	.catalog-page-hero { min-height:330px; }
	.catalog-page-hero h1 { font-size:42px; }
	.catalog-page-nav { gap:18px; padding-block:23px; }
	.catalog-group { padding-top:62px; }
	.catalog-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 12px; }
	.catalog-product-card h3 { font-size:12px; }
	.catalog-product-card__price { font-size:12px; }
	.rgev-product { padding-top:0; }
	.rgev-product__breadcrumb { padding:12px 0 20px; }
	.rgev-product-gallery__stage { min-height:430px; }
	.rgev-product-summary h1 { font-size:38px; }
	.rgev-product-order form.cart { grid-template-columns:1fr; }
	.rgev-product-order .quantity { display:none; }
	.rgev-product-order .single_add_to_cart_button { width:100%; }
	.rgev-product-collection { margin-inline:-16px; padding-inline:16px; }
	.measurements-video__frame iframe, .measurements-video__placeholder { min-height:280px; }
	.measurement-steps li { grid-template-columns:54px 1fr; gap:16px; }
	.measurement-steps li > span { font-size:28px; }
	.review-grid--archive { grid-template-columns:1fr; }
	.site-footer__requisites { text-align:left; }
}

/* ========================================================================== */
/* RGEVLab homepage — Figma 1440 / 390 exact-layout pass (theme 0.9.11).      */
/* The customer-facing homepage intentionally uses its own layout primitives   */
/* instead of forcing every section through the generic .site-shell.           */
/* ========================================================================== */

/* Shared Figma header. Cart is intentionally absent from the approved mockup. */
.site-header {
	position: relative;
	z-index: 100;
	border: 0;
	background: #fff;
	box-shadow: none;
}

.site-header__top {
	display: flex;
	width: 100%;
	height: 155px;
	min-height: 155px;
	max-height: 155px;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	opacity: 1;
}

.site-branding {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
}

.site-branding__line {
	display: block;
	width: 144px;
	height: 8px;
	flex: 0 0 144px;
	background:
		linear-gradient(
			to bottom,
			var(--rgev-wine) 0,
			var(--rgev-wine) 1px,
			transparent 1px,
			transparent 6px,
			var(--rgev-wine) 6px,
			var(--rgev-wine) 7px,
			transparent 7px
		);
}

.site-header__top .site-logo,
.site-header__top .custom-logo-link {
	display: block;
	flex: 0 0 auto;
}

.site-header__top .site-logo img,
.site-header__top .custom-logo {
	display: block;
	width: 130px;
	height: 126px;
	object-fit: contain;
}

.site-header__bar {
	height: 118px;
	border: 0;
	background: #fff;
}

.site-header__inner,
.site-header__bar .site-header__inner {
	display: flex;
	width: 100%;
	height: 118px;
	min-height: 118px;
	margin: 0;
	padding: 5px 24px 0;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	gap: 0;
}

.primary-navigation {
	position: static;
	display: block;
	width: auto;
	padding: 0;
	visibility: visible;
	overflow: visible;
	background: transparent;
	opacity: 1;
	transform: none;
}

.primary-navigation > ul,
.primary-navigation .menu {
	display: flex;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: center;
	gap: 54px;
	list-style: none;
}

.primary-navigation li {
	border: 0;
}

.primary-navigation a {
	display: inline-block;
	padding: 0;
	border: 0;
	color: var(--rgev-muted);
	font-family: var(--rgevlab-font-body);
	font-size: 18px;
	font-weight: 300;
	letter-spacing: 1.5px;
	line-height: 20px;
	text-decoration: none;
	text-transform: uppercase;
}

.primary-navigation .current-menu-item > a,
.primary-navigation a:hover {
	color: var(--rgev-wine);
}

.primary-navigation .current-menu-item > a::after {
	display: none;
}

.header-contract {
	display: inline-block;
	margin-top: 28px;
	color: var(--rgev-wine-light);
	font-family: var(--rgevlab-font-body);
	font-size: 18px;
	font-weight: 300;
	letter-spacing: 1.5px;
	line-height: 20px;
	text-decoration: none;
	text-transform: uppercase;
}

.menu-toggle,
.site-header__tools,
.site-header__mobile-tools,
.header-cart {
	display: none !important;
}

/* Keep the previously requested desktop collapsed-header behavior after scroll. */
@media (min-width: 821px) {
	.site-header.is-sticky {
		position: sticky;
		top: 0;
		box-shadow: 0 8px 30px rgba(32, 20, 17, 0.06);
	}
	.site-header.is-sticky .site-header__top {
		height: 0;
		min-height: 0;
		max-height: 0;
		opacity: 0;
		pointer-events: none;
	}
	.site-header.is-sticky .site-header__bar {
		background: rgba(255, 255, 255, 0.985);
	}
}

/* Homepage primitives. */
.rgev-home {
	background: #fff;
}

.rgev-home-divider {
	display: block;
	height: 1px;
	background: linear-gradient(90deg, var(--rgev-gold-dark) 0%, var(--rgev-gold-light) 50%, var(--rgev-gold-dark) 100%);
}

.rgev-home-button {
	display: inline-flex;
	min-width: 205px;
	height: 54px;
	padding: 0 28px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--rgev-wine);
	border-radius: 999px;
	color: #fff;
	background: var(--rgev-wine);
	font-family: var(--rgevlab-font-body);
	font-size: 13px;
	font-weight: 300;
	letter-spacing: .78px;
	line-height: 19.5px;
	text-decoration: none;
	text-transform: none;
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

.rgev-home-button:hover {
	color: #fff;
	background: var(--rgev-wine-dark);
}

.rgev-home-button--outline {
	border-color: rgba(197, 160, 73, .68);
	color: var(--rgev-text);
	background: rgba(255, 255, 255, .72);
}

.rgev-home-button--outline:hover {
	border-color: var(--rgev-gold);
	color: var(--rgev-text);
	background: #fff;
}

.rgev-home-section-title {
	text-align: center;
}

.rgev-home-section-title h2,
.rgev-home-promo h2,
.rgev-home-split h2 {
	margin: 0;
	font-family: var(--rgevlab-font-heading);
	font-size: 40px;
	font-weight: 400;
	letter-spacing: .8px;
	line-height: 50px;
}

.rgev-home-section-title .rgev-home-divider,
.rgev-home-promo .rgev-home-divider {
	width: 110px;
	margin: 22px auto 33px;
}

.rgev-home-section-title p,
.rgev-home-promo p,
.rgev-home-split p {
	margin: 0;
	color: var(--rgev-muted);
	font-size: 18px;
	font-weight: 300;
	line-height: 28px;
}

.rgev-home-mobile-copy,
.rgev-home-split__button-mobile {
	display: none;
}

/* 273px header + 765px hero = exact first desktop transition from the supplied export. */
.rgev-home-hero {
	position: relative;
	height: 765px;
	overflow: hidden;
	background: #eee;
}

.rgev-home-hero__media,
.rgev-home-hero__shade {
	position: absolute;
	inset: 0;
}

.rgev-home-hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.rgev-home-hero__shade {
	background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 22%, rgba(255,255,255,.72) 34%, rgba(255,255,255,.12) 58%, rgba(255,255,255,0) 72%);
}

.rgev-home-hero__content {
	position: relative;
	z-index: 2;
	width: min(calc(100% - 200px), 1240px);
	height: 100%;
	margin-inline: auto;
	padding-top: 98px;
}

.rgev-home-hero h1 {
	width: 470px;
	max-width: 470px;
	margin: 0;
	color: var(--rgev-text);
	font-size: 46px;
	font-weight: 400;
	letter-spacing: .92px;
	line-height: 55.2px;
}

.rgev-home-hero h1 + .rgev-home-divider {
	width: 160px;
	margin: 22px 0 18px;
}

.rgev-home-hero__content > p {
	margin: 0;
	color: var(--rgev-muted);
	font-size: 18px;
	font-weight: 300;
	line-height: 32px;
}

.rgev-home-hero__actions {
	display: flex;
	gap: 16px;
	margin-top: 162px;
}

/* Figma promotion is intentionally text-only with generous white space. */
.rgev-home-promo {
	position: relative;
	height: 650px;
	background: #fff;
}

.rgev-home-promo__copy {
	position: absolute;
	top: 148px;
	right: 15%;
	width: 420px;
	text-align: center;
}

/* Catalog: centered heading + one wide visual, not a generic split container. */
.rgev-home-catalog {
	height: 815px;
	background: #fff;
}

.rgev-home-catalog .rgev-home-section-title {
	height: 185px;
	padding-top: 77px;
}

.rgev-home-catalog__media {
	position: relative;
	display: block;
	width: calc(100% - 144px);
	max-width: 1296px;
	height: 630px;
	margin-inline: auto;
	overflow: hidden;
	color: inherit;
}

.rgev-home-catalog__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.rgev-home-catalog__media > .rgev-home-button {
	position: absolute;
	left: 50%;
	bottom: 72px;
	min-width: 188px;
	height: 52px;
	transform: translateX(-50%);
}

/* Format choice: fixed-width Figma cards and swapped correct left/right order. */
.rgev-home-format {
	height: 861px;
	padding-top: 135px;
	background: #fff;
}

.rgev-home-format .rgev-home-section-title {
	height: 96px;
}

.rgev-home-format .rgev-home-section-title .rgev-home-divider {
	margin-bottom: 0;
}

.rgev-home-format__grid {
	display: grid;
	grid-template-columns: repeat(2, 530px);
	gap: 40px;
	width: 1100px;
	margin-inline: auto;
}

.rgev-home-format-card {
	position: relative;
	display: block;
	height: 480px;
	overflow: hidden;
	color: var(--rgev-text);
	text-decoration: none;
}

.rgev-home-format-card > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rgev-home-format-card__copy {
	position: absolute;
	right: 0;
	bottom: 34px;
	left: 0;
	z-index: 2;
	display: block;
	text-align: center;
}

.rgev-home-format-card__copy strong {
	display: block;
	font-family: var(--rgevlab-font-heading);
	font-size: 37px;
	font-weight: 400;
	line-height: 44px;
}

.rgev-home-format-card__copy small {
	display: block;
	margin-top: 4px;
	font-size: 16px;
	font-weight: 300;
	line-height: 22px;
}

.rgev-home-format-card--custom {
	color: #fff;
}

.rgev-home-format-card--custom::after {
	position: absolute;
	inset: 45% 0 0;
	z-index: 1;
	background: linear-gradient(transparent, rgba(25,18,12,.48));
	content: "";
}

.rgev-home-format-card--ready .rgev-home-format-card__copy {
	color: rgba(38,38,38,.86);
}

/* Three 630px split rows from the desktop Figma frame. */
.rgev-home-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	height: 630px;
	align-items: stretch;
	background: #fff;
}

.rgev-home-split__copy {
	display: flex;
	padding: 0 70px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
}

.rgev-home-split__copy h2 {
	max-width: 540px;
}

.rgev-home-split__copy .rgev-home-divider {
	width: 145px;
	margin: 20px auto 22px;
}

.rgev-home-split__copy p {
	max-width: 540px;
}

.rgev-home-split__copy .rgev-home-button {
	min-width: 180px;
	height: 52px;
	margin-top: 34px;
}

.rgev-home-split__media {
	position: relative;
	overflow: hidden;
}

.rgev-home-split__media > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rgev-home-split--measurements .rgev-home-split__media {
	grid-column: 1;
	grid-row: 1;
}

.rgev-home-split--measurements .rgev-home-split__copy {
	grid-column: 2;
	grid-row: 1;
}

.rgev-home-split--production .rgev-home-split__copy {
	grid-column: 1;
}

.rgev-home-split--production .rgev-home-split__media {
	grid-column: 2;
}

/* Detail cards: photo + one label only, as in Figma. */
.rgev-home-details {
	height: 636px;
	padding-top: 102px;
	background: #fff;
}

.rgev-home-details .rgev-home-section-title {
	height: 98px;
}

.rgev-home-details__grid {
	display: grid;
	grid-template-columns: repeat(4, 250px);
	gap: 28px;
	width: 1084px;
	margin-inline: auto;
}

.rgev-home-detail {
	margin: 0;
	text-align: center;
}

.rgev-home-detail img {
	width: 250px;
	height: 257px;
	object-fit: cover;
}

.rgev-home-detail h3 {
	margin: 20px 0 0;
	font-family: var(--rgevlab-font-body);
	font-size: 14px;
	font-weight: 300;
	line-height: 20px;
}

/* Why block from Figma. */
.rgev-home-why {
	height: 659px;
	padding-top: 126px;
	background: #fff;
}

.rgev-home-why .rgev-home-section-title {
	height: 118px;
}

.rgev-home-why ul {
	width: 520px;
	margin: 0 auto;
	padding: 0 0 0 40px;
	border-left: 1px solid var(--rgev-gold-light);
	list-style: none;
}

.rgev-home-why li {
	position: relative;
	height: 56px;
	color: var(--rgev-muted);
	font-size: 16px;
	font-weight: 300;
	line-height: 56px;
}

.rgev-home-why li::before {
	position: absolute;
	left: -20px;
	color: var(--rgev-gold);
	content: "✦";
	font-size: 11px;
}

/* Shared Figma footer. */
.site-footer {
	height: 548px;
	padding: 80px 0 0;
	background: var(--rgev-footer);
	color: #8a8a8a;
	font-size: 12px;
	font-weight: 300;
}

.site-footer__rule {
	width: calc(100% - 120px);
	max-width: 1320px;
	height: 1px;
	margin: 0 auto 47px;
	background: linear-gradient(90deg, var(--rgev-gold-dark), var(--rgev-gold-light), var(--rgev-gold-dark));
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1.15fr .8fr 1.25fr .8fr;
	gap: 54px;
	width: min(calc(100% - 260px), 1180px);
	margin-inline: auto;
}

.site-footer__wordmark {
	display: inline-block;
	color: var(--rgev-text);
	font-family: var(--rgevlab-font-heading);
	font-size: 24px;
	font-weight: 400;
	letter-spacing: .5px;
	text-decoration: none;
}

.site-footer__wordmark span {
	color: var(--rgev-wine-light);
}

.site-footer__brand p {
	max-width: none;
	margin: 16px 0 0;
	color: #8a8a8a;
	font-size: 11px;
	font-weight: 300;
	letter-spacing: 1.3px;
	line-height: 18px;
}

.site-footer__grid ul {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__grid li,
.site-footer__contacts > a,
.site-footer__contacts > span {
	display: block;
	margin: 0 0 15px;
	color: #8a8a8a;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.35;
	text-decoration: none;
}

.site-footer__contract a {
	color: var(--rgev-wine-light);
}

.site-footer__contacts {
	display: block;
	text-align: right;
}

.site-footer__social {
	display: flex;
	margin-top: 8px;
	justify-content: flex-end;
	gap: 28px;
}

.site-footer__social a,
.site-footer__social span {
	color: #8a8a8a;
	font-size: 12px;
	text-decoration: none;
}

.site-footer__privacy-mobile {
	display: none;
}

.site-footer__bottom {
	display: block;
	margin: 28px 0 0;
	padding: 0;
	border: 0;
	color: #b1b1b1;
	font-size: 10px;
	font-weight: 300;
	line-height: 16px;
	text-align: center;
}

.site-footer__star {
	display: block;
	margin-bottom: 20px;
	color: var(--rgev-gold);
	font-size: 15px;
}

.site-footer__bottom p {
	margin: 0 0 4px;
}

@media (max-width: 820px) {
	/* The supplied 390px Figma has a fully visible two-column menu, not a burger. */
	.site-header,
	.site-header.is-sticky {
		position: relative;
		top: auto;
		height: 422px;
		box-shadow: none;
	}

	.site-header__top,
	.site-header.is-sticky .site-header__top {
		display: flex;
		height: 177px;
		min-height: 177px;
		max-height: 177px;
		opacity: 1;
		pointer-events: auto;
	}

	.site-branding {
		gap: 12px;
	}

	.site-branding__line {
		width: 95px;
		height: 7px;
		flex-basis: 95px;
	}

	.site-header__top .site-logo img,
	.site-header__top .custom-logo {
		width: 128px;
		height: 126px;
	}

	.site-header__bar {
		height: 245px;
		border: 0;
	}

	.site-header__inner,
	.site-header__bar .site-header__inner {
		display: flex;
		height: 245px;
		min-height: 245px;
		padding: 4px 0 0;
		align-items: center;
		justify-content: flex-start;
		flex-direction: column;
	}

	.primary-navigation {
		position: static;
		display: block;
		width: 100%;
		padding: 0;
		visibility: visible;
		overflow: visible;
		background: transparent;
		opacity: 1;
		transform: none;
	}

	.primary-navigation > ul,
	.primary-navigation .menu {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 17px 30px;
		width: 310px;
		margin: 0 auto;
		padding: 0;
		text-align: center;
	}

	.primary-navigation li {
		border: 0;
	}

	.primary-navigation a {
		display: block;
		padding: 0;
		border: 0;
		font-family: var(--rgevlab-font-body);
		font-size: 12px;
		font-weight: 300;
		letter-spacing: 1.45px;
		line-height: 16px;
	}

	.header-contract {
		margin-top: 20px;
		font-size: 12px;
		font-weight: 400;
		letter-spacing: 1.45px;
		line-height: 16px;
	}

	body.admin-bar .site-header.is-sticky {
		top: auto;
	}

	.rgev-home-mobile-copy,
	.rgev-home-split__button-mobile {
		display: block;
	}

	.rgev-home-desktop-copy,
	.rgev-home-split__button-desktop {
		display: none;
	}

	.rgev-home-section-title h2,
	.rgev-home-promo h2,
	.rgev-home-split h2 {
		font-size: 31px;
		letter-spacing: .3px;
		line-height: 40px;
	}

	.rgev-home-section-title .rgev-home-divider,
	.rgev-home-promo .rgev-home-divider {
		width: 100px;
		margin: 15px auto 28px;
	}

	.rgev-home-section-title p,
	.rgev-home-promo p,
	.rgev-home-split p {
		font-size: 16px;
		line-height: 24px;
	}

	/* Mobile: exact major vertical spans read from the supplied 390x7428 export. */
	.rgev-home-hero {
		height: 657px;
	}

	.rgev-home-hero__image {
		object-position: 63% center;
	}

	.rgev-home-hero__shade {
		background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.82) 20%, rgba(255,255,255,.2) 47%, rgba(255,255,255,0) 66%);
	}

	.rgev-home-hero__content {
		display: flex;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 11px 26px 70px;
		flex-direction: column;
	}

	.rgev-home-hero h1 {
		width: 330px;
		max-width: calc(100vw - 52px);
		font-size: 30px;
		letter-spacing: .3px;
		line-height: 36px;
	}

	.rgev-home-hero h1 + .rgev-home-divider {
		width: 100px;
		margin: 16px 0 18px;
	}

	.rgev-home-hero__content > p {
		font-size: 16px;
		line-height: 24px;
	}

	.rgev-home-hero__actions {
		display: grid;
		gap: 10px;
		margin-top: auto;
	}

	.rgev-home-hero__actions .rgev-home-button {
		width: 200px;
		min-width: 0;
		height: 45px;
		padding: 0 20px;
		font-size: 12px;
	}

	/* Mobile Figma intentionally keeps the campaign slot visually blank. */
	.rgev-home-promo {
		height: 472px;
	}

	.rgev-home-promo__copy {
		display: none;
	}

	.rgev-home-catalog {
		height: 735px;
	}

	.rgev-home-catalog .rgev-home-section-title {
		height: 131px;
		padding-top: 0;
	}

	.rgev-home-catalog__media {
		width: 100%;
		height: 521px;
	}

	.rgev-home-catalog__image {
		object-fit: cover;
		object-position: 79% center;
	}

	.rgev-home-catalog__media > .rgev-home-button {
		bottom: 38px;
		min-width: 180px;
		height: 45px;
	}

	.rgev-home-format {
		height: 600px;
		padding-top: 68px;
	}

	.rgev-home-format .rgev-home-section-title {
		height: 104px;
	}

	.rgev-home-format__grid {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
		width: calc(100% - 40px);
		max-width: 350px;
	}

	.rgev-home-format-card {
		height: 320px;
	}

	.rgev-home-format-card__copy {
		bottom: 24px;
	}

	.rgev-home-format-card__copy strong {
		font-size: 23px;
		line-height: 29px;
	}

	.rgev-home-format-card__copy small {
		font-size: 14px;
		line-height: 20px;
	}

	.rgev-home-split {
		display: flex;
		height: auto;
		flex-direction: column;
	}

	.rgev-home-split__copy {
		height: 230px;
		padding: 0 24px;
		order: 1;
	}

	.rgev-home-split__copy h2 {
		max-width: 350px;
	}

	.rgev-home-split__copy .rgev-home-divider {
		width: 100px;
		margin: 15px auto 20px;
	}

	.rgev-home-split__copy p {
		max-width: 355px;
	}

	.rgev-home-split__media {
		width: 100%;
		height: 560px;
		order: 2;
	}

	.rgev-home-split__media > img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.rgev-home-split__button-mobile {
		position: absolute;
		left: 50%;
		bottom: 64px;
		min-width: 178px;
		height: 45px;
		padding: 12px 20px;
		transform: translateX(-50%);
		text-align: center;
	}

	.rgev-home-split--design {
		height: 790px;
	}

	.rgev-home-split--measurements {
		height: 788px;
	}

	.rgev-home-split--measurements .rgev-home-split__copy,
	.rgev-home-split--measurements .rgev-home-split__media {
		grid-column: auto;
		grid-row: auto;
	}

	.rgev-home-split--measurements .rgev-home-split__media {
		height: 518px;
		order: 2;
	}

	.rgev-home-split--measurements .rgev-home-split__copy {
		order: 1;
	}

	.rgev-home-split--production {
		height: 802px;
	}

	.rgev-home-split--production .rgev-home-split__copy,
	.rgev-home-split--production .rgev-home-split__media {
		grid-column: auto;
	}

	.rgev-home-split--production .rgev-home-split__copy {
		height: 246px;
	}

	.rgev-home-split--production .rgev-home-split__media {
		height: 556px;
	}

	.rgev-home-details {
		height: 690px;
		padding-top: 80px;
	}

	.rgev-home-details .rgev-home-section-title {
		height: 96px;
	}

	.rgev-home-details__grid {
		grid-template-columns: 1fr 1fr;
		gap: 18px 16px;
		width: calc(100% - 40px);
		max-width: 350px;
	}

	.rgev-home-detail img {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	.rgev-home-detail h3 {
		margin-top: 12px;
		font-size: 15px;
		line-height: 20px;
	}

	.rgev-home-why {
		height: 560px;
		padding-top: 78px;
	}

	.rgev-home-why .rgev-home-section-title {
		height: 105px;
	}

	.rgev-home-why ul {
		width: calc(100% - 40px);
		max-width: 350px;
		padding-left: 52px;
	}

	.rgev-home-why li {
		height: 62px;
		font-size: 16px;
		line-height: 62px;
	}

	.rgev-home-why li::before {
		left: -29px;
	}

	.site-footer {
		height: 978px;
		padding-top: 64px;
		font-size: 15px;
	}

	.site-footer__rule {
		width: calc(100% - 40px);
		max-width: 350px;
		margin-bottom: 65px;
	}

	.site-footer__grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 30px;
		width: 300px;
		margin-inline: auto;
		text-align: left;
	}

	.site-footer__brand {
		grid-column: 1 / -1;
		margin-bottom: 36px;
		text-align: center;
	}

	.site-footer__wordmark {
		font-size: 26px;
	}

	.site-footer__brand p {
		margin-top: 14px;
		font-size: 12px;
		line-height: 22px;
	}

	.site-footer__grid li,
	.site-footer__contacts > a,
	.site-footer__contacts > span {
		margin-bottom: 18px;
		font-size: 15px;
		line-height: 1.25;
	}

	.site-footer__privacy-desktop {
		display: none;
	}

	.site-footer__contacts {
		grid-column: 1 / -1;
		margin-top: 8px;
		text-align: center;
	}

	.site-footer__social {
		margin-top: 12px;
		justify-content: center;
		gap: 28px;
	}

	.site-footer__social a,
	.site-footer__social span {
		font-size: 15px;
	}

	.site-footer__privacy-mobile {
		display: block;
		margin: 8px 0 15px;
		color: #8a8a8a;
		font-size: 15px;
		text-align: center;
		text-decoration: none;
	}

	.site-footer__bottom {
		margin-top: 62px;
		font-size: 12px;
		line-height: 22px;
	}

	.site-footer__star {
		margin-bottom: 20px;
	}
}

@media (max-width: 390px) {
	/* Lock the reference viewport exactly; narrower phones still fluidly inherit. */
	.site-branding__line {
		width: 95px;
		flex-basis: 95px;
	}
}

/* 0.9.11 final specificity/alignment corrections after the full-frame PNG audit. */
.site-footer__grid a {
	color: #8a8a8a;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.35;
	text-decoration: none;
}

.site-footer__grid a:hover {
	color: var(--rgev-wine);
}

@media (max-width: 820px) {
	/* 5956px is the end of the details block in the supplied 390px export;
	 * the footer starts at ~6437px and the complete frame ends at 7428px. */
	.rgev-home-why {
		height: 481px;
	}

	.site-footer {
		height: 991px;
	}

	.site-footer__grid a {
		font-size: 15px;
	}
}

/* ==========================================================================\n   0.9.12 FIGMA PAGE PASS — catalog / product / measurements / contacts /\n   production / reviews. Homepage 0.9.11 rules above remain untouched.\n   ========================================================================== */

.figma-gold-rule{display:block;width:100px;height:1px;margin:18px auto 0;background:#c5a049}
.figma-page-width{width:min(100% - 80px,960px);margin-inline:auto}
.figma-centered-heading{text-align:center}.figma-centered-heading h2{margin:0;font:400 40px/1.25 var(--rgevlab-font-heading);letter-spacing:.4px}

/* Catalog */
.rgev-figma-catalog{padding:0;background:#fff}
.figma-catalog-hero{position:relative;height:542px;overflow:hidden}
.figma-catalog-hero>img{width:100%;height:100%;object-fit:cover;object-position:center}
.figma-catalog-hero__copy{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;justify-content:center;padding-top:10px;color:#262626;text-align:center}
.figma-catalog-hero__copy h1{margin:0;font:400 40px/1.25 var(--rgevlab-font-heading)}
.figma-catalog-hero__copy p{margin:17px 0 0;color:#777;font-size:14px;font-weight:300}
.figma-catalog-groups{padding:100px 0 145px}
.figma-catalog-group{width:min(100% - 110px,1160px);margin:0 auto 150px}
.figma-catalog-group:last-child{margin-bottom:0}
.figma-catalog-group__heading{margin-bottom:65px;text-align:center}
.figma-catalog-group__heading h2{margin:0;font:400 40px/1.25 var(--rgevlab-font-heading)}
.figma-catalog-group__heading .figma-gold-rule{width:105px;margin-top:16px}
.figma-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:65px 36px;align-items:start}
.figma-product-tile{text-align:center}
.figma-product-tile__image{display:grid;height:330px;place-items:end center;text-decoration:none}
.figma-product-tile__image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.figma-product-tile h3{margin:18px 0 0;font-family:var(--rgevlab-font-body);font-size:14px;font-weight:300;letter-spacing:.07em;line-height:1.35;text-transform:uppercase}
.figma-product-tile h3 a{color:#555;text-decoration:none}
.figma-catalog-group--winter .figma-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px;margin-inline:auto}
.figma-catalog-group--accessories .figma-product-tile__image{height:310px}

/* Product */
.figma-product-page{padding:0 0 350px;background:#fff}
.figma-product-layout{display:grid;grid-template-columns:590px 410px;gap:187px;width:1200px;max-width:100%;margin:0 auto 0 0;align-items:start}
.figma-product-gallery{position:sticky;top:0}
.figma-product-gallery__stage{position:relative;width:590px;height:785px;overflow:hidden;background:#f5f5f4}
.figma-product-gallery__main{display:block;width:100%;height:100%;object-fit:cover}
.figma-product-gallery__arrow{position:absolute;top:50%;display:grid;width:34px;height:34px;padding:0;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.86);color:#777;font-size:22px;transform:translateY(-50%);cursor:pointer}
.figma-product-gallery__arrow--prev{left:16px}.figma-product-gallery__arrow--next{right:16px}
.figma-product-summary{padding-top:70px;color:#777}
.figma-product-breadcrumb{margin-bottom:50px;color:#aaa;font-size:12px}.figma-product-breadcrumb .woocommerce-breadcrumb{margin:0}.figma-product-breadcrumb a{color:#aaa;text-decoration:none}.figma-product-breadcrumb span{padding-inline:9px}
.figma-product-summary h1{margin:0;color:#262626;font:400 46px/1.2 var(--rgevlab-font-heading);letter-spacing:.2px}
.figma-product-title-rule{width:252px;margin:16px 0 20px}
.figma-product-subtitle{margin:0 0 14px;font-size:17px}
.figma-product-price{margin-bottom:20px;color:#262626;font:400 30px/1.2 var(--rgevlab-font-heading)}
.figma-product-price .woocommerce-Price-amount{font:inherit}.figma-product-price del{display:none}.figma-product-price ins{text-decoration:none}
.figma-product-lead{font-size:17px;line-height:1.55;text-align:justify}.figma-product-lead p{margin:0}
.figma-product-benefits{margin:25px 0 55px;padding:0 0 0 29px;border-left:1px solid #c5a049;list-style:none}
.figma-product-benefits li{position:relative;margin:0 0 22px;color:#777;font-size:17px}.figma-product-benefits li:last-child{margin-bottom:0}.figma-product-benefits li::before{position:absolute;left:-25px;color:#c5a049;content:'✦'}
.figma-product-sizing h2{margin:0;color:#262626;font:400 30px/1.25 var(--rgevlab-font-heading)}
.figma-product-sizing>.figma-gold-rule{width:250px;margin:16px 0 24px}
.figma-product-sizing>p{margin:0 0 20px;font-size:16px;line-height:1.55;text-align:justify}
.figma-product-sizing__placeholder{width:235px;height:175px;margin:0 0 42px;background:#f5f5f4}
.figma-product-request-form{display:grid;gap:20px}
.figma-product-request-form label{display:grid;gap:9px;color:#777;font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.figma-product-request-form select{width:100%;height:42px;padding:0 15px;border:1px solid #e2e2e2;border-radius:0;background:#fff;color:#777;font:300 13px var(--rgevlab-font-body)}
.figma-product-request-form label.is-missing{color:#6b1e29}.figma-product-request-form label.is-missing select{border-color:#8c2c39;box-shadow:0 0 0 1px rgba(140,44,57,.08)}
.figma-product-request-hint{margin:-3px 0 0;color:#8a7f7f;font-size:12px;font-weight:300;letter-spacing:0;line-height:1.5;text-align:left;text-transform:none}.figma-product-request-hint[hidden]{display:none}.figma-product-request-hint.is-error{color:#8c2c39}
.figma-product-order-button,.figma-product-secondary-button{display:flex;width:215px;height:52px;margin-top:16px;align-items:center;justify-content:center;border:0;border-radius:999px;font-size:12px;letter-spacing:.04em;text-decoration:none}
.figma-product-order-button{color:#fff;background:#6b1e29;cursor:pointer}.figma-product-order-button:disabled,.figma-product-order-button.is-incomplete{background:#9a7b7d;cursor:pointer}
.figma-product-secondary-button{margin-top:-8px;border:1px solid #e6dfd5;color:#777;background:#f8f7f5}.figma-product-secondary-button__mobile{display:none}
.rgev-product-request-modal[hidden]{display:none!important}.rgev-product-request-modal{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:28px}.rgev-product-request-modal__backdrop{position:absolute;inset:0;background:rgba(22,18,18,.52)}
.rgev-product-request-modal__dialog{position:relative;z-index:1;width:min(720px,100%);padding:52px 62px;border:1px solid rgba(197,160,73,.55);border-radius:36px;background:#fff;box-shadow:0 20px 70px rgba(0,0,0,.2)}
.rgev-product-request-modal__close{position:absolute;top:22px;right:26px;border:0;background:transparent;font-size:28px;cursor:pointer}.rgev-product-request-modal__dialog h2{margin:0;text-align:center;font:400 36px/1.2 var(--rgevlab-font-heading)}.rgev-product-request-modal__dialog>p{text-align:center;color:#777}.rgev-product-request-modal__summary dl{display:grid;grid-template-columns:1fr 1.3fr;gap:7px 24px;margin:28px 0}.rgev-product-request-modal__summary dt{color:#888}.rgev-product-request-modal__summary dd{margin:0;color:#262626}
.rgev-product-request-modal form{display:grid;gap:14px}.rgev-product-request-modal form>label{display:grid;gap:7px;font-size:12px}.rgev-product-request-modal input,.rgev-product-request-modal textarea{width:100%;padding:12px 14px;border:0;border-bottom:1px solid #bbb;background:#f3f5f8;font:300 15px var(--rgevlab-font-body)}.rgev-product-request-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start}.rgev-product-request-consent input{width:auto;margin-top:2px}.rgev-product-request-consent a{color:#8c2c39;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.rgev-product-request-consent a:hover{color:#6b1e29}.rgev-product-request-error{padding:12px;border-radius:8px;color:#8a1926;background:#fce9eb}.rgev-product-request-success{text-align:center}

/* Measurements */
.figma-measurements-page{background:#fff}
.figma-measurements-hero{position:relative;height:765px;overflow:hidden}.figma-measurements-hero picture,.figma-measurements-hero__image{display:block;width:100%;height:100%}.figma-measurements-hero__image{object-fit:cover;object-position:center}
.figma-measurements-hero__copy{position:absolute;top:145px;left:max(82px,calc((100vw - 1200px)/2));color:#262626}.figma-measurements-hero__copy h1{margin:0;font:400 48px/1.13 var(--rgevlab-font-heading)}.figma-measurements-hero__copy .figma-gold-rule{width:100px;margin:20px 0}.figma-measurements-hero__copy p{margin:0;color:#666;font-size:15px;line-height:1.55}
.figma-measurements-when{padding:92px 24px 82px;text-align:center}.figma-measurements-when h2{max-width:600px;margin:0 auto;font:400 40px/1.2 var(--rgevlab-font-heading)}.figma-measurements-when p{max-width:610px;margin:30px auto 0;color:#777;font-size:15px;line-height:1.8}.figma-measurements-when .figma-gold-rule{margin-top:18px}
.figma-measurements-locations{padding-bottom:85px}.figma-measurements-locations .figma-centered-heading{margin-bottom:45px}.figma-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:120px}.figma-two-columns article h3{margin:0 0 12px;color:#262626;font:400 21px/1.3 var(--rgevlab-font-heading)}.figma-two-columns article p,.figma-two-columns li{color:#777;font-size:14px;line-height:1.6}.figma-two-columns article p{margin:0}.figma-two-columns a{color:#8c2c39;text-underline-offset:4px}
.figma-measurements-online{padding:72px 0 105px;background:#fbfbfb}.figma-measurements-online .figma-centered-heading{margin-bottom:55px}.figma-online-columns ul{margin:10px 0 14px;padding:0;list-style:none}.figma-online-columns li{position:relative;padding-left:18px}.figma-online-columns li::before{position:absolute;left:0;color:#c5a049;content:'✦'}
.figma-measurements-video{padding:100px 0 120px}.figma-measurements-video .figma-centered-heading{margin-bottom:35px}.figma-measurements-video__frame{display:grid;width:480px;height:855px;margin:auto;place-items:center;background:#f7f7f7;box-shadow:0 16px 45px rgba(0,0,0,.06);color:#aaa;font-size:13px}.figma-measurements-video__frame iframe{width:100%;height:100%;border:0}
.figma-measurements-final{margin:0;padding:40px 20px 130px;color:#262626;font:400 17px/1.55 var(--rgevlab-font-heading);text-align:center}

/* Contacts */
.figma-contacts-page{background:#fff}.figma-contacts-hero{position:relative;height:630px;overflow:hidden}.figma-contacts-hero::after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.4) 24%,rgba(255,255,255,0) 48%);content:''}.figma-contacts-hero picture,.figma-contacts-hero__image{display:block;width:100%;height:100%}.figma-contacts-hero__image{object-fit:cover;object-position:center}
.figma-contact-sections{padding:95px 24px 130px}.figma-contact-block{max-width:650px;margin:0 auto 105px;text-align:center}.figma-contact-block:last-child{margin-bottom:0}.figma-contact-block h1,.figma-contact-block h2{margin:0;color:#262626;font:400 40px/1.25 var(--rgevlab-font-heading)}.figma-contact-block__subtitle{margin:9px 0 -8px!important;color:#777!important;font:400 20px/1.3 var(--rgevlab-font-heading)!important}.figma-contact-block .figma-gold-rule{margin-bottom:28px}.figma-contact-block h3{margin:0 0 4px;color:#262626;font:400 19px/1.35 var(--rgevlab-font-heading)}.figma-contact-block p{margin:0 0 27px;color:#888;font-size:15px;line-height:1.5}.figma-contact-block a{color:#8c2c39;text-underline-offset:4px}.figma-contact-block--wholesale{margin-top:125px}

/* Production */
.figma-production-page{padding:0 0 165px;background:#fff}.figma-production-intro{padding-top:110px;text-align:center}.figma-production-intro h1{margin:0;font:400 46px/1.2 var(--rgevlab-font-heading)}.figma-production-intro p{max-width:760px;margin:28px auto 0;color:#777;font-size:16px;line-height:1.65}.figma-production-process{padding-top:72px;text-align:center}.figma-production-process h2{margin:0 0 40px;font:400 38px/1.2 var(--rgevlab-font-heading)}
.figma-process-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 45px;width:720px;max-width:100%;margin:auto}.figma-process-icon{position:relative;text-align:center}.figma-process-icon__image{display:grid;width:86px;height:86px;margin:auto;place-items:center;border:1px solid #dbc987;border-radius:50%}.figma-process-icon__image img{width:72px;height:72px;object-fit:contain}.figma-process-icon span{display:block;margin-top:10px;color:#888;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.figma-production-process>.figma-gold-rule{margin-top:55px}.figma-production-process>p{max-width:790px;margin:25px auto 0;color:#777;font-size:15px;line-height:1.55}
.figma-production-gallery{display:grid;grid-template-columns:1fr 1fr;gap:54px;margin-top:55px}.figma-production-gallery__left,.figma-production-gallery__right{display:grid;gap:24px}.figma-production-photo{margin:0}.figma-production-photo>div{background:#d9d9d9}.figma-production-photo figcaption{margin-top:4px;color:#333;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.figma-production-photo__media{overflow:hidden}.figma-production-photo__image{display:block;width:100%;height:100%;object-fit:cover}.figma-production-photo--a>div,.figma-production-photo--b>div{height:300px}.figma-production-photo--c>div{height:535px}.figma-production-photo--d>div{height:630px}.figma-production-photo--e>div,.figma-production-photo--f>div{height:300px}.figma-production-cta{display:flex;margin-top:155px;justify-content:center}.figma-production-cta .rgev-button{min-width:180px}

/* Reviews */
.figma-reviews-page{padding:0 0 170px;background:#fff}.figma-reviews-heading{padding:175px 20px 90px;text-align:center}.figma-reviews-heading h1{margin:0;font:400 44px/1.2 var(--rgevlab-font-heading)}.figma-reviews-heading__mobile{display:none}.figma-review-list{display:grid;gap:85px}.figma-review-row{display:grid;grid-template-columns:590px 1fr;gap:130px;width:1180px;max-width:100%;margin-inline:auto;align-items:start}.figma-review-row.is-reversed{grid-template-columns:1fr 590px}.figma-review-row.is-reversed .figma-review-media{grid-column:2}.figma-review-row.is-reversed .figma-review-copy{grid-column:1;grid-row:1;text-align:right}.figma-review-row.is-reversed .figma-review-copy .figma-gold-rule{margin-left:auto;margin-right:0}.figma-review-media{position:relative;width:590px;height:785px;background:#d9d9d9;overflow:hidden}.figma-review-media img,.figma-review-media__placeholder{width:100%;height:100%;object-fit:cover;background:#d9d9d9}.figma-review-arrow{position:absolute;top:50%;display:grid;width:34px;height:34px;padding:0;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.86);color:#888;font-size:20px;transform:translateY(-50%)}.figma-review-arrow--prev{left:14px}.figma-review-arrow--next{right:14px}.figma-review-dots{position:absolute;bottom:17px;left:50%;display:flex;gap:7px;transform:translateX(-50%)}.figma-review-dots i{width:6px;height:6px;border-radius:50%;background:#aaa}.figma-review-dots i:first-child{background:#555}.figma-review-copy{padding-top:35px}.figma-review-copy h2{margin:0;color:#262626;font:400 22px/1.3 var(--rgevlab-font-heading)}.figma-review-copy .figma-gold-rule{width:165px;margin:18px 0 44px}.figma-review-copy>div{max-width:520px;color:#777;font-size:15px;line-height:1.55;text-align:justify}.figma-review-copy p{margin:0}.figma-reviews-empty{text-align:center}

@media (max-width: 820px){
	.figma-page-width{width:calc(100% - 40px)}
	.figma-centered-heading h2{font-size:31px;line-height:1.28}
	/* Catalog mobile reference */
	.figma-catalog-hero{height:430px}.figma-catalog-hero>img{object-position:center}.figma-catalog-hero__copy h1{font-size:31px}.figma-catalog-hero__copy p{font-size:13px}
	.figma-catalog-groups{padding:70px 0 105px}.figma-catalog-group{width:calc(100% - 36px);margin-bottom:95px}.figma-catalog-group__heading{margin-bottom:38px}.figma-catalog-group__heading h2{font-size:31px}.figma-catalog-grid,.figma-catalog-group--winter .figma-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 18px;max-width:none}.figma-product-tile__image,.figma-catalog-group--accessories .figma-product-tile__image{height:245px}.figma-product-tile h3{margin-top:12px;font-size:12px}
	/* Product */
	.figma-product-page{padding-bottom:110px}.figma-product-layout{display:block;width:100%;margin:0}.figma-product-gallery{position:relative;top:auto}.figma-product-gallery__stage{width:100%;height:auto;aspect-ratio:390/520}.figma-product-summary{padding:35px 20px 0;text-align:center}.figma-product-breadcrumb{margin-bottom:31px;text-align:left;font-size:11px}.figma-product-summary h1{font-size:31px}.figma-product-title-rule{width:100px;margin:15px auto 18px}.figma-product-subtitle{font-size:14px}.figma-product-price{font-size:24px}.figma-product-lead{max-width:350px;margin:35px auto 0;font-size:14px;line-height:1.65;text-align:center}.figma-product-benefits{width:330px;max-width:100%;margin:35px auto 55px;padding-left:30px;text-align:left}.figma-product-benefits li{font-size:14px;margin-bottom:24px}.figma-product-sizing h2{font-size:31px}.figma-product-sizing>.figma-gold-rule{width:100px;margin:15px auto 22px}.figma-product-sizing>p{max-width:350px;margin:0 auto 25px;font-size:14px;text-align:center}.figma-desktop-only{display:none}.figma-product-sizing__placeholder{width:280px;height:220px;margin:0 auto 35px}.figma-product-request-form{width:100%;gap:17px;text-align:left}.figma-product-request-form label{font-size:10px}.figma-product-request-form select{height:44px}.figma-product-order-button,.figma-product-secondary-button{width:190px;margin-left:auto;margin-right:auto}.figma-product-secondary-button__desktop{display:none}.figma-product-secondary-button__mobile{display:inline}.rgev-product-request-modal{padding:10px}.rgev-product-request-modal__dialog{max-height:calc(100vh - 20px);padding:38px 22px 28px;border-radius:24px;overflow:auto}.rgev-product-request-modal__dialog h2{font-size:30px}
	/* Measurements */
	.figma-measurements-hero{height:720px}.figma-measurements-hero__image{object-position:57% center}.figma-measurements-hero__copy{top:55px;left:26px}.figma-measurements-hero__copy h1{font-size:31px;line-height:1.2}.figma-measurements-hero__copy p{font-size:14px}.figma-measurements-when{padding:75px 24px 70px}.figma-measurements-when h2{font-size:31px}.figma-measurements-when p{font-size:14px}.figma-measurements-locations{padding-bottom:80px}.figma-measurements-locations .figma-centered-heading{margin-bottom:40px}.figma-two-columns{grid-template-columns:1fr;gap:44px;text-align:center}.figma-two-columns article h3{font-size:20px}.figma-measurements-online{padding:72px 0 90px}.figma-online-columns{text-align:left}.figma-measurements-video{padding:80px 0 110px}.figma-measurements-video__frame{width:280px;height:560px}.figma-measurements-final{padding:30px 20px 110px;font-size:16px}
	/* Contacts */
	.figma-contacts-hero{height:620px}.figma-contacts-hero__image{object-position:65% center}.figma-contacts-hero::after{background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.15) 32%,rgba(255,255,255,0) 52%)}.figma-contact-sections{padding:80px 22px 100px}.figma-contact-block{margin-bottom:90px}.figma-contact-block h1,.figma-contact-block h2{font-size:31px}.figma-contact-block__subtitle{font-size:18px!important}.figma-contact-block h3{font-size:18px}.figma-contact-block p{font-size:14px}.figma-contact-block--wholesale{margin-top:90px}
	/* Production */
	.figma-production-page{padding-bottom:120px}.figma-production-intro{padding-top:75px}.figma-production-intro h1{font-size:31px}.figma-production-intro p{font-size:14px}.figma-production-process{padding-top:65px}.figma-production-process h2{font-size:31px}.figma-process-icons{grid-template-columns:repeat(4,1fr);gap:30px 12px;width:100%}.figma-process-icon__image{width:66px;height:66px}.figma-process-icon__image img{width:54px;height:54px}.figma-process-icon span{font-size:8px;line-height:1.3}.figma-production-process>p{font-size:13px}.figma-production-gallery{grid-template-columns:1fr 1fr;gap:16px;margin-top:42px}.figma-production-gallery__left,.figma-production-gallery__right{gap:12px}.figma-production-photo figcaption{font-size:8px}.figma-production-photo--a>div,.figma-production-photo--b>div{height:180px}.figma-production-photo--c>div{height:320px}.figma-production-photo--d>div{height:380px}.figma-production-photo--e>div,.figma-production-photo--f>div{height:180px}.figma-production-cta{margin-top:90px}
	/* Reviews */
	.figma-reviews-page{padding-bottom:110px}.figma-reviews-heading{padding:85px 20px 65px}.figma-reviews-heading h1{font-size:31px}.figma-reviews-heading__desktop{display:none}.figma-reviews-heading__mobile{display:inline}.figma-review-list{gap:75px}.figma-review-row,.figma-review-row.is-reversed{display:flex;width:100%;padding:0 20px;flex-direction:column;gap:28px}.figma-review-row.is-reversed .figma-review-media,.figma-review-row.is-reversed .figma-review-copy{grid-column:auto;grid-row:auto}.figma-review-row.is-reversed .figma-review-media{order:1}.figma-review-row.is-reversed .figma-review-copy{order:2;text-align:center}.figma-review-row.is-reversed .figma-review-copy .figma-gold-rule{margin-left:auto;margin-right:auto}.figma-review-media{width:100%;height:auto;aspect-ratio:1/1}.figma-review-copy{padding-top:0;text-align:center}.figma-review-copy h2{font-size:20px}.figma-review-copy .figma-gold-rule{width:100px;margin:14px auto 25px}.figma-review-copy>div{max-width:350px;margin:auto;font-size:14px;line-height:1.55;text-align:center}
}

@media (max-width:820px){
	/* The supplied mobile production frame stacks all six photo placeholders. */
	.figma-production-gallery{display:block;margin-top:42px}
	.figma-production-gallery__left,.figma-production-gallery__right{display:contents}
	.figma-production-photo{margin-bottom:18px}
	.figma-production-photo--a>div,.figma-production-photo--b>div,.figma-production-photo--d>div,.figma-production-photo--e>div{height:250px}
	.figma-production-photo--c>div,.figma-production-photo--f>div{height:350px}
}
@media (min-width:821px){
	.figma-process-icon:not(:nth-child(4n))::after{position:absolute;top:37px;right:-31px;color:#d5bd74;font-size:18px;content:'→'}
}

/* ==========================================================================
   0.9.13 header stabilization.
   Keep the desktop header sticky from the start and use scroll hysteresis in JS
   so collapsing the logo row cannot retrigger itself while layout height changes.
   ========================================================================== */
@media (min-width: 821px) {
	.site-header,
	.site-header.is-sticky {
		position: sticky;
		top: 0;
	}

	.site-header__top {
		transition: height .28s ease, min-height .28s ease, max-height .28s ease, opacity .18s ease;
	}

	.site-header__bar {
		transition: background-color .22s ease, box-shadow .22s ease;
	}

	body.admin-bar .site-header,
	body.admin-bar .site-header.is-sticky {
		top: 32px;
	}
}



/* ==========================================================================
   0.9.14 — Editorial motion pass.
   Quiet-luxury motion: image reveals, restrained parallax, typography fades,
   micro-interactions and modal transitions. No layout dimensions are changed.
   ========================================================================== */

/* Navigation behaves like a fine editorial rule rather than a generic hover. */
.primary-navigation a,
.header-contract {
	background-image: linear-gradient(90deg, var(--rgev-gold-dark), var(--rgev-gold-light));
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 1px;
	transition: color .32s ease, background-size .48s cubic-bezier(.22,.61,.36,1);
}
.primary-navigation a:hover,
.primary-navigation .current-menu-item > a,
.header-contract:hover {
	background-size: 100% 1px;
}

/* More tactile without introducing ecommerce-style shadows/cards. */
.rgev-home-button,
.rgev-button,
.figma-product-order-button,
.figma-product-secondary-button {
	transition: transform .42s cubic-bezier(.22,.61,.36,1), box-shadow .42s ease, background-color .32s ease, border-color .32s ease, color .32s ease;
}
.rgev-home-button:hover,
.rgev-button:hover,
.figma-product-order-button:hover:not(:disabled),
.figma-product-secondary-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(77, 38, 35, .10);
}
.rgev-home-button:active,
.rgev-button:active,
.figma-product-order-button:active:not(:disabled),
.figma-product-secondary-button:active {
	transform: translateY(0);
	transition-duration: .12s;
}

/* Gallery/catalog photography gets a slow magazine-style push-in on hover. */
.rgev-home-format-card > img,
.rgev-home-detail img,
.figma-product-tile__image img,
.figma-review-media img,
.figma-product-gallery__main {
	transition: transform 1.05s cubic-bezier(.22,.61,.36,1), opacity .3s ease, filter .7s ease;
	will-change: transform;
}
.rgev-home-format-card:hover > img,
.rgev-home-detail:hover img,
.figma-product-tile:hover .figma-product-tile__image img,
.figma-review-media:hover img {
	transform: scale(1.028);
}
.figma-product-gallery__main.is-changing {
	opacity: .28;
	transform: scale(.992);
}

/* Modal appearance: backdrop settles first, then the dialog floats into place. */
.rgev-product-request-modal:not([hidden]) .rgev-product-request-modal__backdrop,
.rgev-modal:not([hidden]) .rgev-modal__backdrop {
	animation: rgevBackdropIn .42s ease both;
}
.rgev-product-request-modal:not([hidden]) .rgev-product-request-modal__dialog,
.rgev-modal:not([hidden]) .rgev-modal__dialog {
	animation: rgevDialogIn .58s cubic-bezier(.16,1,.3,1) both;
}

@keyframes rgevBackdropIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes rgevDialogIn {
	from { opacity: 0; transform: translate3d(0,18px,0) scale(.992); }
	to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}

@media (prefers-reduced-motion: no-preference) {
	body.rgev-motion-enabled {
		overflow-x: clip;
	}

	/* Shared viewport reveals. */
	body.rgev-motion-enabled .rgev-motion-item {
		--rgev-motion-delay: 0ms;
		transition-delay: var(--rgev-motion-delay);
	}
	body.rgev-motion-enabled .rgev-motion--text {
		opacity: 0;
		transform: translate3d(0,22px,0);
		transition: opacity .78s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1);
		transition-delay: var(--rgev-motion-delay);
	}
	body.rgev-motion-enabled .rgev-motion--text.is-visible {
		opacity: 1;
		transform: translate3d(0,0,0);
	}
	body.rgev-motion-enabled .rgev-motion--image {
		opacity: 0;
		clip-path: inset(8% 0 0 0);
		transform: translate3d(0,24px,0) scale(.992);
		transition: opacity .82s ease, clip-path 1.05s cubic-bezier(.22,.61,.36,1), transform 1.05s cubic-bezier(.22,.61,.36,1);
		transition-delay: var(--rgev-motion-delay);
	}
	body.rgev-motion-enabled .rgev-motion--image.is-visible {
		opacity: 1;
		clip-path: inset(0 0 0 0);
		transform: translate3d(0,0,0) scale(1);
	}
	body.rgev-motion-enabled .rgev-motion--hero {
		opacity: 0;
		clip-path: inset(0 0 7% 0);
		transition: opacity .85s ease, clip-path 1.15s cubic-bezier(.22,.61,.36,1);
	}
	body.rgev-motion-enabled .rgev-motion--hero.is-visible {
		opacity: 1;
		clip-path: inset(0);
	}
	body.rgev-motion-enabled .rgev-motion--line {
		transform: scaleX(0);
		transform-origin: center;
		transition: transform .92s cubic-bezier(.22,.61,.36,1);
		transition-delay: var(--rgev-motion-delay);
	}
	body.rgev-motion-enabled .rgev-motion--line.is-visible {
		transform: scaleX(1);
	}

	/* Home hero is a deliberate load sequence rather than another scroll reveal. */
	body.rgev-motion-enabled .rgev-home-hero__image {
		opacity: 0;
		transform: scale(1.045);
		transition: opacity 1s ease, transform 1.65s cubic-bezier(.16,1,.3,1);
	}
	body.rgev-motion-enabled .rgev-home-hero__content > * {
		opacity: 0;
		transform: translate3d(0,20px,0);
		transition: opacity .75s ease, transform .9s cubic-bezier(.22,.61,.36,1);
	}
	body.rgev-motion-enabled.rgev-page-ready .rgev-home-hero__image {
		opacity: 1;
		transform: scale(1);
	}
	body.rgev-motion-enabled.rgev-page-ready .rgev-home-hero__content > * {
		opacity: 1;
		transform: translate3d(0,0,0);
	}
	body.rgev-motion-enabled.rgev-page-ready .rgev-home-hero__content > :nth-child(1) { transition-delay: .18s; }
	body.rgev-motion-enabled.rgev-page-ready .rgev-home-hero__content > :nth-child(2) { transition-delay: .28s; }
	body.rgev-motion-enabled.rgev-page-ready .rgev-home-hero__content > :nth-child(3) { transition-delay: .36s; }
	body.rgev-motion-enabled.rgev-page-ready .rgev-home-hero__content > :nth-child(4) { transition-delay: .48s; }

	/* Subtle scroll depth on large photography. */
	@media (min-width: 821px) {
		body.rgev-motion-enabled .rgev-parallax {
			transform: translate3d(0,var(--rgev-parallax-y,0),0) scale(1.045);
			will-change: transform;
		}
	}

	/* Configurator: each freshly-rendered step reads as a new magazine panel. */
	.rgev-configurator__options > .rgev-option-card,
	.rgev-configurator__options > .rgev-swatch,
	.rgev-configurator__options > .rgev-decor-color-panel {
		animation: rgevOptionIn .5s cubic-bezier(.22,.61,.36,1) both;
	}
	.rgev-configurator__options > :nth-child(2) { animation-delay: 35ms; }
	.rgev-configurator__options > :nth-child(3) { animation-delay: 70ms; }
	.rgev-configurator__options > :nth-child(4) { animation-delay: 105ms; }
	.rgev-configurator__options > :nth-child(5) { animation-delay: 140ms; }
	.rgev-configurator__options > :nth-child(6) { animation-delay: 175ms; }
	.rgev-configurator__options > :nth-child(n+7) { animation-delay: 210ms; }
	.rgev-configurator__stage img {
		animation: rgevStageIn .56s cubic-bezier(.22,.61,.36,1) both;
	}
	[data-rgev-price].is-price-updated {
		animation: rgevPricePulse .42s cubic-bezier(.22,.61,.36,1);
	}

	@keyframes rgevOptionIn {
		from { opacity: 0; transform: translate3d(0,10px,0); }
		to { opacity: 1; transform: translate3d(0,0,0); }
	}
	@keyframes rgevStageIn {
		from { opacity: .18; transform: scale(.992); }
		to { opacity: 1; transform: scale(1); }
	}
	@keyframes rgevPricePulse {
		0% { opacity: .45; transform: translateY(3px); }
		100% { opacity: 1; transform: translateY(0); }
	}

	/* Header collapse keeps the existing hysteresis, only the easing gets calmer. */
	@media (min-width: 821px) {
		.site-header__top {
			transition-duration: .52s, .52s, .52s, .28s;
			transition-timing-function: cubic-bezier(.22,.61,.36,1);
		}
		.site-header__bar {
			transition-duration: .45s;
			transition-timing-function: cubic-bezier(.22,.61,.36,1);
		}
	}
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		scroll-behavior: auto !important;
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
}

/* 0.9.14 motion compatibility corrections. */
.rgev-home-catalog__media > .rgev-home-button:hover {
	transform: translateX(-50%) translateY(-2px);
}
.rgev-home-catalog__media > .rgev-home-button:active {
	transform: translateX(-50%) translateY(0);
}
.figma-product-tile__image {
	overflow: hidden;
}
@media (prefers-reduced-motion: no-preference) {
	.rgev-configurator__stage img {
		animation-name: rgevStageFadeIn;
	}
	@keyframes rgevStageFadeIn {
		from { opacity: .15; }
		to { opacity: 1; }
	}
}
@media (prefers-reduced-motion: no-preference) and (max-width: 820px) {
	body.rgev-motion-enabled .rgev-motion--text {
		transform: translate3d(0,14px,0);
		transition-duration: .62s, .72s;
	}
	body.rgev-motion-enabled .rgev-motion--image {
		clip-path: inset(5% 0 0 0);
		transform: translate3d(0,14px,0) scale(.996);
		transition-duration: .68s, .82s, .82s;
	}
	body.rgev-motion-enabled .rgev-motion--hero {
		clip-path: inset(0 0 4% 0);
		transition-duration: .7s, .86s;
	}
}

/* ========================================================================== */
/* 0.9.15 — customer design corrections + Laboratory / Requisites.            */
/* ========================================================================== */

/* The updated Figma has no gold selected/hover underline in the main menu. */
.primary-navigation a,
.header-contract,
.mobile-primary-navigation a {
	background-image: none !important;
	background-size: 0 !important;
	text-decoration: none;
}
.primary-navigation .current-menu-item > a::after,
.primary-navigation a::after,
.header-contract::after,
.mobile-primary-navigation a::after {
	display: none !important;
	content: none !important;
}

.mobile-primary-navigation { display: none; }
.rgevlab-responsive-picture { display: contents; }

/* Compact desktop scroll header: preserves the editorial full header at top,
 * then gives the configurator and content substantially more vertical room. */
@media (min-width: 821px) {
	.site-header.is-sticky .site-header__bar {
		height: 62px;
		box-shadow: 0 8px 28px rgba(32,20,17,.05);
	}
	.site-header.is-sticky .site-header__inner,
	.site-header.is-sticky .site-header__bar .site-header__inner {
		display: flex;
		height: 62px;
		min-height: 62px;
		padding: 0 24px;
		align-items: center;
		justify-content: center;
		flex-direction: row;
		gap: 30px;
	}
	.site-header.is-sticky .primary-navigation > ul,
	.site-header.is-sticky .primary-navigation .menu {
		gap: clamp(19px, 2vw, 32px);
	}
	.site-header.is-sticky .primary-navigation a,
	.site-header.is-sticky .header-contract {
		font-size: 13px;
		letter-spacing: 1.05px;
		line-height: 18px;
	}
	.site-header.is-sticky .header-contract {
		margin-top: 0;
		white-space: nowrap;
	}

	/* Seven primary links now fit the updated desktop header rhythm. */
	.site-header:not(.is-sticky) .primary-navigation > ul,
	.site-header:not(.is-sticky) .primary-navigation .menu {
		gap: clamp(28px, 3.15vw, 48px);
	}
}

/* Updated mobile header: two aligned columns and Laboratory in the exact
 * reading order requested by the customer. */
@media (max-width: 820px) {
	.site-header,
	.site-header.is-sticky {
		height: 326px;
	}
	.site-header__top,
	.site-header.is-sticky .site-header__top {
		height: 176px;
		min-height: 176px;
		max-height: 176px;
	}
	.site-header__bar {
		height: 150px;
	}
	.site-header__inner,
	.site-header__bar .site-header__inner {
		display: flex;
		height: 150px;
		min-height: 150px;
		padding: 7px 0 0;
		align-items: center;
		justify-content: flex-start;
	}
	.primary-navigation,
	.header-contract {
		display: none !important;
	}
	.mobile-primary-navigation {
		display: block;
		width: 100%;
	}
	.mobile-primary-navigation ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 16px 28px;
		width: 286px;
		margin: 0 auto;
		padding: 0;
		list-style: none;
	}
	.mobile-primary-navigation li {
		margin: 0;
		padding: 0;
		border: 0;
	}
	.mobile-primary-navigation li:nth-child(odd) { text-align: left; }
	.mobile-primary-navigation li:nth-child(even) { text-align: right; }
	.mobile-primary-navigation a {
		display: inline-block;
		padding: 0;
		color: var(--rgev-muted);
		font-family: var(--rgevlab-font-body);
		font-size: 12px;
		font-weight: 300;
		letter-spacing: 1.45px;
		line-height: 16px;
		text-transform: uppercase;
	}
	.mobile-primary-navigation a:hover { color: var(--rgev-wine); }
}

/* Responsive homepage media. */
.rgev-home-catalog__media > picture,
.rgev-home-format-card > picture,
.rgev-home-split__media > picture {
	display: block;
	width: 100%;
	height: 100%;
}
.rgev-home-catalog__media > picture > img,
.rgev-home-format-card > picture > img,
.rgev-home-split__media > picture > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.rgev-home-catalog__media > .rgev-home-button {
	text-align: center;
}

/* Desktop split copy now hugs the image edge instead of floating in the
 * middle of its half. This matches the updated editorial composition. */
@media (min-width: 821px) {
	.rgev-home-split--design .rgev-home-split__copy,
	.rgev-home-split--production .rgev-home-split__copy {
		padding-right: 115px;
		align-items: flex-end;
		text-align: right;
	}
	.rgev-home-split--design .rgev-home-split__copy .rgev-home-divider,
	.rgev-home-split--production .rgev-home-split__copy .rgev-home-divider {
		margin-right: 0;
	}
	.rgev-home-split--measurements .rgev-home-split__copy,
	.rgev-home-split--laboratory .rgev-home-split__copy {
		padding-left: 115px;
		align-items: flex-start;
		text-align: left;
	}
	.rgev-home-split--measurements .rgev-home-split__copy .rgev-home-divider,
	.rgev-home-split--laboratory .rgev-home-split__copy .rgev-home-divider {
		margin-left: 0;
	}
}

/* New homepage Laboratory strip. */
.rgev-home-split--laboratory .rgev-home-split__media {
	grid-column: 1;
	grid-row: 1;
}
.rgev-home-split--laboratory .rgev-home-split__copy {
	grid-column: 2;
	grid-row: 1;
}
.rgev-home-split--laboratory .rgev-home-split__media::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,0) 42%);
	content: '';
}

/* Equal photo geometry in Details regardless of source canvas. */
.rgev-home-detail img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* Updated catalog hero title stack is intentionally near the top of the photo. */
@media (min-width: 821px) {
	.figma-catalog-hero__copy {
		justify-content: flex-start;
		padding-top: 25px;
	}
	.figma-catalog-hero__copy .figma-gold-rule {
		margin-top: 12px;
	}
	.figma-catalog-hero__copy p {
		margin-top: 12px;
	}
}

/* Center every incomplete catalog row without special nth-child hacks. */
.figma-catalog-grid,
.figma-catalog-group--winter .figma-catalog-grid {
	display: flex;
	max-width: none;
	margin-inline: 0;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	gap: 65px 80px;
}
.figma-product-tile {
	width: 240px;
	flex: 0 0 240px;
}
.figma-catalog-group--accessories .figma-product-tile__image {
	display: block;
	height: auto;
	aspect-ratio: 3 / 4;
	overflow: hidden;
}
.figma-catalog-group--accessories .figma-product-tile__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Explicit centering for the customer-requested measurements heading. */
.figma-measurements-online .figma-centered-heading,
.figma-measurements-online .figma-centered-heading h2 {
	width: 100%;
	text-align: center;
}

/* Production CTA uses the lighter Figma body typography without changing all buttons. */
.figma-production-cta .rgev-button {
	font-family: var(--rgevlab-font-body);
	font-size: 13px;
	font-weight: 300;
	letter-spacing: .7px;
	text-transform: none;
}

/* Contacts hero — title / rule / subtitle over the supplied updated photo. */
.figma-contacts-hero__copy {
	position: absolute;
	top: 87px;
	left: max(72px, calc((100vw - 1210px) / 2));
	z-index: 3;
	width: 420px;
	color: #262626;
}
.figma-contacts-hero__copy h1 {
	margin: 0;
	font: 400 46px/1.2 var(--rgevlab-font-heading);
}
.figma-contacts-hero__copy .figma-gold-rule {
	width: 140px;
	margin: 18px 0 0;
}
.figma-contacts-hero__copy p {
	margin: 20px 0 0;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.75;
}

/* More air in the approved custom popup; business flow remains unchanged. */
.rgev-product-request-modal__dialog {
	width: min(760px,100%);
	padding: 62px 72px 58px;
}
.rgev-product-request-modal__dialog > p {
	margin: 22px 0 0;
}
.rgev-product-request-modal__summary dl {
	margin: 34px 0;
	gap: 9px 28px;
}
.rgev-product-request-modal form {
	gap: 18px;
}
.rgev-product-request-modal__close {
	top: 18px;
	right: 20px;
	display: grid;
	width: 40px;
	height: 40px;
	padding: 0;
	place-items: center;
	font-size: 28px;
	line-height: 1;
}

/* Footer wordmark asked to be more prominent. */
.site-footer__wordmark {
	font-size: 32px;
}

/* -------------------------------------------------------------------------- */
/* Laboratory page.                                                           */
/* -------------------------------------------------------------------------- */
.figma-laboratory-page { background: #fff; }
.figma-laboratory-hero {
	position: relative;
	height: 630px;
	overflow: hidden;
}
.figma-laboratory-hero > picture,
.figma-laboratory-hero__image {
	display: block;
	width: 100%;
	height: 100%;
}
.figma-laboratory-hero__image {
	object-fit: cover;
	object-position: center;
}
.figma-laboratory-hero__wash {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 22%,rgba(255,255,255,.72) 34%,rgba(255,255,255,0) 54%);
}
.figma-laboratory-hero__copy {
	position: absolute;
	top: 85px;
	left: max(72px, calc((100vw - 1210px) / 2));
	z-index: 2;
	width: 430px;
}
.figma-laboratory-hero__copy h1 {
	margin: 0;
	font: 400 46px/1.18 var(--rgevlab-font-heading);
}
.figma-laboratory-hero__copy .figma-gold-rule {
	width: 140px;
	margin: 18px 0 0;
}
.figma-laboratory-hero__copy p {
	margin: 25px 0 0;
	color: #666;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.62;
}
.figma-laboratory-designs { padding: 95px 0 150px; }
.figma-laboratory-heading { margin-bottom: 85px; text-align: center; }
.figma-laboratory-heading h2 { margin: 0; font: 400 42px/1.2 var(--rgevlab-font-heading); }
.figma-laboratory-list { display: grid; gap: 100px; }
.figma-lab-design {
	display: grid;
	grid-template-columns: 589px minmax(0,1fr);
	min-height: 785px;
	align-items: start;
}
.figma-lab-design--reverse { grid-template-columns: minmax(0,1fr) 589px; }
.figma-lab-design--reverse .figma-lab-design__media { grid-column: 2; }
.figma-lab-design--reverse .figma-lab-design__copy { grid-column: 1; grid-row: 1; padding-right: 75px; padding-left: 75px; text-align: right; }
.figma-lab-design--reverse .figma-lab-design__copy .figma-gold-rule { margin-right: 0; margin-left: auto; }
.figma-lab-design__media { position: relative; width: 589px; height: 785px; overflow: hidden; background: #d9d9d9; }
.figma-lab-design__stage,
.figma-lab-design__placeholder { width: 100%; height: 100%; }
.figma-lab-design__main { display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity .25s ease; }
.figma-lab-design__main.is-changing { opacity: .32; }
.figma-lab-design__placeholder { background: #d9d9d9; }
.figma-lab-design__copy { padding: 20px 75px 0; color: #666; }
.figma-lab-design__copy h3 { margin: 0; color: #262626; font: 400 28px/1.3 var(--rgevlab-font-heading); }
.figma-lab-design__copy .figma-gold-rule { width: 160px; margin: 20px 0 0; }
.figma-lab-design__text { margin-top: 40px; font-size: 15px; font-weight: 300; line-height: 1.62; }
.figma-lab-design__text p { margin: 0; }
.figma-lab-gallery-arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: grid;
	width: 40px;
	height: 40px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,.72);
	color: #555;
	font: 300 28px/1 var(--rgevlab-font-body);
	cursor: pointer;
	transform: translateY(-50%);
}
.figma-lab-gallery-arrow--prev { left: 16px; }
.figma-lab-gallery-arrow--next { right: 16px; }
.figma-lab-gallery-dots { position: absolute; right: 0; bottom: 20px; left: 0; z-index: 4; display: flex; justify-content: center; gap: 7px; }
.figma-lab-gallery-dots button,
.figma-lab-gallery-dots i { display: block; width: 6px; height: 6px; padding: 0; border: 0; border-radius: 50%; background: #b8b8b8; }
.figma-lab-gallery-dots button { cursor: pointer; }
.figma-lab-gallery-dots button.is-active,
.figma-lab-gallery-dots i:first-child { background: #555; }
.figma-laboratory-empty { margin: 80px 20px; color: #888; text-align: center; }

/* -------------------------------------------------------------------------- */
/* Requisites page.                                                           */
/* -------------------------------------------------------------------------- */
.figma-requisites-page { min-height: 665px; padding: 45px 24px 110px; background: #fff; }
.figma-requisites-card { max-width: 900px; margin: 0 auto; text-align: center; }
.figma-requisites-card h1 { margin: 0 0 95px; font: 400 46px/1.2 var(--rgevlab-font-heading); }
.figma-requisites-list { display: grid; gap: 34px; color: #555; font-size: 16px; font-weight: 300; line-height: 1.55; }
.figma-requisites-list p { margin: 0; }
.figma-requisites-name { color: #262626; font-family: var(--rgevlab-font-heading); font-size: 22px; }
.figma-requisites-list a { color: inherit; text-decoration: none; }
.figma-requisites-list a:hover { color: var(--rgev-wine); }

@media (max-width: 820px) {
	/* Updated mobile catalog photo has its own crop and a centered live CTA. */
	.rgev-home-catalog { height: 788px; }
	.rgev-home-catalog .rgev-home-section-title { height: 194px; padding-top: 58px; }
	.rgev-home-catalog__media { height: 586px; }
	.rgev-home-catalog__image { object-position: center; }
	.rgev-home-catalog__media > .rgev-home-button { bottom: 61px; display: inline-flex; align-items: center; justify-content: center; text-align: center; }

	.rgev-home-format-card > picture > img { object-position: center; }
	.rgev-home-format-card--ready > picture > img { object-fit: cover; }

	/* Mobile split copy returns to the centered Figma treatment. */
	.rgev-home-split--design .rgev-home-split__copy,
	.rgev-home-split--measurements .rgev-home-split__copy,
	.rgev-home-split--production .rgev-home-split__copy,
	.rgev-home-split--laboratory .rgev-home-split__copy {
		padding-right: 24px;
		padding-left: 24px;
		align-items: center;
		text-align: center;
	}
	.rgev-home-split--design .rgev-home-split__copy .rgev-home-divider,
	.rgev-home-split--measurements .rgev-home-split__copy .rgev-home-divider,
	.rgev-home-split--production .rgev-home-split__copy .rgev-home-divider,
	.rgev-home-split--laboratory .rgev-home-split__copy .rgev-home-divider {
		margin-right: auto;
		margin-left: auto;
	}
	.rgev-home-split--laboratory { height: 789px; }
	.rgev-home-split--laboratory .rgev-home-split__copy { height: 230px; order: 1; }
	.rgev-home-split--laboratory .rgev-home-split__media { height: 559px; order: 2; }
	.rgev-home-split--laboratory .rgev-home-split__media > picture > img { object-position: center; }

	.rgev-home-detail img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
	.rgev-home-why { margin-bottom: 82px; }

	.figma-catalog-hero__copy { display: none; }
	.figma-catalog-grid,
	.figma-catalog-group--winter .figma-catalog-grid {
		display: flex;
		gap: 42px 24px;
		justify-content: center;
	}
	.figma-product-tile { width: 180px; flex: 0 0 min(180px, calc(50% - 12px)); }
	.figma-catalog-group--accessories .figma-product-tile__image { aspect-ratio: 3 / 4; }

	.figma-contacts-hero__copy {
		top: 59px;
		left: 26px;
		width: calc(100% - 52px);
	}
	.figma-contacts-hero__copy h1 { font-size: 31px; line-height: 1.2; }
	.figma-contacts-hero__copy .figma-gold-rule { width: 100px; margin-top: 16px; }
	.figma-contacts-hero__copy p { max-width: 338px; margin-top: 16px; font-size: 14px; line-height: 1.7; }

	.rgev-product-request-modal__dialog { padding: 44px 24px 32px; }
	.rgev-product-request-modal__close { top: 10px; right: 10px; width: 40px; height: 40px; }
	.rgev-product-request-modal__summary dl { margin: 26px 0; gap: 7px 16px; }
	.rgev-product-request-modal form { gap: 15px; }

	.site-footer__wordmark { font-size: 28px; }

	.figma-contacts-hero,
	.figma-laboratory-hero { height: 749px; }
	.figma-laboratory-hero__image { object-position: center; }
	.figma-laboratory-hero__wash { background: linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.78) 22%,rgba(255,255,255,.08) 48%,rgba(255,255,255,0) 64%); }
	.figma-laboratory-hero__copy { top: 58px; left: 26px; width: calc(100% - 52px); }
	.figma-laboratory-hero__copy h1 { font-size: 31px; }
	.figma-laboratory-hero__copy .figma-gold-rule { width: 100px; margin-top: 15px; }
	.figma-laboratory-hero__copy p { max-width: 338px; margin-top: 17px; font-size: 14px; line-height: 1.72; }
	.figma-laboratory-designs { padding: 78px 0 115px; }
	.figma-laboratory-heading { margin-bottom: 55px; }
	.figma-laboratory-heading h2 { font-size: 31px; }
	.figma-laboratory-list { gap: 88px; }
	.figma-lab-design,
	.figma-lab-design--reverse {
		display: flex;
		min-height: 0;
		flex-direction: column;
	}
	.figma-lab-design--reverse .figma-lab-design__media,
	.figma-lab-design--reverse .figma-lab-design__copy { grid-column: auto; grid-row: auto; }
	.figma-lab-design__media { width: 100%; height: 520px; order: 1; }
	.figma-lab-design__copy,
	.figma-lab-design--reverse .figma-lab-design__copy {
		width: 100%;
		padding: 36px 24px 0;
		order: 2;
		text-align: center;
	}
	.figma-lab-design__copy h3 { font-size: 21px; }
	.figma-lab-design__copy .figma-gold-rule,
	.figma-lab-design--reverse .figma-lab-design__copy .figma-gold-rule { width: 100px; margin: 18px auto 0; }
	.figma-lab-design__text { margin-top: 28px; font-size: 13px; line-height: 1.65; }
	.figma-lab-gallery-arrow { display: none; }

	.figma-requisites-page { min-height: 615px; padding: 50px 25px 105px; }
	.figma-requisites-card h1 { margin-bottom: 96px; font-size: 31px; }
	.figma-requisites-list { gap: 38px; font-size: 14px; }
	.figma-requisites-name { font-size: 18px; }
}


/* ========================================================================== */
/* 0.9.16 — stable independent compact header + final client image pass.       */
/* The full header remains in normal document flow and never changes height.   */
/* The fixed compact overlay cannot affect scroll anchoring or scrollY.         */
/* ========================================================================== */
@media (min-width: 821px) {
	.site-header,
	.site-header.is-sticky {
		position: relative !important;
		top: auto !important;
		height: auto !important;
		box-shadow: none !important;
	}
	.site-header__top,
	.site-header.is-sticky .site-header__top {
		display: flex;
		height: 155px !important;
		min-height: 155px !important;
		max-height: 155px !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		transition: none !important;
	}
	.site-header__bar,
	.site-header.is-sticky .site-header__bar {
		height: 118px !important;
		background: #fff !important;
		box-shadow: none !important;
		transition: none !important;
	}
	.site-header__inner,
	.site-header__bar .site-header__inner,
	.site-header.is-sticky .site-header__inner,
	.site-header.is-sticky .site-header__bar .site-header__inner {
		display: flex;
		height: 118px !important;
		min-height: 118px !important;
		padding: 5px 24px 0 !important;
		align-items: center;
		justify-content: flex-start;
		flex-direction: column !important;
		gap: 0 !important;
	}
	.site-header.is-sticky .primary-navigation a,
	.site-header.is-sticky .header-contract {
		font-size: 18px !important;
		letter-spacing: 1.5px !important;
		line-height: 20px !important;
	}
	.site-header.is-sticky .header-contract { margin-top: 28px !important; }

	.site-header-compact {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 140;
		height: 62px;
		border-bottom: 1px solid rgba(234,232,230,.92);
		background: rgba(255,255,255,.985);
		box-shadow: 0 8px 28px rgba(32,20,17,.05);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translate3d(0,-105%,0);
		transition: transform .30s cubic-bezier(.22,.61,.36,1), opacity .22s ease, visibility 0s linear .30s;
		will-change: transform, opacity;
	}
	.site-header-compact.is-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate3d(0,0,0);
		transition-delay: 0s;
	}
	.site-header-compact__inner {
		display: flex;
		width: min(calc(100% - 48px), 1240px);
		height: 62px;
		margin: 0 auto;
		align-items: center;
		justify-content: center;
		gap: 28px;
	}
	.site-header-compact__nav ul {
		display: flex;
		margin: 0;
		padding: 0;
		align-items: center;
		justify-content: center;
		gap: clamp(19px,2vw,32px);
		list-style: none;
	}
	.site-header-compact__nav a,
	.site-header-compact__contract {
		color: var(--rgev-muted);
		font-family: var(--rgevlab-font-body);
		font-size: 13px;
		font-weight: 300;
		letter-spacing: 1.05px;
		line-height: 18px;
		text-decoration: none;
		text-transform: uppercase;
		white-space: nowrap;
		transition: color .18s ease;
	}
	.site-header-compact__nav .current-menu-item > a,
	.site-header-compact__nav a:hover,
	.site-header-compact__contract:hover { color: var(--rgev-wine); }
	body.admin-bar .site-header-compact { top: 32px; }
	html { scroll-padding-top: 78px; }
}
@media (max-width: 820px) {
	.site-header-compact { display: none !important; }
}
@media (prefers-reduced-motion: reduce) and (min-width: 821px) {
	.site-header-compact { transition: none !important; }
}

/* New client originals include dedicated mobile crops. */
.figma-catalog-hero > .rgevlab-responsive-picture,
.figma-contacts-hero > .rgevlab-responsive-picture,
.figma-measurements-hero > .rgevlab-responsive-picture,
.figma-laboratory-hero > .rgevlab-responsive-picture {
	display: contents;
}
.figma-catalog-hero__image,
.figma-contacts-hero__image,
.figma-measurements-hero__image,
.figma-laboratory-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ==========================================================================\n   0.9.17 — Catalog hero: preserve the supplied desktop image aspect ratio.\n   The previous fixed 542px height caused vertical cropping on wide screens.\n   ========================================================================== */
@media (min-width: 821px) {
	.figma-catalog-hero {
		height: auto;
		aspect-ratio: 1920 / 815;
	}
}

/* ========================================================================== */
/* 0.10.1 — client review pass (desktop + mobile).                             */
/* ========================================================================== */

@media (min-width: 821px) {
	/* Home hero always fits below the 273px full desktop header. */
	.rgev-home-hero {
		height: clamp(420px, calc(100svh - 273px), 765px);
		min-height: 0;
	}
	.rgev-home-hero__image {
		object-position: center 44%;
	}
	.rgev-home-hero__content {
		padding-top: clamp(44px, 6.5vh, 82px);
	}
	.rgev-home-hero__actions {
		margin-top: clamp(34px, 5.5vh, 68px);
	}

	/* Keep the catalog subtitle fully in the white heading area. */
	.rgev-home-catalog .rgev-home-section-title {
		height: 215px;
		padding-top: 62px;
	}
	.rgev-home-catalog__media {
		height: 600px;
	}

	/* Format card typography follows the approved Figma proportions. */
	.rgev-home-format-card__copy {
		bottom: 31px;
	}
	.rgev-home-format-card__copy strong {
		font-size: 36px;
		line-height: 1.18;
	}
	.rgev-home-format-card__copy small {
		margin-top: 7px;
		font-size: 15px;
	}

	/* Crop the narrow artefact at the upper edge of the production photo. */
	.rgev-home-split--production .rgev-home-split__media > picture > img,
	.rgev-home-split--production .rgev-home-split__media > img {
		height: calc(100% + 34px);
		transform: translateY(-34px) scale(1.006);
		transform-origin: center center;
	}

	/* Exact four-card rows with centered incomplete rows. */
	.figma-catalog-grid {
		display: flex;
		max-width: none;
		margin-inline: 0;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: center;
		gap: 65px 36px;
	}
	.figma-catalog-grid .figma-product-tile {
		width: calc((100% - 108px) / 4);
		flex: 0 0 calc((100% - 108px) / 4);
	}
	.figma-catalog-group--winter .figma-catalog-grid {
		width: min(100%, 900px);
		max-width: 900px;
		margin-inline: auto;
		gap: 65px 36px;
	}
	.figma-catalog-group--winter .figma-product-tile {
		width: calc((100% - 72px) / 3);
		flex-basis: calc((100% - 72px) / 3);
	}

	/* Measurements hero copy is moved toward the visual center. */
	.figma-measurements-hero__copy {
		top: 128px;
		left: max(120px, calc((100vw - 1120px) / 2 + 45px));
	}

	/* Laboratory uses the same alternating rhythm as Reviews, but square media. */
	.figma-laboratory-designs {
		padding-right: 30px;
		padding-left: 30px;
	}
	.figma-laboratory-list {
		gap: 92px;
	}
	.figma-lab-design,
	.figma-lab-design--reverse {
		--rgev-lab-photo: min(560px, calc(100svh - 150px));
		grid-template-columns: var(--rgev-lab-photo) minmax(0, 1fr);
		width: min(1180px, 100%);
		min-height: var(--rgev-lab-photo);
		margin-inline: auto;
		align-items: center;
	}
	.figma-lab-design--reverse {
		grid-template-columns: minmax(0, 1fr) var(--rgev-lab-photo);
	}
	.figma-lab-design__media {
		width: var(--rgev-lab-photo);
		height: var(--rgev-lab-photo);
		aspect-ratio: 1 / 1;
	}
	.figma-lab-design__copy,
	.figma-lab-design--reverse .figma-lab-design__copy {
		padding-top: 0;
	}

	/* Production: two viewport-sized mirrored blocks. */
	.figma-production-gallery {
		display: grid;
		grid-template-columns: 1fr;
		gap: 58px;
		width: min(1180px, calc(100% - 60px));
		margin-top: 55px;
	}
	.figma-production-gallery-block {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 32px;
		height: min(650px, calc(100svh - 150px));
		min-height: 500px;
	}
	.figma-production-gallery-stack {
		display: grid;
		grid-template-rows: 1fr 1fr;
		gap: 24px;
		min-height: 0;
	}
	.figma-production-photo,
	.figma-production-photo > div {
		min-height: 0;
	}
	.figma-production-photo {
		display: flex;
		margin: 0;
		flex-direction: column;
	}
	.figma-production-photo > div {
		width: 100%;
		height: auto !important;
		flex: 1 1 auto;
	}
	.figma-production-photo--vertical {
		height: 100%;
	}
	.figma-production-photo--vertical > div {
		height: 100% !important;
	}
	.figma-production-photo figcaption {
		flex: 0 0 auto;
	}
}

@media (max-width: 820px) {
	/* Enforce the Figma type system consistently across mobile pages. */
	body,
	button,
	input,
	select,
	textarea,
	.rgev-button,
	.rgev-home-button {
		font-family: var(--rgevlab-font-body);
		font-weight: 300;
	}
	h1, h2, h3,
	.rgev-home-section-title h2,
	.rgev-home-split h2 {
		font-family: var(--rgevlab-font-heading);
		font-weight: 400;
	}

	/* Home hero: restore the Figma gap below the full mobile header. */
	.rgev-home-hero__content {
		padding-top: 42px;
	}

	/* Mobile format images are intentionally swapped per client feedback. */
	.rgev-home-format-card--custom {
		color: #262626;
	}
	.rgev-home-format-card--custom::after {
		display: none;
	}
	.rgev-home-format-card--ready .rgev-home-format-card__copy {
		color: #fff;
		text-shadow: 0 1px 14px rgba(0,0,0,.26);
	}
	.rgev-home-format-card--ready::after {
		position: absolute;
		inset: 48% 0 0;
		z-index: 1;
		background: linear-gradient(transparent, rgba(25,18,12,.48));
		content: "";
	}
	.rgev-home-format-card__copy {
		bottom: 13px;
		z-index: 2;
	}
	.rgev-home-format-card--ready .rgev-home-format-card__copy {
		bottom: 7px;
	}
	.rgev-home-format-card__copy strong {
		font-size: 20px;
		line-height: 1.22;
	}
	.rgev-home-format-card__copy small {
		font-size: 11px;
		line-height: 1.35;
	}
	.rgev-home-format-card--custom .rgev-home-mobile-copy {
		display: none;
	}

	/* Bring split-section typography down to the same vertical rhythm as Figma. */
	.rgev-home-split--design .rgev-home-split__copy,
	.rgev-home-split--measurements .rgev-home-split__copy,
	.rgev-home-split--production .rgev-home-split__copy,
	.rgev-home-split--laboratory .rgev-home-split__copy {
		padding-top: 26px;
		justify-content: center;
	}
	.rgev-home-split--laboratory .rgev-home-split__media > picture > img,
	.rgev-home-split--laboratory .rgev-home-split__media > img {
		object-position: center top;
	}
	.rgev-home-split--production .rgev-home-split__media > picture > img,
	.rgev-home-split--production .rgev-home-split__media > img {
		object-position: center;
	}

	.rgev-home-detail img {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	.site-footer__wordmark {
		font-size: 34px;
		line-height: 1.1;
	}

	/* Catalog mobile hero title stack must remain visible over the photo. */
	.figma-catalog-hero__copy {
		display: flex;
		inset: 0;
		padding: 42px 20px 0;
		align-items: center;
		justify-content: flex-start;
		flex-direction: column;
		text-align: center;
		pointer-events: none;
	}
	.figma-catalog-hero__copy h1 {
		font-size: 31px;
		line-height: 1.2;
	}
	.figma-catalog-hero__copy .figma-gold-rule {
		width: 100px;
		margin-top: 14px;
	}
	.figma-catalog-hero__copy p {
		margin-top: 14px;
		font-size: 13px;
	}

	/* Product image gets breathing room; breadcrumbs are removed on mobile. */
	.figma-product-gallery {
		margin-top: 28px;
	}
	.figma-product-breadcrumb {
		display: none;
	}
	.figma-product-summary {
		padding-top: 42px;
	}
	.figma-product-request-form select {
		padding-right: 48px;
		-webkit-appearance: none;
		appearance: none;
		background-color: #fff;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.25 6 6.25 11 1.25' fill='none' stroke='%23777777' stroke-width='1.2'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: right 18px center;
		background-size: 12px 8px;
	}

	/* Production mobile keeps the original horizontal/vertical proportions. */
	.figma-production-intro > p {
		display: block;
		max-width: 340px;
		margin: 22px auto 0;
	}
	.figma-production-gallery {
		display: grid;
		width: calc(100% - 40px);
		gap: 28px;
		margin-top: 42px;
	}
	.figma-production-gallery-block,
	.figma-production-gallery-stack {
		display: contents;
	}
	.figma-production-photo {
		margin: 0 0 4px;
	}
	.figma-production-photo > div {
		height: auto !important;
	}
	.figma-production-photo--horizontal > div {
		aspect-ratio: 16 / 10;
	}
	.figma-production-photo--vertical > div {
		aspect-ratio: 3 / 4;
	}
	.figma-production-photo figcaption {
		margin-top: 5px;
		font-size: 8px;
	}

	/* Laboratory mirrors the Reviews alternating stack and uses square photos. */
	.figma-laboratory-designs {
		padding-right: 30px;
		padding-left: 30px;
	}
	.figma-lab-design__media {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
	}
	.figma-lab-design__main {
		object-fit: cover;
	}
}


/* 0.10.3 — configurator interaction polish.
 * Option/state changes must not replay entrance animations on every click.
 * The JS renderer now swaps only changed visual slots.
 */
.rgev-configurator__stage img {
	animation: none !important;
	transform: none;
}
.rgev-configurator__options > .rgev-option-card,
.rgev-configurator__options > .rgev-swatch,
.rgev-configurator__options > .rgev-decor-color-panel {
	animation: none !important;
}

/* 0.10.6: editable product sizing illustration. */
.figma-product-sizing__guide { overflow: hidden; background: var(--rgev-soft); }
.figma-product-sizing__guide-image { display: block; width: 100%; height: 100%; object-fit: contain; }

/* 0.10.6: generic pages can use the standard WordPress featured image. */
.rgev-page__featured { width: 100%; margin: 0 0 42px; overflow: hidden; }
.rgev-page__featured img { display: block; width: 100%; max-height: 620px; object-fit: cover; }

/* ========================================================================== */
/* 0.11.0 — September client visual corrections.                              */
/* ========================================================================== */

/* The promotion is a real CMS entity: featured/mobile image, title, body and link. */
.rgev-home-promo {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
	height: 630px;
	overflow: hidden;
}
.rgev-home-promo__media,
.rgev-home-promo__media > picture,
.rgev-home-promo__image {
	display: block;
	width: 100%;
	height: 100%;
}
.rgev-home-promo__media { overflow: hidden; }
.rgev-home-promo__image {
	object-fit: cover;
	object-position: center;
	transition: transform .9s cubic-bezier(.22,.61,.36,1);
}
.rgev-home-promo__media:hover .rgev-home-promo__image { transform: scale(1.025); }
.rgev-home-promo__placeholder {
	position: relative;
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(197,160,73,.15), transparent 46%),
		#f5f1e9;
}
.rgev-home-promo__placeholder::before {
	position: absolute;
	inset: 9%;
	border: 1px solid rgba(197,160,73,.42);
	content: "";
}
.rgev-home-promo__placeholder span {
	position: relative;
	color: var(--rgev-wine);
	font: 400 34px/1.1 var(--rgevlab-font-heading);
	letter-spacing: .04em;
}
.rgev-home-promo__copy {
	position: static;
	display: flex;
	width: auto;
	padding: 68px clamp(56px,7vw,118px);
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
}
.rgev-home-promo__eyebrow {
	margin-bottom: 18px;
	color: var(--rgev-gold-dark);
	font-size: 12px;
	font-weight: 300;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.rgev-home-promo__copy h2 { max-width: 520px; }
.rgev-home-promo__copy p { max-width: 500px; }
.rgev-home-promo__link {
	margin-top: 28px;
	padding-bottom: 5px;
	border-bottom: 1px solid var(--rgev-gold);
	color: var(--rgev-text);
	font-size: 13px;
	font-weight: 300;
	letter-spacing: .06em;
	text-decoration: none;
}
.rgev-home-promo__link:hover { color: var(--rgev-wine); }

.rgev-home-format-card > picture {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.rgev-home-format-card > picture > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .85s cubic-bezier(.22,.61,.36,1);
}
.rgev-home-format-card:hover > picture > img { transform: scale(1.03); }
.rgev-home-format-card:hover { color: inherit; background: transparent; }

.site-footer__grid .site-footer__wordmark { font-size: 36px; line-height: 1.1; }
.figma-product-tile h3 { font-size: 16px; }

/* CMS-driven square cells retain the original mirrored two-column composition. */
.figma-production-gallery {
	display: grid;
	grid-template-columns: 1fr;
	gap: 72px;
	width: min(1180px, calc(100% - 60px));
	margin-top: 62px;
}
.figma-production-gallery-block {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(2, auto);
	gap: 28px;
	align-items: start;
}
.figma-production-photo {
	display: block;
	min-width: 0;
	height: auto;
	margin: 0;
}
.figma-production-photo--a { grid-column: 1; grid-row: 1; }
.figma-production-photo--b { grid-column: 1; grid-row: 2; }
.figma-production-photo--c { grid-column: 2 / 4; grid-row: 1 / 3; }
.figma-production-photo--d { grid-column: 1 / 3; grid-row: 1 / 3; }
.figma-production-photo--e { grid-column: 3; grid-row: 1; }
.figma-production-photo--f { grid-column: 3; grid-row: 2; }
.figma-production-photo__media,
.figma-production-photo > .figma-production-photo__media {
	display: block;
	width: 100%;
	height: auto !important;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #d9d9d9;
}
.figma-production-photo__image,
.figma-production-photo__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.figma-production-photo figcaption {
	margin-top: 8px;
	color: #555;
	font-size: 11px;
	font-weight: 300;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* Reviews use the same portrait gallery geometry and alternating rhythm as Laboratory. */
.figma-review-list { gap: 96px; }
.figma-review-row,
.figma-review-row.is-reversed {
	grid-template-columns: 589px minmax(0, 1fr);
	gap: 110px;
	width: min(1180px, calc(100% - 60px));
	align-items: center;
}
.figma-review-row.is-reversed { grid-template-columns: minmax(0, 1fr) 589px; }
.figma-review-media {
	position: relative;
	display: block;
	width: 589px;
	height: auto;
	aspect-ratio: 589 / 785;
	overflow: hidden;
	background: #d9d9d9;
}
.figma-review-media__stage,
.figma-review-media__main,
.figma-review-media__placeholder { display: block; width: 100%; height: 100%; }
.figma-review-media .figma-review-media__main {
	object-fit: contain;
	background: #eeeae4;
	transition: opacity .25s ease;
}
.figma-review-media__main.is-changing { opacity: .32; }
.figma-review-media__placeholder { background: #d9d9d9; }
.figma-review-copy { padding-top: 0; }

@media (min-width: 821px) {
	/* Preserve the 1440×765 Figma composition at every desktop width. */
	.rgev-home-hero {
		height: auto;
		min-height: 0;
		aspect-ratio: 1440 / 765;
	}
	.rgev-home-hero__image { object-position: center 46%; }
}

@media (max-width: 820px) {
	.rgev-home-hero {
		height: clamp(700px, calc(100svh - 20px), 749px);
		min-height: 700px;
	}
	.rgev-home-hero__image { object-position: 63% 52%; }
	.rgev-home-hero__content { padding-top: 42px; padding-bottom: 70px; }

	.rgev-home-promo {
		position: relative;
		display: block;
		height: 390px;
	}
	.rgev-home-promo__media { position: absolute; inset: 0 50% 0 0; width: 50%; }
	.rgev-home-promo__image { object-position: center; }
	.rgev-home-promo__copy {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		display: flex;
		width: 50%;
		padding: 24px 18px;
	}
	.rgev-home-promo__eyebrow { margin-bottom: 10px; font-size: 9px; }
	.rgev-home-promo__copy h2 { font-size: 23px; line-height: 1.22; }
	.rgev-home-promo__copy .rgev-home-divider { width: 76px; margin: 13px auto 16px; }
	.rgev-home-promo__copy p { font-size: 11px; line-height: 1.5; }
	.rgev-home-promo__link { margin-top: 16px; font-size: 11px; }

	.rgev-home-format { height: 566px; padding-top: 52px; }
	.rgev-home-format .rgev-home-section-title { height: 94px; }
	.rgev-home-format-card--custom { color: #fff; }
	.rgev-home-format-card--custom::after {
		display: block;
		position: absolute;
		inset: 47% 0 0;
		z-index: 1;
		background: linear-gradient(transparent, rgba(25,18,12,.48));
		content: "";
	}
	.rgev-home-format-card--ready::after { display: none; }
	.rgev-home-format-card--ready .rgev-home-format-card__copy { bottom: 13px; color: #262626; text-shadow: none; }
	.rgev-home-format-card__copy strong { font-size: 19px; }
	.rgev-home-format-card__copy small { margin-top: 5px; font-size: 10px; line-height: 1.35; }

	.site-footer__grid .site-footer__wordmark { font-size: 38px; }
	.figma-product-tile h3 { font-size: 14px; }

	.rgev-home-details__grid { grid-auto-rows: auto; align-items: start; }
	.rgev-home-detail { min-width: 0; }
	.rgev-home-detail img { display: block; width: 100%; aspect-ratio: 1 / 1; }

	.figma-production-gallery {
		display: grid;
		grid-template-columns: 1fr;
		gap: 44px;
		width: calc(100% - 40px);
	}
	.figma-production-gallery-block {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto auto;
		gap: 28px 12px;
	}
	.figma-production-photo--a,
	.figma-production-photo--d { grid-column: 1 / -1; grid-row: 1; }
	.figma-production-photo--b,
	.figma-production-photo--e { grid-column: 1; grid-row: 2; }
	.figma-production-photo--c,
	.figma-production-photo--f { grid-column: 2; grid-row: 2; }
	.figma-production-photo { margin: 0; }
	.figma-production-photo > .figma-production-photo__media { height: auto !important; aspect-ratio: 1 / 1; }
	.figma-production-photo figcaption { margin-top: 4px; font-size: 7px; line-height: 1.25; }

	.figma-review-row,
	.figma-review-row.is-reversed { width: 100%; gap: 30px; }
	.figma-review-media {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 4;
	}
}

/* 0.12.1 — CMS promotion follows the 1440×630 Figma composition at every width. */
.rgev-home-promo {
	position: relative;
	display: block;
	height: auto;
	min-height: 0;
	aspect-ratio: 1440 / 630;
	overflow: hidden;
}
.rgev-home-promo__media,
.rgev-home-promo__media > picture,
.rgev-home-promo__media .rgevlab-responsive-picture,
.rgev-home-promo__image {
	display: block;
	width: 100%;
	height: 100%;
}
.rgev-home-promo__media {
	position: absolute;
	inset: 0;
}
.rgev-home-promo__image {
	object-fit: cover;
	object-position: center;
}
.rgev-home-promo__copy {
	position: absolute;
	top: 23.5%;
	right: 0;
	bottom: auto;
	z-index: 2;
	display: flex;
	width: 38%;
	padding: 0 32px;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	text-align: center;
}
.rgev-home-promo__copy h2 { max-width: none; }
.rgev-home-promo__copy .rgev-home-divider { width: 160px; margin: 34px auto 33px; }
.rgev-home-promo__copy .rgev-home-promo__offer { max-width: 320px; }

@media (max-width: 820px) {
	.rgev-home-promo { height: 390px; aspect-ratio: auto; }
	.rgev-home-promo__media {
		inset: 0 50% 0 0;
		width: 50%;
	}
	.rgev-home-promo__image { object-position: 31% center; }
	.rgev-home-promo__copy {
		top: 0;
		right: 0;
		bottom: 0;
		width: 50%;
		padding: 24px 18px;
		justify-content: center;
		background: rgba(255,255,255,.96);
	}
	.rgev-home-promo__copy .rgev-home-divider { width: 76px; margin: 13px auto 16px; }
	.rgev-home-promo__copy .rgev-home-promo__offer { max-width: 165px; }
}


/* 0.13.0 — final client QA normalization. */
:root {
	--rgev-divider-width: 160px;
	--rgev-divider-width-mobile: 100px;
	--rgev-divider-gradient: linear-gradient(90deg, #a57727 0%, #ddc06e 50%, #a57727 100%);
}

/* One branded divider system across all ordinary pages. */
.figma-gold-rule,
.rgev-home-divider {
	display: block;
	width: var(--rgev-divider-width) !important;
	height: 1px;
	background: var(--rgev-divider-gradient) !important;
	border: 0;
}

/* Format cards: card hover only zooms the image; copy keeps its intended colour. */
.rgev-home-format-card:hover { color: inherit; background: transparent; }
.rgev-home-format-card__copy,
.rgev-home-format-card:hover .rgev-home-format-card__copy { color: inherit; }
.rgev-home-format-card__copy strong,
.rgev-home-format-card__copy small { transition: color .2s ease; }
@media (hover:hover) {
	.rgev-home-format-card__copy strong:hover,
	.rgev-home-format-card__copy small:hover { color: #4f4a44; }
}

/* Light/gold buttons stay light on hover/tap. */
.rgev-home-button--outline,
.figma-product-secondary-button {
	color: #74706a;
	background: #fff;
	border-color: var(--rgev-gold, #c5a049);
	-webkit-tap-highlight-color: transparent;
}
.rgev-home-button--outline:hover,
.rgev-home-button--outline:focus-visible,
.rgev-home-button--outline:active,
.figma-product-secondary-button:hover,
.figma-product-secondary-button:focus-visible,
.figma-product-secondary-button:active {
	color: #4f4a44;
	background: #fff;
	border-color: var(--rgev-gold-dark, #a57727);
}

/* Product breadcrumbs mirror Figma: desktop in summary, mobile directly below photo. */
.figma-product-breadcrumb {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 28px;
	color: #aaa;
	font-size: 12px;
	font-weight: 300;
}
.figma-product-breadcrumb a { color: #999; text-decoration: none; text-underline-offset: 3px; }
.figma-product-breadcrumb span { padding: 0; }
.figma-product-breadcrumb--mobile { display: none; }
.figma-product-breadcrumb--desktop { display: flex; }

/* The gallery adapts to low-height laptops instead of forcing 785px height. */
@media (min-width: 821px) {
	.figma-product-layout {
		grid-template-columns: auto 410px;
		gap: clamp(64px, 7vw, 120px);
		width: min(1100px, 100%);
		margin-inline: auto;
	}
	.figma-product-gallery {
		width: min(500px, calc((100vh - 150px) * .75));
		width: min(500px, calc((100dvh - 150px) * .75));
		max-width: 500px;
	}
	.figma-product-gallery__stage {
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 4;
	}
	.figma-product-summary { min-width: 0; }

	/* Keep the approved square production mosaic at a calmer desktop scale. */
	.figma-production-gallery { width: min(960px, calc(100% - 60px)); }
}

/* Product request modal must remain reachable on a short desktop viewport. */
.rgev-product-request-modal__dialog {
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	overflow-y: auto;
	overscroll-behavior: contain;
}
.rgev-product-request-modal__dialog > p { margin-top: 22px; }
.rgev-product-request-modal button[type="submit"]:disabled {
	cursor: not-allowed;
	opacity: .46;
	filter: saturate(.35);
}

/* Category media geometry: tall riding boots, square for the remaining groups. */
.figma-catalog-group:not(.figma-catalog-group--boots) .figma-product-tile__image {
	height: auto !important;
	aspect-ratio: 1 / 1;
}
.figma-catalog-group--boots .figma-product-tile__image {
	height: auto !important;
	aspect-ratio: 3 / 4;
}
.figma-catalog-group .figma-product-tile__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
}

/* Client's latest review layout explicitly overrides the older portrait Figma frame. */
.figma-review-row,
.figma-review-row.is-reversed {
	grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
	gap: clamp(70px, 8vw, 120px);
	width: min(1120px, calc(100% - 60px));
	align-items: center;
}
.figma-review-row.is-reversed { grid-template-columns: minmax(320px, 1fr) minmax(0, 1fr); }
.figma-review-media {
	width: min(520px, 100%);
	height: auto;
	aspect-ratio: 1 / 1;
}
.figma-review-media__stage,
.figma-review-media__main,
.figma-review-media__placeholder { width: 100%; height: 100%; }
.figma-review-media .figma-review-media__main { object-fit: contain; }
.figma-review-copy .figma-gold-rule { margin-left: 0; }

@media (max-width: 820px) {
	.figma-gold-rule,
	.rgev-home-divider { width: var(--rgev-divider-width-mobile) !important; }

	/* Both cards use the same readable white treatment and baseline. */
	.rgev-home-format-card--custom,
	.rgev-home-format-card--ready,
	.rgev-home-format-card--custom .rgev-home-format-card__copy,
	.rgev-home-format-card--ready .rgev-home-format-card__copy {
		color: #fff !important;
		text-shadow: 0 1px 14px rgba(0,0,0,.38) !important;
	}
	.rgev-home-format-card--custom::after,
	.rgev-home-format-card--ready::after {
		display: block;
		position: absolute;
		inset: 45% 0 0;
		z-index: 1;
		background: linear-gradient(transparent, rgba(20,15,11,.52));
		content: "";
	}
	.rgev-home-format-card--custom .rgev-home-format-card__copy,
	.rgev-home-format-card--ready .rgev-home-format-card__copy { bottom: 13px !important; }

	/* The copy blocks were visually high on Android; move them down without moving media. */
	.rgev-home-split--design .rgev-home-split__copy,
	.rgev-home-split--measurements .rgev-home-split__copy,
	.rgev-home-split--production .rgev-home-split__copy,
	.rgev-home-split--laboratory .rgev-home-split__copy {
		padding-top: 60px !important;
	}
	.rgev-home-split__button-mobile,
	.rgev-home-split__button-desktop {
		width: auto !important;
		min-width: 190px;
		max-width: calc(100% - 40px);
		padding-inline: 30px;
		white-space: nowrap;
	}

	.figma-product-breadcrumb--desktop { display: none; }
	.figma-product-breadcrumb--mobile {
		display: flex;
		padding: 18px 20px 0;
		margin-bottom: 0;
		font-size: 11px;
		text-align: left;
	}
	.figma-product-summary { padding-top: 42px; }

	.figma-review-row,
	.figma-review-row.is-reversed {
		display: flex;
		width: 100%;
		padding: 0 20px;
		gap: 28px;
		flex-direction: column;
	}
	.figma-review-media { width: 100%; aspect-ratio: 1 / 1; }
	.figma-review-copy,
	.figma-review-row.is-reversed .figma-review-copy { text-align: center; }
	.figma-review-copy .figma-gold-rule,
	.figma-review-row.is-reversed .figma-review-copy .figma-gold-rule { margin-left: auto; margin-right: auto; }
}


/* 0.13.3 — truthful live-screenshot audit corrections. */
@media (min-width: 821px) {
	/* The old 350px tail made the product page substantially longer than the 1440px Figma frame. */
	.figma-product-page { padding-bottom: 150px; }
}

@media (max-width: 820px) {
	/* Figma's exported mobile filenames are visually reversed: individual order uses the rider image,
	   ready models use the black boots. Keep both copies aligned to a shared baseline. */
	.rgev-home-format-card__copy {
		display: grid;
		grid-template-rows: minmax(2.55em, auto) minmax(1.35em, auto);
		align-content: end;
		width: calc(100% - 16px);
		min-height: 4.35em;
	}
	.rgev-home-format-card__copy strong,
	.rgev-home-format-card__copy small {
		display: flex;
		align-items: end;
		justify-content: center;
		text-align: center;
	}
}

/* ==========================================================================
   0.13.4 CLIENT ACCEPTANCE — product media + request profiles
   ========================================================================== */

/* Catalog entry images stay portrait/rectangular for every category. The
 * square-vs-portrait rule belongs to the gallery inside a product page. */
.figma-catalog-group .figma-product-tile__image,
.figma-catalog-group--accessories .figma-product-tile__image,
.figma-catalog-group:not(.figma-catalog-group--boots) .figma-product-tile__image,
.figma-catalog-group--boots .figma-product-tile__image {
	display: grid;
	height: auto !important;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	place-items: end center;
}
.figma-catalog-group .figma-product-tile__image img,
.figma-catalog-group--accessories .figma-product-tile__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
}

/* Product gallery: only the main riding-boots category remains portrait.
 * Ankle boots, chaps, winter collection and accessories use a square frame. */
.figma-product-page--square .figma-product-gallery__stage {
	aspect-ratio: 1 / 1;
}
.figma-product-page--portrait .figma-product-gallery__stage {
	aspect-ratio: 3 / 4;
}
.figma-product-gallery__stage[tabindex] {
	outline: none;
	touch-action: pan-y;
}
.figma-product-gallery__stage[tabindex]:focus-visible {
	box-shadow: inset 0 0 0 1px rgba(197,160,73,.72);
}

/* Accessory product pages intentionally have no fitting controls. */
.figma-product-sizing--actions-only {
	margin-top: 34px;
}
.figma-product-sizing--actions-only .figma-product-request-form {
	gap: 0;
}
.figma-product-sizing--actions-only .figma-product-order-button {
	margin-top: 0;
}

@media (max-width: 820px) {
	.figma-catalog-group .figma-product-tile__image,
	.figma-catalog-group--accessories .figma-product-tile__image,
	.figma-catalog-group:not(.figma-catalog-group--boots) .figma-product-tile__image,
	.figma-catalog-group--boots .figma-product-tile__image {
		aspect-ratio: 3 / 4;
	}
	.figma-product-page--square .figma-product-gallery__stage {
		aspect-ratio: 1 / 1;
	}
	.figma-product-page--portrait .figma-product-gallery__stage {
		aspect-ratio: 3 / 4;
	}
}

/* ==========================================================================
   0.13.5 — 1366 desktop resilience + editorial square unification
   ========================================================================== */
@media (min-width: 821px) {
	/* Use the same square-media scale for Laboratory and Reviews. On short
	 * 1366-class laptops the available viewport height, not a fixed 520px box,
	 * decides the size so Reviews cannot look visually larger than Laboratory. */
	.figma-lab-design,
	.figma-lab-design--reverse,
	.figma-review-row,
	.figma-review-row.is-reversed {
		--rgev-editorial-square: min(560px, calc(100svh - 150px), calc((100vw - 160px) * .46));
	}
	.figma-lab-design,
	.figma-lab-design--reverse {
		--rgev-lab-photo: var(--rgev-editorial-square);
	}
	.figma-review-row,
	.figma-review-row.is-reversed {
		width: min(1180px, calc(100% - 60px));
		gap: clamp(64px, 6.5vw, 92px);
		align-items: center;
	}
	.figma-review-row {
		grid-template-columns: var(--rgev-editorial-square) minmax(0, 1fr);
	}
	.figma-review-row.is-reversed {
		grid-template-columns: minmax(0, 1fr) var(--rgev-editorial-square);
	}
	.figma-review-media {
		width: var(--rgev-editorial-square);
		height: var(--rgev-editorial-square);
		max-width: none;
	}

	/* Production keeps the approved square mosaic, but scales from both width
	 * and viewport height. This prevents the 1440-tuned mosaic from becoming
	 * cramped at 1366 or after browser zoom increases the effective CSS scale. */
	.figma-production-gallery {
		width: min(960px, calc(100% - 60px), calc((100dvh - 100px) * 1.45));
		gap: clamp(38px, 6dvh, 58px);
	}
	.figma-production-gallery-block {
		gap: clamp(18px, 2vw, 28px);
	}
}

/* ==========================================================================
   0.13.5 — latest mobile acceptance feedback
   ========================================================================== */
@media (max-width: 820px) {
	/* Client requested ~30px more breathing room between the two-column mobile
	 * menu and the beginning of the home hero. Keep the navigation geometry
	 * intact and add space after the header instead of stretching its rows. */
	body.home .site-header,
	body.home .site-header.is-sticky {
		margin-bottom: 30px;
	}

	/* Keep both Format cards on one exact copy grid. This avoids the apparent
	 * vertical drift when one subtitle/title wraps to two lines on a narrow
	 * Android viewport. */
	.rgev-home-format-card__copy {
		grid-template-rows: 58px 40px;
		align-content: end;
		min-height: 98px;
	}
	.rgev-home-format-card__copy strong {
		min-height: 58px;
		align-items: end;
	}
	.rgev-home-format-card__copy small {
		min-height: 40px;
		align-items: end;
	}

	/* Latest WA feedback: the four home split-copy groups are still visually
	 * high on mobile. Move the text group another 25px down (60 -> 85px),
	 * without changing the media crop or CTA anchoring. */
	.rgev-home-split--design .rgev-home-split__copy,
	.rgev-home-split--measurements .rgev-home-split__copy,
	.rgev-home-split--production .rgev-home-split__copy,
	.rgev-home-split--laboratory .rgev-home-split__copy {
		padding-top: 85px !important;
	}
}

/* 0.13.5: allow the mobile footer to grow with its content.
 * The previous fixed 991px height could leave the final copyright line
 * overflowing onto the white body background on some Android viewports. */
@media (max-width: 820px) {
	.site-footer {
		height: auto;
		min-height: 991px;
		padding-bottom: max(24px, env(safe-area-inset-bottom));
	}
}

/* ========================================================================== 
   0.13.6 — product gallery directional crossfade
   ========================================================================== */
.figma-product-gallery__stage {
	isolation: isolate;
}
.figma-product-gallery__main {
	position: relative;
	z-index: 0;
}
.figma-product-gallery__transition-image {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
	user-select: none;
	will-change: opacity, transform;
}
.figma-product-gallery__transition-image--incoming {
	z-index: 2;
}
.figma-product-gallery__arrow {
	z-index: 3;
	transition:
		transform .14s ease-out,
		box-shadow .18s ease-out,
		background-color .18s ease-out,
		color .18s ease-out;
}
.figma-product-gallery__arrow:hover {
	background: rgba(255,255,255,.96);
	color: #4f4a44;
	box-shadow: 0 0 0 1px rgba(197,160,73,.32), 0 7px 18px rgba(38,38,38,.08);
}
.figma-product-gallery__arrow:active {
	transform: translateY(-50%) scale(.95);
	transition-duration: .08s;
}
@media (prefers-reduced-motion: reduce) {
	.figma-product-gallery__arrow {
		transition: none;
	}
}


/* ==========================================================================
   0.13.7 — mobile split-copy clipping hotfix
   ========================================================================== */
@media (max-width: 820px) {
	/* The 0.13.5 85px top offset was applied inside fixed-height copy boxes.
	 * On narrower Android widths a two-line title + subtitle could exceed the
	 * remaining content box and become visibly clipped. Keep the requested
	 * lower visual position, but let the copy area grow with wrapped text. */
	.rgev-home-split--design,
	.rgev-home-split--measurements,
	.rgev-home-split--production,
	.rgev-home-split--laboratory {
		height: auto !important;
	}

	.rgev-home-split--design .rgev-home-split__copy,
	.rgev-home-split--measurements .rgev-home-split__copy,
	.rgev-home-split--production .rgev-home-split__copy,
	.rgev-home-split--laboratory .rgev-home-split__copy {
		height: auto !important;
		min-height: 280px;
		padding: 110px 24px 28px !important;
		justify-content: flex-start !important;
		overflow: visible;
	}

	.rgev-home-split--production .rgev-home-split__copy {
		min-height: 296px;
	}
}

/* ==========================================================================
   0.13.8 — preserve the requested lower mobile split-copy position
   ========================================================================== */
@media (max-width: 820px) {
	/* 0.13.7 fixed clipping by allowing the copy box to grow, but switching
	 * from centered flex content to flex-start visually cancelled much of the
	 * previous +25px lowering. Keep the grow-with-content fix and apply the
	 * actual requested 25px lower position (85 -> 110px). */
	.rgev-home-split--design .rgev-home-split__copy,
	.rgev-home-split--measurements .rgev-home-split__copy,
	.rgev-home-split--production .rgev-home-split__copy,
	.rgev-home-split--laboratory .rgev-home-split__copy {
		padding-top: 110px !important;
	}
}


/* ==========================================================================
   0.13.9 — mobile split-copy / image overlap experiment
   ========================================================================== */
@media (max-width: 820px) {
	/*
	 * The client asked to lower the four Home split captions farther than the
	 * white copy area allows. Instead of cropping the current mobile artwork,
	 * let the soft white-to-photo transition sit underneath the bottom of the
	 * text block. This is a controlled overlap, not an image transform: the
	 * source image and its crop stay untouched and the copy remains readable
	 * over the artwork's existing light upper gradient.
	 */
	.rgev-home-split--design .rgev-home-split__copy,
	.rgev-home-split--measurements .rgev-home-split__copy,
	.rgev-home-split--production .rgev-home-split__copy,
	.rgev-home-split--laboratory .rgev-home-split__copy {
		position: relative;
		z-index: 2;
		height: auto !important;
		min-height: 280px;
		padding: 110px 24px 0 !important;
		justify-content: flex-start !important;
		overflow: visible;
		background: transparent;
	}

	.rgev-home-split--production .rgev-home-split__copy {
		min-height: 296px;
	}

	.rgev-home-split--design .rgev-home-split__media,
	.rgev-home-split--measurements .rgev-home-split__media,
	.rgev-home-split--production .rgev-home-split__media,
	.rgev-home-split--laboratory .rgev-home-split__media {
		position: relative;
		z-index: 1;
		margin-top: -56px;
	}
}

/* ==========================================================================
   0.13.10 — latest desktop/mobile client polish
   ========================================================================== */

/* Desktop Home hero: keep the image crop untouched, but lower the complete
 * copy stack so the compact fixed header does not visually crowd the title
 * when it appears during scroll. */
@media (min-width: 821px) {
	.rgev-home-hero__content {
		padding-top: clamp(100px, 10vh, 126px);
	}
}

/* Mobile promotion: move the rider slightly to the right inside the left
 * half without changing the split geometry. */
@media (max-width: 820px) {
	.rgev-home-promo__image {
		object-position: 22% center;
	}

	/* Lower both Format titles by ~6px. Keep the Ready Models copy optically
	 * centered, and align its one-line subtitle with the first line of the
	 * neighbouring two-line subtitle. */
	.rgev-home-format-card__copy strong {
		position: relative;
		top: 6px;
	}
	.rgev-home-format-card--ready .rgev-home-format-card__copy {
		right: 0;
		left: 0;
		width: 100%;
		text-align: center;
	}
	.rgev-home-format-card--ready .rgev-home-format-card__copy strong,
	.rgev-home-format-card--ready .rgev-home-format-card__copy small {
		justify-content: center;
		text-align: center;
	}
	.rgev-home-format-card--ready .rgev-home-format-card__copy small {
		align-items: center;
	}

	/* These mobile split CTAs are centered with translateX(-50%). The generic
	 * button hover rule used to replace that transform with translateY(), which
	 * made the button jump sideways on tap/hover. Preserve the horizontal
	 * centering in every interactive state. */
	.rgev-home-split__button-mobile:hover {
		transform: translateX(-50%) translateY(-2px);
	}
	.rgev-home-split__button-mobile:focus-visible {
		transform: translateX(-50%);
	}
	.rgev-home-split__button-mobile:active {
		transform: translateX(-50%) translateY(0);
	}
}


/* 0.13.14 — product request UX hardening. */
.rgev-product-request-modal input,
.rgev-product-request-modal textarea {
	color: #262626;
	-webkit-text-fill-color: #262626;
	caret-color: #262626;
	opacity: 1;
}
.rgev-product-request-modal input:-webkit-autofill,
.rgev-product-request-modal input:-webkit-autofill:hover,
.rgev-product-request-modal input:-webkit-autofill:focus {
	-webkit-text-fill-color: #262626 !important;
	caret-color: #262626;
}
.rgev-product-request-success {
	padding: 32px 18px;
	text-align: center;
}
.rgev-product-request-success h3 {
	margin: 0 0 12px;
	font-family: var(--rgevlab-font-heading, "Playfair Display", Georgia, serif);
	font-size: clamp(25px, 4vw, 34px);
	font-weight: 400;
	line-height: 1.15;
}
.rgev-product-request-success p {
	max-width: 460px;
	margin: 0 auto;
	color: #666;
	line-height: 1.6;
}

/* ========================================================================== */
/* 0.14.1 — multi-photo Laboratory / Reviews galleries.                       */
/* ========================================================================== */
[data-lab-gallery] {
	touch-action: pan-y;
}

[data-lab-gallery]:focus-visible {
	outline: 2px solid var(--rgev-gold, #c5a049);
	outline-offset: 4px;
}

@media (max-width: 820px) {
	/* Laboratory keeps the clean mobile photo treatment, while Reviews expose
	 * explicit controls as well as swipe, so a multi-photo review is obvious. */
	.figma-review-media .figma-lab-gallery-arrow {
		display: grid;
		width: 36px;
		height: 36px;
		background: rgba(255,255,255,.82);
		font-size: 25px;
	}
	.figma-review-media .figma-lab-gallery-arrow--prev { left: 10px; }
	.figma-review-media .figma-lab-gallery-arrow--next { right: 10px; }
}

/* ========================================================================== */
/* 0.14.2 — final acceptance: catalog geometry + mobile format + galleries.   */
/* ========================================================================== */

/* Accessories are user-managed photos, but the storefront frame must stay
 * identical even when source crops differ. The client has already corrected
 * the current assets; cover keeps future replacements equally consistent. */
.figma-catalog-group--accessories .figma-product-tile__image {
	aspect-ratio: 3 / 4 !important;
	overflow: hidden;
}
.figma-catalog-group--accessories .figma-product-tile__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover !important;
	object-position: center !important;
}

/* Multi-photo editorial galleries: preserve vertical page scrolling while
 * explicitly reserving horizontal gestures for the slider. */
.figma-lab-design__stage,
.figma-review-media__stage {
	touch-action: pan-y;
	overscroll-behavior-x: contain;
}
.figma-lab-design__main,
.figma-review-media__main {
	-webkit-user-drag: none;
	user-select: none;
}

@media (max-width: 820px) {
	/* Both cards use the same full-width copy box. Older acceptance patches left
	 * the custom card 16px narrower, which made centered text look shifted. */
	.rgev-home-format-card__copy,
	.rgev-home-format-card--custom .rgev-home-format-card__copy,
	.rgev-home-format-card--ready .rgev-home-format-card__copy {
		right: 0 !important;
		left: 0 !important;
		width: 100% !important;
		padding-inline: 6px;
		box-sizing: border-box;
		text-align: center !important;
	}
	.rgev-home-format-card__copy strong,
	.rgev-home-format-card__copy small,
	.rgev-home-format-card--custom .rgev-home-format-card__copy strong,
	.rgev-home-format-card--custom .rgev-home-format-card__copy small,
	.rgev-home-format-card--ready .rgev-home-format-card__copy strong,
	.rgev-home-format-card--ready .rgev-home-format-card__copy small {
		width: 100%;
		justify-content: center !important;
		text-align: center !important;
	}

	/* Laboratory and Reviews expose explicit arrows on phones as well as swipe.
	 * This avoids a hidden-control UX and provides a reliable fallback in
	 * embedded Android browsers where pointer gestures can be inconsistent. */
	.figma-lab-design__media .figma-lab-gallery-arrow,
	.figma-review-media .figma-lab-gallery-arrow {
		display: grid !important;
		width: 38px;
		height: 38px;
		place-items: center;
		background: rgba(255,255,255,.86);
		box-shadow: 0 3px 12px rgba(38,38,38,.08);
		font-size: 26px;
	}
	.figma-lab-design__media .figma-lab-gallery-arrow--prev,
	.figma-review-media .figma-lab-gallery-arrow--prev { left: 10px; }
	.figma-lab-design__media .figma-lab-gallery-arrow--next,
	.figma-review-media .figma-lab-gallery-arrow--next { right: 10px; }
}


/* ========================================================================== */
/* 0.14.3 — touch-first editorial galleries + 1366 product spacing.           */
/* ========================================================================== */

/* Dots stay visually discreet, but their real tap target is large enough for
 * a thumb. The marker itself is drawn separately so the design does not grow. */
.figma-lab-gallery-dots {
	gap: 0;
}
.figma-lab-gallery-dots button {
	display: grid;
	width: 28px;
	height: 28px;
	padding: 0;
	place-items: center;
	border: 0;
	background: transparent !important;
	-webkit-tap-highlight-color: transparent;
}
.figma-lab-gallery-dots button::before {
	display: block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #b8b8b8;
	content: "";
}
.figma-lab-gallery-dots button.is-active::before {
	background: #555;
}

@media (max-width: 820px) {
	/* A 46px control is a practical touch target and remains visually light. */
	.figma-lab-design__media .figma-lab-gallery-arrow,
	.figma-review-media .figma-lab-gallery-arrow {
		display: grid !important;
		width: 46px;
		height: 46px;
		background: rgba(255,255,255,.88);
		font-size: 30px;
		-webkit-tap-highlight-color: transparent;
	}
}

/* On 1366-class desktops / scaled laptop displays the viewport-height rule can
 * shrink the photo while the old `auto` grid track keeps spare width to its
 * right. That spare track width is what makes the photo look far from copy.
 * Collapse the first track to the actual gallery width; this removes the hidden
 * spacer while keeping the intended editorial gap, bringing media roughly 50% closer.
 * Full-HD layouts (>1500 CSS px) intentionally keep the approved spacing. */
@media (min-width: 1024px) and (max-width: 1500px) {
	.figma-product-layout {
		grid-template-columns: max-content 410px;
		gap: clamp(72px, 7vw, 100px);
		width: fit-content;
		max-width: calc(100% - 48px);
		margin-inline: auto;
	}
}


/* ========================================================================== */
/* 0.14.5 — Firefox / Gecko cross-browser resilience.                         */
/* ========================================================================== */

/* Keep mobile text sizing and native controls deterministic across Chromium,
 * Safari and Gecko. Firefox has historically kept a little more intrinsic
 * button/fieldset sizing than Chromium, which can widen dense grid rows. */
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
fieldset {
	min-width: 0;
}
button,
input,
select,
textarea {
	max-width: 100%;
	color: inherit;
}
button::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
	padding: 0;
	border: 0;
}
.figma-product-request-form select {
	-moz-appearance: none;
	appearance: none;
}

/* Grid/flex children must be allowed to shrink below their min-content width.
 * This is particularly important in Gecko where long navigation/product copy
 * can otherwise keep an implicit minimum and push the neighbouring track. */
.site-header__inner > *,
.home-promo__inner > *,
.catalog-banner__inner > *,
.feature-split__inner > *,
.rgev-product__layout > *,
.figma-product-layout > *,
.measurements-two-col > *,
.figma-two-columns > *,
.figma-production-gallery > *,
.figma-production-gallery-block > *,
.figma-review-row > *,
.figma-lab-design > *,
.figma-lab-design--reverse > * {
	min-width: 0;
}

/* Button glyphs are centered by the layout box rather than browser-specific
 * font metrics / inner button padding. */
.figma-product-gallery__arrow,
.figma-lab-gallery-arrow,
.figma-lab-gallery-dots button,
.menu-toggle {
	line-height: 1;
}
.figma-lab-gallery-dots button {
	min-width: 28px;
	min-height: 28px;
}

/* Dynamic viewport units are supported by current Firefox, but the plain-vh
 * declarations keep the layout intact on older ESR installs as well. The
 * svh/dvh declaration intentionally follows and wins when supported. */
@media (min-width: 821px) {
	.rgev-home-hero {
		height: clamp(420px, calc(100vh - 273px), 765px);
		height: clamp(420px, calc(100svh - 273px), 765px);
	}
	.figma-lab-design,
	.figma-lab-design--reverse {
		--rgev-lab-photo: min(560px, calc(100vh - 150px));
		--rgev-lab-photo: min(560px, calc(100svh - 150px));
	}
	.figma-production-gallery-block {
		height: min(650px, calc(100vh - 150px));
		height: min(650px, calc(100svh - 150px));
	}
	.figma-lab-design,
	.figma-lab-design--reverse,
	.figma-review-row,
	.figma-review-row.is-reversed {
		--rgev-editorial-square: min(560px, calc(100vh - 150px), calc((100vw - 160px) * .46));
		--rgev-editorial-square: min(560px, calc(100svh - 150px), calc((100vw - 160px) * .46));
	}
	.figma-production-gallery {
		width: min(960px, calc(100% - 60px), calc((100vh - 100px) * 1.45));
		width: min(960px, calc(100% - 60px), calc((100dvh - 100px) * 1.45));
		gap: clamp(38px, 6vh, 58px);
		gap: clamp(38px, 6dvh, 58px);
	}
}

@media (max-width: 820px) {
	.rgev-home-hero {
		height: clamp(700px, calc(100vh - 20px), 749px);
		height: clamp(700px, calc(100svh - 20px), 749px);
	}
}

/* Gecko-only final normalization. These rules deliberately do not change the
 * approved dimensions; they only remove UA-control metrics and min-content
 * expansion that can make Firefox look a few pixels "off". */
@supports (-moz-appearance: none) {
	.primary-navigation,
	.primary-navigation > ul,
	.site-header__tools,
	.figma-product-summary,
	.figma-review-copy,
	.figma-lab-design__text {
		min-width: 0;
	}
	.figma-product-gallery__arrow,
	.figma-lab-gallery-arrow,
	.figma-lab-gallery-dots button,
	.rgev-product-request-modal button,
	.rgev-product-request-modal input,
	.rgev-product-request-modal textarea,
	.rgev-product-request-modal select {
		-moz-appearance: none;
	}
}


/* ==========================================================================
   0.14.6 — desktop home hero width regression fix.
   0.14.5 appended a definite height after the approved aspect-ratio rule.
   With width:auto + aspect-ratio, browsers could transfer that height into a
   narrower used width, leaving a large white strip on the right. Restore the
   approved full-width 1440:765 composition and make <picture> fill its media.
   ========================================================================== */
@media (min-width: 821px) {
	.rgev-home-hero {
		width: 100%;
		height: auto;
		min-height: 0;
		aspect-ratio: 1440 / 765;
	}
}
.rgev-home-hero__media > picture {
	display: block;
	width: 100%;
	height: 100%;
}

/* 0.14.8 — two independent legal acknowledgements in the product request. */
.rgev-product-request-modal .rgev-product-request-consent {
    gap: 10px;
    line-height: 1.5;
    letter-spacing: normal;
}
.rgev-product-request-modal .rgev-product-request-consent input[type="checkbox"] {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    padding: 0;
    margin: 1px 0 0;
    border: 1px solid #9b8f8e;
    border-radius: 3px;
    background: #fff;
}
