/**
 * Mason ROMA Modern Edge — homepage (from Modern Edge v2 HTML).
 */
.mason-roma .roma-hero {
	min-height: 800px;
	margin: 18px 4vw 0;
	border-radius: var(--roma-radius-lg);
	overflow: hidden;
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	/* Reserve this image slot for the Owner-approved hero background asset.
	 * Example AFTER approval: --roma-hero-background-image: url('../images/approved-hero.jpg');
	 * Until then, the existing Modern Edge gradient remains unchanged. */
	background-image: var(--roma-hero-background-image, linear-gradient(145deg, #d5d5d5 0%, #c9c9c9 50%, #dddddd 100%));
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	box-shadow: var(--roma-shadow-lg);
}

.mason-roma .roma-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 74% 28%, rgba(255, 255, 255, 0.7), transparent 24%),
		linear-gradient(120deg, transparent 0 38%, rgba(255, 255, 255, 0.25) 39%, transparent 41% 65%, rgba(0, 0, 0, 0.03) 66%, transparent 67%);
	pointer-events: none;
}

.mason-roma .roma-hero::after {
	content: "GM";
	position: absolute;
	right: -4vw;
	bottom: -17vw;
	font: 42vw var(--roma-serif);
	color: #b8b8b8;
	opacity: 0.48;
	line-height: 1;
	pointer-events: none;
	user-select: none;
}

.mason-roma .roma-hero__copy {
	z-index: 2;
	padding: 12vw 7vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.mason-roma .roma-hero__copy h1 {
	font-size: clamp(60px, 8vw, 126px);
	line-height: 0.82;
	letter-spacing: -0.06em;
	margin: 25px 0;
	font-weight: 800;
	text-transform: uppercase;
}

.mason-roma .roma-rule {
	width: 120px;
	height: 4px;
	background: #111;
	margin: 32px 0;
}

.mason-roma .roma-hero__copy p {
	max-width: 430px;
	font: 18px / 1.65 var(--roma-serif);
	color: #3d3d3d;
	margin: 0 0 28px;
}

.mason-roma .roma-hero__object {
	z-index: 2;
	display: grid;
	place-items: center;
	position: relative;
	padding: 60px;
}

.mason-roma .roma-hero__object::before {
	content: "";
	position: absolute;
	width: 70%;
	height: 70%;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	filter: blur(2px);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25), var(--roma-shadow-md);
}

.mason-roma .roma-frame {
	width: min(390px, 60%);
	aspect-ratio: 4 / 5;
	background: #f7f7f7;
	border: 22px solid #111;
	border-radius: 20px;
	box-shadow: 30px 30px 0 #aaa, var(--roma-shadow-md);
	display: grid;
	place-items: center;
	font: 18px var(--roma-serif);
	letter-spacing: 0.15em;
	position: relative;
	text-align: center;
	padding: 20px;
	transition: transform var(--roma-ease);
}

.mason-roma .roma-frame::before {
	content: "";
	position: absolute;
	inset: -42px;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 36px;
	pointer-events: none;
}

.mason-roma .roma-frame:hover {
	transform: translate(-2px, -2px);
}

/* Manifesto band */
.mason-roma .roma-band {
	margin: 34px 4vw;
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: var(--roma-radius-lg);
	padding: 90px 5vw;
	box-shadow: var(--roma-shadow-md);
}

.mason-roma .roma-band__inner {
	max-width: 1300px;
	margin: auto;
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 80px;
	align-items: end;
}

.mason-roma .roma-band h2 {
	font-size: clamp(40px, 6vw, 84px);
	line-height: 0.92;
	text-transform: uppercase;
	margin: 0;
	letter-spacing: -0.05em;
	font-weight: 800;
}

.mason-roma .roma-band p {
	font: 19px / 1.75 var(--roma-serif);
	color: #444;
	max-width: 680px;
	margin: 0;
}

/* Products */
.mason-roma .roma-products {
	margin: 34px 4vw;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	background: transparent;
}

.mason-roma .roma-product-card {
	min-height: 640px;
	padding: 26px;
	display: flex;
	flex-direction: column;
	border-radius: var(--roma-radius-md);
	background: linear-gradient(145deg, #dedede, #c8c8c8);
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: var(--roma-shadow-md);
	overflow: hidden;
	position: relative;
	transition: transform var(--roma-ease);
}

.mason-roma .roma-product-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 44%, rgba(0, 0, 0, 0.03));
	pointer-events: none;
}

.mason-roma .roma-product-card:hover {
	transform: translateY(-3px);
}

.mason-roma .roma-product-stage {
	flex: 1;
	display: grid;
	place-items: center;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.24);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
	position: relative;
	padding: 20px 0;
}

.mason-roma .roma-product-stage::after {
	content: "";
	position: absolute;
	bottom: 40px;
	width: 46%;
	height: 28px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.12);
	filter: blur(8px);
}

.mason-roma .roma-obj-print,
.mason-roma .roma-obj-candle,
.mason-roma .roma-obj-book {
	position: relative;
	z-index: 2;
	box-shadow: var(--roma-shadow-md);
}

.mason-roma .roma-obj-print {
	width: 190px;
	height: 250px;
	background: #fafafa;
	border: 15px solid #111;
	border-radius: 14px;
}

.mason-roma .roma-obj-candle {
	width: 145px;
	height: 205px;
	background: #f5f5f5;
	border: 2px solid #222;
	border-radius: 16px;
	display: grid;
	place-items: center;
	font: 12px var(--roma-serif);
	text-align: center;
	white-space: pre-line;
	line-height: 1.4;
	padding: 12px;
}

.mason-roma .roma-obj-book {
	width: 180px;
	height: 235px;
	background: #ddd;
	border: 1px solid #555;
	border-radius: 12px;
	box-shadow: 13px 13px 0 #aaa, var(--roma-shadow-sm);
	display: grid;
	place-items: center;
	font: 13px var(--roma-serif);
}

.mason-roma .roma-product-card .num {
	font-size: 10px;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: #555;
	margin-top: 16px;
}

.mason-roma .roma-product-card h3 {
	font: 26px var(--roma-serif);
	margin: 16px 0 5px;
	font-weight: 400;
}

.mason-roma .roma-product-card p {
	margin: 0;
	font-size: 11px;
	color: #555;
}

.mason-roma .roma-product-foot {
	display: none;
}

/* Collections — Alt A Soft Gallery Cards (winning concept) */
.mason-roma .roma-collections {
	margin: 34px 4vw;
	padding: 100px 5vw 110px;
	border-radius: var(--roma-radius-lg);
	background:
		radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.07), transparent 26%),
		radial-gradient(circle at 88% 78%, rgba(255, 255, 255, 0.05), transparent 22%),
		#080808;
	color: #fff;
	box-shadow: var(--roma-shadow-lg);
	overflow: hidden;
}

.mason-roma .roma-collections__head {
	max-width: 1300px;
	margin: 0 auto 56px;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 40px;
	align-items: end;
}

.mason-roma .roma-collections__head .roma-label {
	color: #aaa;
	margin-bottom: 14px;
}

.mason-roma .roma-collections__head h2 {
	margin: 0;
	font-size: clamp(44px, 7vw, 96px);
	line-height: 0.9;
	text-transform: uppercase;
	letter-spacing: -0.06em;
	font-weight: 800;
}

.mason-roma .roma-collections__head p {
	margin: 0;
	font: 17px / 1.7 var(--roma-serif);
	color: #bdbdbd;
	max-width: 420px;
}

.mason-roma .roma-collections__grid {
	max-width: 1300px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.mason-roma .roma-collection-card {
	position: relative;
	min-height: 460px;
	border-radius: var(--roma-radius-md);
	padding: 28px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background: linear-gradient(160deg, #1a1a1a, #101010 55%, #171717);
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: var(--roma-shadow-md);
	overflow: hidden;
	transition: transform 0.22s ease, box-shadow 0.22s ease;
	color: #fff;
}

.mason-roma .roma-collection-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--roma-shadow-lg);
	color: #fff;
}

.mason-roma .roma-collection-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 70% 22%, rgba(255, 255, 255, 0.12), transparent 34%);
	pointer-events: none;
}

.mason-roma .roma-collection-card__orb {
	position: absolute;
	top: 36px;
	right: 28px;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.18);
	box-shadow: 0 0 40px rgba(255, 255, 255, 0.06), inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.mason-roma .roma-collection-card__orb span {
	position: absolute;
	inset: 18px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.04);
	display: grid;
	place-items: center;
	font: 22px var(--roma-serif);
	color: #ddd;
}

.mason-roma .roma-collection-card__idx {
	position: relative;
	z-index: 1;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #888;
	margin-bottom: 12px;
}

.mason-roma .roma-collection-card h3 {
	position: relative;
	z-index: 1;
	margin: 0;
	font: clamp(28px, 3vw, 36px) var(--roma-serif);
	font-weight: 400;
	line-height: 1.1;
}

.mason-roma .roma-collection-card p {
	position: relative;
	z-index: 1;
	margin: 12px 0 0;
	font-size: 12px;
	color: #9a9a9a;
	max-width: 26ch;
	line-height: 1.5;
}

.mason-roma .roma-collection-card__enter {
	position: relative;
	z-index: 1;
	margin-top: 28px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #ddd;
}

.mason-roma .roma-collection-card__enter i {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.22);
	display: grid;
	place-items: center;
	font-style: normal;
	background: rgba(255, 255, 255, 0.06);
}

/* Corporate */
.mason-roma .roma-corporate {
	margin: 34px 4vw 0;
	padding: 100px 5vw;
	border-radius: var(--roma-radius-lg) var(--roma-radius-lg) 0 0;
	background: linear-gradient(135deg, #d2d2d2, #bfbfbf 52%, #d8d8d8);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 7vw;
	align-items: center;
	box-shadow: var(--roma-shadow-md);
}

.mason-roma .roma-corp-visual {
	height: 520px;
	border-radius: var(--roma-radius-md);
	background: linear-gradient(145deg, #adadad, #c6c6c6);
	display: grid;
	place-items: center;
	position: relative;
	overflow: hidden;
	box-shadow: var(--roma-shadow-md);
	aspect-ratio: auto;
	max-height: none;
}

.mason-roma .roma-corp-visual::before {
	content: "GM";
	font: 180px var(--roma-serif);
	color: #8f8f8f;
	opacity: 1;
}

.mason-roma .roma-corp-visual::after {
	content: "";
	position: absolute;
	inset: 12%;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.38);
	box-shadow: 0 0 70px rgba(255, 255, 255, 0.12);
}

.mason-roma .roma-corporate h2 {
	margin: 16px 0;
	font-size: clamp(50px, 6vw, 90px);
	line-height: 0.9;
	text-transform: uppercase;
	letter-spacing: -0.055em;
	font-weight: 800;
}

.mason-roma .roma-corporate p {
	font: 18px / 1.7 var(--roma-serif);
	color: #333;
	max-width: 520px;
	margin: 0 0 28px;
}

.mason-roma .roma-occasion-strip,
.mason-roma .roma-trust-strip,
.mason-roma .roma-newsletter,
.mason-roma .roma-manifesto,
.mason-roma .roma-palette {
	display: none;
}

@media (max-width: 850px) {
	.mason-roma .roma-hero {
		grid-template-columns: 1fr;
		margin-left: 16px;
		margin-right: 16px;
	}

	.mason-roma .roma-hero__object {
		min-height: 560px;
	}

	.mason-roma .roma-hero__copy {
		padding: 90px 28px;
	}

	.mason-roma .roma-band,
	.mason-roma .roma-products,
	.mason-roma .roma-collections,
	.mason-roma .roma-corporate {
		margin-left: 16px;
		margin-right: 16px;
	}

	.mason-roma .roma-band__inner,
	.mason-roma .roma-corporate {
		grid-template-columns: 1fr;
	}

	.mason-roma .roma-products {
		grid-template-columns: 1fr;
	}

	.mason-roma .roma-collections__head,
	.mason-roma .roma-collections__grid {
		grid-template-columns: 1fr;
	}

	.mason-roma .roma-collections {
		padding: 72px 28px;
	}
}


/* 2026-11-07 — actual WooCommerce product photography replaces all mock objects.
 * Product image pixels preserved. Near-white stages intentionally match
 * the background of the recovered product photographs: no destructive
 * background-removal or product-art recoloring is applied.
 */
.mason-roma .roma-hero::after { content: none; }
.mason-roma .roma-hero__object { padding: clamp(24px, 4.5vw, 78px); }
.mason-roma .roma-hero__object::before {
    width: 83%; height: 78%;
    background: radial-gradient(circle, rgba(255, 255, 255, .55), rgba(255,255,255,.10) 65%, transparent 70%);
    box-shadow: none;
    filter: none;
}
.mason-roma .roma-hero__product {
    display: flex;
    width: min(100%, 580px);
    flex-direction: column;
    gap: 16px;
    position: relative;
    z-index: 3;
    text-decoration: none;
    color: #262626;
}
.mason-roma .roma-hero__product-photo {
    width: 100%;
    min-width: 0;
    border-radius: 23px;
    overflow: hidden;
    background: #fbfbfb;
    border: 1px solid rgba(255,255,255,.82);
    box-shadow: 24px 28px 0 rgba(32,32,32,.13), 0 25px 70px rgba(0,0,0,.12);
    aspect-ratio: 1 / 1;
    transition: transform var(--roma-ease), box-shadow var(--roma-ease);
}
.mason-roma .roma-hero__product:hover .roma-hero__product-photo {
    transform: translateY(-4px);
    box-shadow: 24px 28px 0 rgba(32,32,32,.13), 0 30px 76px rgba(0,0,0,.17);
}
.mason-roma .roma-hero__product-caption {
    display: flex; justify-content: space-between; gap: 18px;
    padding: 0 5px;
    font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
}
.mason-roma .roma-featured-image {
    display: block;
    width: 100%; height: 100%;
    object-fit: contain;
    background: #fff;
}
.mason-roma .roma-products .roma-product-stage {
    display: block; width: 100%; flex: 1; min-height: 0;
    aspect-ratio: 1 / 1;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, .045);
    border-radius: 17px;
    background: #fcfcfc;
    overflow: hidden;
}
.mason-roma .roma-products .roma-product-stage::after { content: none; }
.mason-roma .roma-product-card { min-height: 0; }
.mason-roma .roma-product-card h3 a { color: inherit; text-decoration: none; }
.mason-roma .roma-product-card__link {
    display: inline-flex; align-items: center; justify-content: space-between;
    gap: 14px; margin-top: 18px; padding-top: 12px;
    border-top: 1px solid rgba(0,0,0,.1);
    color: #292929; font-size: 11px;
    text-decoration: none; letter-spacing: .11em; text-transform: uppercase;
}
.mason-roma .roma-product-card__link:hover,
.mason-roma .roma-product-card h3 a:hover { text-decoration: underline; }
.mason-roma .roma-collection-card { padding-top: 22px; }
.mason-roma .roma-collection-card__photo {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    aspect-ratio: 5 / 4;
    margin: 0 0 auto;
    background: #fff;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(0,0,0,.18);
}
.mason-roma .roma-collection-card__photo .roma-featured-image { object-fit: contain; }
.mason-roma .roma-collection-card__idx { margin-top: 22px; }
.mason-roma .roma-collections__head h2 { font-size: clamp(42px, 6vw, 88px); }
.mason-roma .roma-corp-visual { background: linear-gradient(145deg, #f5f5f5, #dedede); }
.mason-roma .roma-corp-visual::before,
.mason-roma .roma-corp-visual::after { content: none; }
.mason-roma .roma-corp-visual__product {
    display: block; position: relative; z-index: 2;
    width: min(84%, 460px);
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #fff;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.86);
    box-shadow: 21px 24px 0 rgba(0,0,0,.09), 0 20px 65px rgba(0,0,0,.13);
}
.mason-roma .roma-corp-visual__product:hover { transform: translateY(-3px); }
@media (max-width: 850px) {
    .mason-roma .roma-hero { min-height: auto; }
    .mason-roma .roma-hero__object { min-height: 0; padding: 30px 9vw 66px; }
    .mason-roma .roma-hero__product { max-width: 480px; }
    .mason-roma .roma-product-card { min-height: 0; }
    .mason-roma .roma-corp-visual { height: auto; aspect-ratio: 1 / 1; max-height: 540px; }
}
@media (max-width: 520px) {
    .mason-roma .roma-hero__product-photo { border-radius: 16px; box-shadow: 12px 14px 0 rgba(0,0,0,.12), 0 18px 44px rgba(0,0,0,.1); }
    .mason-roma .roma-hero__product-caption { font-size: 9px; }
    .mason-roma .roma-collection-card { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .mason-roma .roma-hero__product-photo,
    .mason-roma .roma-corp-visual__product { transition: none; }
}
\n
/* Owner-approved architecture photograph — EXACT supplied PNG, 2026-11-07.
 * Replaces the prior placeholder overlays. Matches the accepted standalone
 * desktop/mobile background preview; image bytes are unchanged. */
.mason-roma .roma-hero {
    background: #cfcfcf;
    isolation: isolate;
}
.mason-roma .roma-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    background-color: #cfcfcf;
    background-image: url("../images/GoodMotiv.com%20YouTube%20Channel%20-%20Be%20inspired.png");
    background-position: center bottom;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 1;
    pointer-events: none;
}
.mason-roma .roma-hero::after { content: none; }
.mason-roma .roma-hero__copy,
.mason-roma .roma-hero__object { position: relative; z-index: 1; }
.mason-roma .roma-hero__copy { text-shadow: 0 1px 0 rgba(255,255,255,.17); }
@media (max-width:850px) {
    .mason-roma .roma-hero::before { background-position: center bottom; }
}
@media (max-width:520px) {
    .mason-roma .roma-hero::before { background-position: 51% bottom; }
}
