﻿		:root {
			--bg: #f4f0e8;
			--text: #1d1d1d;
			--gold: #8f7b5a;
			--gold-light: #d6bc7a;
			--cream: #faf8f4;
			--dark: #1d1d1d;
			--white: #ffffff;
			--shadow: 0 20px 40px rgba(0, 0, 0, 0.10);
			--shadow-soft: 0 12px 24px rgba(0, 0, 0, 0.14);
			--radius-lg: 2rem;
			--radius-md: 1.6rem;
			--radius-sm: 1.2rem;
		}

		* {
			box-sizing: border-box;
		}

		html {
			scroll-behavior: smooth;
		}

		body {
			margin: 0;
			font-family: "Roboto", sans-serif;
			background: var(--bg);
			color: var(--text);
		}

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

		a {
			color: inherit;
			text-decoration: none;
		}

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

		.container {
			max-width: 1280px;
			margin: 0 auto;
			padding: 0 1.75rem;
		}

		@media (min-width: 768px) {
			.container {
				padding: 0 2.5rem;
			}
		}

		.heading-font {
			font-family: "Cormorant Garamond", serif;
		}

		.section {
			padding: 4rem 0;
		}

		@media (min-width: 768px) {
			.section {
				padding: 6rem 0;
			}
		}

		.eyebrow {
			font-size: 0.72rem;
			font-weight: 700;
			letter-spacing: 0.28em;
			text-transform: uppercase;
			color: var(--gold);
		}

		.eyebrow-light {
			color: var(--gold-light);
		}

		.max-48 {
			max-width: 48rem;
		}

		.pt-half {
			padding-top: 0.5rem;
		}

		.btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			padding: 0.95rem 1.5rem;
			border-radius: 999px;
			font-size: 0.78rem;
			font-weight: 700;
			letter-spacing: 0.18em;
			text-transform: uppercase;
			border: 1px solid transparent;
			transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease, color 0.22s ease, border-color 0.22s ease;
			cursor: pointer;
		}

		.btn:hover {
			transform: translateY(-2px);
			box-shadow: var(--shadow-soft);
		}

		.btn-dark {
			background: var(--dark);
			color: var(--white);
		}

		.btn-dark:hover {
			background: #000;
		}

		.btn-light {
			background: var(--white);
			color: #000;
		}

		.btn-light:hover {
			background: #f1e4b4;
		}

		.btn-outline-light {
			border-color: rgba(255, 255, 255, 0.3);
			color: var(--white);
			background: transparent;
		}

		.btn-outline-light:hover {
			background: rgba(255, 255, 255, 0.1);
		}

		.btn-outline-dark {
			border-color: rgba(0, 0, 0, 0.15);
			color: var(--text);
			background: transparent;
		}

		.btn-outline-dark:hover {
			background: #000;
			color: #fff;
		}

		.site-header {
			position: sticky;
			top: 0;
			z-index: 60;
			border-bottom: 1px solid rgba(0, 0, 0, 0.1);
			background: rgba(244, 240, 232, 0.9);
			backdrop-filter: blur(12px);
		}

		.site-header-inner {
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 0.8rem 0;
			gap: 1rem;
		}

		.brand {
			display: flex;
			align-items: center;
			gap: 0.75rem;
		}

		.brand img {
			width: 3rem;
			height: 3rem;
			object-fit: cover;
			border-radius: 999px;
			background: #fff;
			border: 1px solid rgba(0, 0, 0, 0.08);
		}

		.brand-name {
			font-size: 2rem;
			line-height: 1;
		}

		.brand-sub {
			font-size: 0.7rem;
			text-transform: uppercase;
			letter-spacing: 0.28em;
			color: rgba(0, 0, 0, 0.6);
			margin-top: 0.2rem;
		}

		.desktop-nav {
			display: none;
			align-items: center;
			gap: 1.5rem;
			font-size: 0.92rem;
			font-weight: 500;
		}

		@media (min-width: 768px) {
			.desktop-nav {
				display: flex;
			}
		}

		.nav-link {
			position: relative;
			transition: opacity 0.22s ease;
		}

		.nav-link:hover {
			opacity: 0.7;
		}

		.nav-link::after {
			content: "";
			position: absolute;
			left: 0;
			bottom: -6px;
			width: 100%;
			height: 1px;
			background: currentColor;
			transform: scaleX(0);
			transform-origin: left;
			transition: transform 0.24s ease;
			opacity: 0.7;
		}

		.nav-link:hover::after {
			transform: scaleX(1);
		}

		.menu-toggle {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 2.75rem;
			height: 2.75rem;
			padding: 0;
			line-height: 0;
			border: 0;
			background: transparent;
			color: #000;
			cursor: pointer;
			transition: color 0.22s ease;
		}

		.menu-toggle.active {
			color: #000;
		}

		.menu-toggle:focus-visible,
		.mobile-menu a:focus-visible,
		.lightbox-close:focus-visible,
		.floor-card-link:focus-visible,
		.floor-card-image-wrap:focus-visible,
		.back-to-top:focus-visible {
			outline: 2px solid var(--gold);
			outline-offset: 2px;
		}

		.menu-toggle-lines {
			position: relative;
			display: block;
			width: 1.5rem;
			height: 1.5rem;
			flex: 0 0 1.5rem;
		}

		.menu-toggle-lines span {
			position: absolute;
			left: 50%;
			top: 50%;
			width: 1.5rem;
			height: 2px;
			margin: 0;
			background: currentColor;
			transform-origin: center center;
		}

		.menu-toggle-lines span:nth-child(1) {
			transform: translate(-50%, calc(-50% - 6px));
		}

		.menu-toggle-lines span:nth-child(2) {
			transform: translate(-50%, -50%);
		}

		.menu-toggle-lines span:nth-child(3) {
			transform: translate(-50%, calc(-50% + 6px));
		}

		.menu-toggle.active .menu-toggle-lines span:nth-child(1) {
			transform: translate(-50%, -50%) rotate(45deg);
		}

		.menu-toggle.active .menu-toggle-lines span:nth-child(2) {
			opacity: 0;
		}

		.menu-toggle.active .menu-toggle-lines span:nth-child(3) {
			transform: translate(-50%, -50%) rotate(-45deg);
		}

		.mobile-actions {
			display: inline-flex;
			align-items: center;
			gap: 0.3rem;
			margin-right: 0.2rem;
		}

		.mobile-call {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 2.75rem;
			height: 2.75rem;
			color: #000;
		}

		.mobile-call svg {
			width: 1.35rem;
			height: 1.35rem;
			fill: currentColor;
		}

		@media (min-width: 768px) {
			.menu-toggle,
			.mobile-actions {
				display: none;
			}
		}

		.menu-backdrop {
			position: fixed;
			inset: 0;
			z-index: 40;
			background: rgba(0, 0, 0, 0.2);
			opacity: 0;
			pointer-events: none;
			transition: opacity 0.28s ease;
		}

		.menu-backdrop.open {
			opacity: 1;
			pointer-events: auto;
		}

		.mobile-menu {
			position: fixed;
			left: 0;
			right: 0;
			top: 73px;
			z-index: 50;
			padding: 0 1rem;
			opacity: 0;
			transform: translateY(-10px);
			pointer-events: none;
			transition: opacity 0.28s ease, transform 0.28s ease;
		}

		.mobile-menu.open {
			opacity: 1;
			transform: translateY(0);
			pointer-events: auto;
		}

		.mobile-menu-panel {
			max-width: 1280px;
			margin: 0 auto;
			padding: 1rem;
			border: 1px solid rgba(0, 0, 0, 0.1);
			border-radius: 0 0 1.5rem 1.5rem;
			background: var(--bg);
			box-shadow: 0 24px 48px rgba(0, 0, 0, 0.2);
		}

		.mobile-menu-links {
			display: flex;
			flex-direction: column;
			gap: 1rem;
			font-size: 0.92rem;
			font-weight: 500;
		}

		@media (min-width: 768px) {
			.mobile-menu,
			.menu-backdrop {
				display: none;
			}
		}

		.hero {
			position: relative;
			overflow: hidden;
			min-height: calc(100vh - 73px);
			display: flex;
			align-items: center;
			background:
				linear-gradient(135deg, rgba(17, 17, 17, 0.72), rgba(17, 17, 17, 0.34)),
				url("https://chicapartments.b-cdn.net/assets/img/Chic_Apartments_Hero.webp") left center / cover no-repeat;
			color: #fff;
		}

		.hero .container {
			padding-left: 1.5rem;
			padding-right: 1.5rem;
		}

		@media (max-width: 767px) {
			.hero {
				background-position: center center;
				min-height: 75vh;
			}
		}

		.hero-inner {
			padding: clamp(3.25rem, 7vh, 5.5rem) 0;
			width: 100%;
		}

		.hero-content {
			max-width: 780px;
			margin: 0;
		}

		@media (max-width: 767px) {
			.hero-content {
				max-width: 100%;
				padding-inline: 0;
			}
		}

		@media (min-width: 768px) {
			.hero-inner {
				padding: clamp(4rem, 9vh, 7rem) 0;
			}
		}

		.hero-badge {
			display: inline-flex;
			align-items: center;
			padding: 0.35rem 0.8rem;
			border-radius: 999px;
			border: 1px solid rgba(255, 255, 255, 0.2);
			font-size: 0.72rem;
			font-weight: 500;
			letter-spacing: 0.22em;
			text-transform: uppercase;
			color: rgba(255, 255, 255, 0.85);
		}

		.hero h1 {
			max-width: 48rem;
			margin: 1rem 0 0;
			font-size: clamp(2.3rem, 6.1vw, 4.9rem);
			line-height: 1.02;
			letter-spacing: -0.01em;
		}

		.hero p {
			max-width: 42rem;
			margin-top: 1.25rem;
			font-size: 1.02rem;
			line-height: 1.68;
			color: rgba(255, 255, 255, 0.85);
		}

		.hero-tagline {
			margin-top: 1.1rem;
			font-size: 0.92rem;
			font-weight: 700;
			letter-spacing: 0.16em;
			text-transform: uppercase;
			color: rgba(255, 255, 255, 0.95);
		}

		@media (min-width: 768px) {
			.hero p {
				font-size: 1.08rem;
			}
		}

		.hero-actions {
			display: flex;
			flex-direction: column;
			gap: 0.75rem;
			margin-top: 2rem;
		}

		@media (min-width: 640px) {
			.hero-actions {
				flex-direction: row;
			}
		}

		.launch-banner {
			background: #111;
			border-top: 1px solid rgba(214, 188, 122, 0.28);
			border-bottom: 1px solid rgba(214, 188, 122, 0.28);
		}

		.launch-banner-inner {
			max-width: 1280px;
			margin: 0 auto;
			padding: 0.8rem 1rem;
			display: flex;
			flex-direction: column;
			gap: 0.35rem;
			align-items: center;
			justify-content: center;
			text-align: center;
		}

		.launch-banner-date {
			font-size: 0.72rem;
			font-weight: 700;
			letter-spacing: 0.16em;
			text-transform: uppercase;
			color: var(--gold-light);
		}

		.launch-banner-copy {
			margin: 0;
			font-size: clamp(0.98rem, 1.5vw, 1.1rem);
			font-weight: 600;
			line-height: 1.35;
			color: #fff;
		}

		.launch-banner-cta {
			display: inline-flex;
			align-items: center;
			gap: 0.45rem;
			font-size: 0.8rem;
			font-weight: 600;
			color: rgba(255, 255, 255, 0.84);
		}

		.launch-banner-cta a {
			color: var(--gold-light);
			text-decoration: underline;
		}

		@media (min-width: 900px) {
			.launch-banner-inner {
				padding: 0.65rem 1.5rem;
				flex-direction: row;
				gap: 1.1rem;
			}
		}

		#live-updates {
			background: #ede8de;
			border-top: 1px solid rgba(0, 0, 0, 0.06);
			border-bottom: 1px solid rgba(0, 0, 0, 0.06);
		}

		.live-updates-grid {
			margin-top: 1.6rem;
			display: grid;
			gap: 1rem;
			align-items: start;
		}

		@media (min-width: 900px) {
			.live-updates-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
		}

		.live-update-card {
			padding: 1.4rem;
			border-radius: 1.25rem;
			border: 1px solid rgba(0, 0, 0, 0.1);
			background: #fff;
		}

		.live-update-label {
			font-size: 0.7rem;
			font-weight: 700;
			letter-spacing: 0.18em;
			text-transform: uppercase;
			color: var(--gold);
		}

		.live-update-card h3 {
			margin: 0.65rem 0 0;
			font-size: 1.3rem;
			line-height: 1.25;
		}

		.live-update-card p {
			margin-top: 0.7rem;
			margin-bottom: 0;
			font-size: 0.95rem;
			line-height: 1.62;
			color: rgba(29, 29, 29, 0.7);
		}

		.live-update-photo-grid {
			margin-top: 1rem;
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 0.75rem;
		}

		.live-update-photo-trigger {
			display: block;
			width: 100%;
			padding: 0;
			border: 1px solid rgba(0, 0, 0, 0.08);
			border-radius: 0.85rem;
			overflow: hidden;
			cursor: pointer;
			background: #e8e4dc;
			aspect-ratio: 4 / 3;
			position: relative;
			box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
		}

		.live-update-photo-trigger:focus-visible {
			outline: 2px solid var(--gold);
			outline-offset: 2px;
		}

		.live-update-photo-trigger img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			max-width: none;
		}

		.wide-image {
			overflow: hidden;
			border-radius: var(--radius-lg);
			box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
			border: 1px solid rgba(0, 0, 0, 0.1);
		}

		.wide-image-retail {
			margin-bottom: 2.5rem;
			border-color: rgba(255, 255, 255, 0.1);
		}

		.retail-hero-video {
			--plyr-color-main: var(--gold-light);
			--plyr-video-background: #0a0a0a;
			/* Locked to real W:H via JS on loadedmetadata (fallback until then). */
			--retail-video-aspect: 16 / 9;
		}

		/* Full width; height is implied by --retail-video-aspect so layout does not change when playback starts. */
		.retail-hero-video .plyr {
			width: 100%;
			height: auto;
			border-radius: inherit;
		}

		.retail-hero-video .plyr__video-wrapper {
			width: 100%;
			height: auto !important;
			position: relative;
			aspect-ratio: var(--retail-video-aspect);
		}

		.retail-hero-video .plyr__video-wrapper--fixed-ratio {
			aspect-ratio: var(--retail-video-aspect) !important;
			padding-bottom: 0 !important;
			height: auto !important;
		}

		.retail-hero-video .plyr video {
			position: absolute !important;
			left: 0 !important;
			top: 0 !important;
			width: 100% !important;
			height: 100% !important;
			object-fit: contain;
		}

		.wide-image img {
			width: 100%;
			height: 260px;
			object-fit: cover;
		}

		@media (min-width: 768px) {
			.wide-image img {
				height: 360px;
			}
		}

		.about-intro {
			display: grid;
			gap: 2rem;
			margin-top: 2.5rem;
		}

		@media (min-width: 1024px) {
			.about-intro {
				grid-template-columns: 0.95fr 1.05fr;
				gap: 3.5rem;
			}
		}

		.about-intro h2,
		.amenities-intro h2,
		.floorplans-intro h2,
		.retail-copy h2,
		.contact-copy h2 {
			margin: 0.75rem 0 0;
			font-size: clamp(2rem, 4.2vw, 3.3rem);
			line-height: 1.08;
		}

		.about-intro-copy,
		.amenities-intro p,
		.retail-copy p,
		.contact-copy-text {
			font-size: 1rem;
			line-height: 1.75;
			color: rgba(29, 29, 29, 0.72);
		}

		@media (min-width: 768px) {
			.about-intro-copy,
			.amenities-intro p,
			.retail-copy p,
			.contact-copy-text {
				font-size: 1.08rem;
			}
		}

		.about-feature-grid {
			display: grid;
			gap: 1.25rem;
			align-items: start;
			margin-top: 3rem;
		}

		@media (min-width: 1024px) {
			.about-feature-grid {
				grid-template-columns: 1.2fr 0.8fr;
			}
		}

		.dark-panel {
			padding: 1.75rem;
			border-radius: var(--radius-lg);
			background: var(--dark);
			color: #fff;
			box-shadow: 0 14px 28px rgba(0, 0, 0, 0.14);
			transition: transform 0.28s ease, box-shadow 0.28s ease;
		}

		.dark-panel:hover {
			transform: translateY(-2px);
			box-shadow: 0 18px 32px rgba(0, 0, 0, 0.16);
		}

		@media (min-width: 768px) {
			.dark-panel {
				padding: 2.25rem;
			}
		}

		.dark-panel h3 {
			margin: 0.75rem 0 0;
			font-size: clamp(1.7rem, 3.1vw, 2.5rem);
			line-height: 1.1;
		}

		.dark-panel p {
			margin-top: 1.25rem;
			max-width: 40rem;
			font-size: 0.98rem;
			line-height: 1.68;
			color: rgba(255, 255, 255, 0.74);
		}

		.dark-panel-grid {
			display: grid;
			gap: 0.75rem;
			margin-top: 2rem;
		}

		@media (min-width: 640px) {
			.dark-panel-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
		}

		.dark-panel-card {
			padding: 1.25rem;
			border: 1px solid rgba(255, 255, 255, 0.1);
			border-radius: 1.5rem;
			background: rgba(255, 255, 255, 0.05);
		}

		.dark-panel-card-title {
			font-size: 0.72rem;
			font-weight: 700;
			letter-spacing: 0.18em;
			text-transform: uppercase;
			color: var(--gold-light);
		}

		.dark-panel-card strong {
			display: block;
			margin-top: 0.5rem;
			font-size: 1.22rem;
			line-height: 1.3;
		}

		.dark-panel-card p {
			margin-top: 0.5rem;
			font-size: 0.92rem;
			line-height: 1.7;
		}

		.highlight-grid {
			display: grid;
			gap: 0.5rem;
		}

		@media (min-width: 640px) {
			.highlight-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
		}

		@media (min-width: 1024px) {
			.highlight-grid {
				display: block;
				column-count: 2;
				column-gap: 0.75rem;
			}
		}

		.highlight-card {
			display: flex;
			align-items: center;
			gap: 0.75rem;
			padding: 1rem 1rem;
			border-radius: var(--radius-md);
			border: 1px solid rgba(0, 0, 0, 0.08);
			background: #fff;
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
			transition: transform 0.28s ease, box-shadow 0.28s ease;
		}

		@media (min-width: 1024px) {
			.highlight-card {
				break-inside: avoid;
				margin-bottom: 0.75rem;
			}
		}

		.highlight-card:hover {
			transform: translateY(-2px);
			box-shadow: 0 10px 22px rgba(0, 0, 0, 0.08);
		}

		.highlight-icon {
			flex: 0 0 auto;
			width: 2.25rem;
			height: 2.25rem;
			border-radius: 999px;
			background: var(--bg);
			color: var(--gold);
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 1rem;
		}

		.highlight-icon span {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			height: 100%;
			line-height: 1;
		}

		.highlight-text {
			font-size: 0.9rem;
			font-weight: 600;
			line-height: 1.5;
			color: rgba(29, 29, 29, 0.84);
		}

		@media (max-width: 767px) {
			.highlight-grid {
				grid-template-columns: 1fr;
				gap: 0.6rem;
			}

			.highlight-card {
				padding: 0.95rem 0.85rem;
			}

			.highlight-icon {
				width: 2rem;
				height: 2rem;
				font-size: 0.95rem;
			}

			.highlight-text {
				font-size: 0.9rem;
				line-height: 1.45;
			}
		}

		.amenities {
			background: #fff;
		}

		.amenities-grid {
			display: grid;
			gap: 1.25rem;
			margin-top: 2.5rem;
			align-items: start;
		}

		@media (min-width: 1024px) {
			.amenities-grid {
				grid-template-columns: repeat(5, minmax(0, 1fr));
			}
		}

		@media (min-width: 768px) and (max-width: 1023px) {
			.amenities-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
		}

		@media (max-width: 767px) {
			.amenities-grid {
				grid-template-columns: 1fr;
			}

			.amenity-card {
				padding: 1rem;
				border-radius: 1.4rem;
			}

			.amenity-card h3 {
				font-size: 1.1rem;
			}

			.amenity-card p {
				font-size: 0.88rem;
				line-height: 1.6;
			}
		}

		.amenity-card {
			padding: 1.25rem;
			border-radius: 1.8rem;
			background: #f6f2ea;
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
			border: 1px solid rgba(0, 0, 0, 0.06);
			transition: transform 0.28s ease, box-shadow 0.28s ease, background-color 0.28s ease;
			display: flex;
			flex-direction: column;
			align-self: start;
		}

		.amenity-card:hover {
			transform: translateY(-2px);
			box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
			background: #f2ecdf;
		}

		.amenity-floor {
			font-size: 0.72rem;
			font-weight: 700;
			letter-spacing: 0.24em;
			text-transform: uppercase;
			color: var(--gold);
		}

		.amenity-card h3 {
			margin: 0.75rem 0 0;
			font-size: 1.16rem;
			line-height: 1.3;
		}

		.amenity-card p {
			margin-top: 0.75rem;
			font-size: 0.92rem;
			line-height: 1.58;
			color: rgba(29, 29, 29, 0.68);
			margin-bottom: 0;
		}

		.floorplans-head {
			display: flex;
			flex-direction: column;
			gap: 1.25rem;
		}

		@media (min-width: 768px) {
			.floorplans-head {
				flex-direction: row;
				justify-content: space-between;
				align-items: end;
			}
		}

		.floorplans-grid {
			display: grid;
			gap: 1.4rem;
			margin-top: 2.5rem;
		}

		@media (min-width: 768px) {
			.floorplans-grid {
				grid-template-columns: repeat(3, minmax(0, 1fr));
			}
		}

		.floor-card {
			overflow: hidden;
			border-radius: 1.8rem;
			background: #fff;
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
			border: 1px solid rgba(0, 0, 0, 0.07);
			transition: transform 0.28s ease, box-shadow 0.28s ease;
			display: flex;
			flex-direction: column;
			height: 100%;
		}

		.floor-card:hover {
			transform: translateY(-2px);
			box-shadow: 0 12px 26px rgba(0, 0, 0, 0.1);
		}

		.floor-card-image-wrap {
			display: block;
			padding: 0;
			border: 0;
			background: transparent;
			width: 100%;
			cursor: pointer;
		}

		.floor-card-image {
			width: 100%;
			height: 220px;
			object-fit: cover;
			transition: transform 0.45s ease;
		}

		.floor-card:hover .floor-card-image {
			transform: scale(1.04);
		}

		.floor-card-body {
			padding: 1.5rem;
			display: flex;
			flex-direction: column;
			flex: 1;
		}

		.floor-card-type {
			font-size: 0.72rem;
			font-weight: 700;
			letter-spacing: 0.24em;
			text-transform: uppercase;
			color: var(--gold);
		}

		.floor-card h3 {
			margin: 0.75rem 0 0;
			font-size: 1.3rem;
			line-height: 1.3;
		}

		.floor-card-size {
			margin-top: 0.5rem;
			font-size: 0.92rem;
			font-weight: 500;
			color: rgba(29, 29, 29, 0.65);
		}

		.floor-card p {
			margin-top: 1rem;
			font-size: 0.92rem;
			line-height: 1.58;
			color: rgba(29, 29, 29, 0.68);
		}

		.floor-card-link {
			margin-top: auto;
			padding: 0;
			padding-top: 1rem;
			border: 0;
			background: transparent;
			font-size: 0.84rem;
			font-weight: 700;
			letter-spacing: 0.16em;
			text-transform: uppercase;
			color: var(--gold);
			cursor: pointer;
		}

		.floor-card-link:hover {
			color: #000;
		}

		.retail {
			background: var(--dark);
			color: #fff;
		}

		.retail-grid {
			display: grid;
			gap: 2rem;
		}

		@media (min-width: 1024px) {
			.retail-grid {
				grid-template-columns: 0.9fr 1.1fr;
				gap: 3.5rem;
			}
		}

		.retail-copy p {
			color: rgba(255, 255, 255, 0.74);
		}

		.retail-copy .eyebrow {
			color: var(--gold-light);
		}

		.retail-blueprint-trigger {
			margin-top: 1rem;
			padding: 0;
			width: 100%;
			border: 1px solid rgba(255, 255, 255, 0.2);
			border-radius: 1rem;
			background: rgba(255, 255, 255, 0.04);
			color: #fff;
			text-align: left;
			cursor: pointer;
			overflow: hidden;
		}

		.retail-blueprint-trigger img {
			display: block;
			width: 100%;
			height: 220px;
			object-fit: cover;
		}

		.retail-blueprint-trigger span {
			display: block;
			padding: 0.85rem 1rem;
			font-size: 0.82rem;
			font-weight: 700;
			letter-spacing: 0.14em;
			text-transform: uppercase;
			color: var(--gold-light);
		}

		.contact-grid {
			display: grid;
			gap: 2rem;
			align-items: start;
		}

		@media (min-width: 1024px) {
			.contact-grid {
				grid-template-columns: 0.85fr 1.15fr;
				gap: 3.5rem;
			}
		}

		.contact-info {
			margin-top: 2rem;
			display: flex;
			flex-direction: column;
			gap: 1.25rem;
			font-size: 0.96rem;
			line-height: 1.72;
			color: rgba(29, 29, 29, 0.7);
		}

		.contact-info strong {
			display: block;
			font-size: 0.78rem;
			font-weight: 700;
			letter-spacing: 0.18em;
			text-transform: uppercase;
			color: rgba(29, 29, 29, 0.45);
		}

		.contact-info .primary-name {
			margin-top: 0.2rem;
			font-size: 1.1rem;
			font-weight: 500;
			color: var(--text);
		}

		.contact-info a:hover {
			text-decoration: underline;
		}

		.site-credit {
			margin-top: 1rem;
			padding-top: 1rem;
			border-top: 1px solid rgba(29, 29, 29, 0.12);
			font-size: 0.88rem;
			color: rgba(29, 29, 29, 0.62);
		}

		.contact-form {
			padding: 1.5rem;
			border-radius: var(--radius-lg);
			background: #fff;
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
			border: 1px solid rgba(0, 0, 0, 0.07);
		}

		@media (min-width: 768px) {
			.contact-form {
				padding: 2rem;
			}
		}

		.form-grid {
			display: grid;
			gap: 1.25rem;
		}

		@media (min-width: 768px) {
			.form-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
		}

		.field-full {
			grid-column: 1 / -1;
		}

		.form-label {
			display: block;
			margin-bottom: 0.5rem;
			font-size: 0.8rem;
			font-weight: 700;
			letter-spacing: 0.14em;
			text-transform: uppercase;
			color: rgba(29, 29, 29, 0.55);
		}

		.form-field {
			width: 100%;
			padding: 0.95rem 1rem;
			border-radius: 1rem;
			border: 1px solid rgba(0, 0, 0, 0.12);
			background: var(--cream);
			outline: none;
			transition: border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
		}

		textarea.form-field {
			border-radius: 1.4rem;
			resize: vertical;
			min-height: 140px;
		}

		.form-field:focus {
			border-color: #000;
			box-shadow: 0 0 0 4px rgba(143, 123, 90, 0.12);
			background: #fff;
		}

		.form-actions {
			display: flex;
			flex-direction: column;
			gap: 0.75rem;
			align-items: flex-start;
			justify-content: space-between;
			margin-top: 1.25rem;
		}

		.g-recaptcha {
			margin-top: 0.25rem;
		}

		@media (min-width: 640px) {
			.form-actions {
				flex-direction: row;
				align-items: center;
			}
		}

		.form-note,
		.form-message {
			font-size: 0.92rem;
			line-height: 1.55;
			color: rgba(29, 29, 29, 0.55);
		}

		.form-message {
			margin-top: 1rem;
			font-weight: 500;
		}

		.form-message.success {
			color: #1b6b34;
		}

		.form-message.error {
			color: #a32424;
		}

		.form-honeypot {
			position: absolute;
			left: -100vw;
			width: 1px;
			height: 1px;
			overflow: hidden;
		}

		.lightbox {
			position: fixed;
			inset: 0;
			z-index: 90;
			display: none;
			align-items: center;
			justify-content: center;
			padding: 1rem;
			background: rgba(0, 0, 0, 0.75);
		}

		.lightbox.open {
			display: flex;
		}

		.lightbox-dialog {
			position: relative;
			width: 100%;
			max-width: 1100px;
		}

		.lightbox-close {
			position: absolute;
			right: 0.75rem;
			top: 0.75rem;
			z-index: 10;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 2.75rem;
			height: 2.75rem;
			border: 0;
			border-radius: 999px;
			background: rgba(255, 255, 255, 0.9);
			font-size: 2rem;
			line-height: 1;
			cursor: pointer;
			box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
		}

		.lightbox-close:hover {
			background: #fff;
		}

		.lightbox-panel {
			overflow: hidden;
			border-radius: 1.75rem;
			background: #fff;
			box-shadow: 0 30px 50px rgba(0, 0, 0, 0.25);
		}

		.lightbox-head {
			padding: 1.25rem 1.5rem;
			border-bottom: 1px solid rgba(0, 0, 0, 0.08);
		}

		.lightbox-head .eyebrow {
			font-size: 0.72rem;
			letter-spacing: 0.22em;
		}

		.lightbox-title {
			margin-top: 0.35rem;
			font-size: 1.7rem;
			font-weight: 900;
		}

		.lightbox-size {
			margin-top: 0.25rem;
			font-size: 0.92rem;
			color: rgba(29, 29, 29, 0.6);
		}

		.lightbox-body {
			padding: 1rem;
			background: #f8f5ef;
		}

		@media (min-width: 768px) {
			.lightbox-body {
				padding: 1.5rem;
			}
		}

		.lightbox-image {
			width: auto;
			max-width: 100%;
			max-height: 78vh;
			margin: 0 auto;
			border-radius: 1rem;
			background: #fff;
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
		}

		.back-to-top {
			position: fixed;
			right: 1.25rem;
			bottom: 1.25rem;
			z-index: 50;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 3rem;
			height: 3rem;
			border: 0;
			border-radius: 999px;
			background: var(--dark);
			color: #fff;
			font-size: 1.2rem;
			box-shadow: 0 16px 30px rgba(0, 0, 0, 0.18);
			cursor: pointer;
			opacity: 0;
			transform: translateY(14px);
			pointer-events: none;
			transition: opacity 0.28s ease, transform 0.28s ease, box-shadow 0.28s ease;
		}

		.back-to-top.visible {
			opacity: 1;
			transform: translateY(0);
			pointer-events: auto;
		}

		.back-to-top:hover {
			transform: translateY(-3px);
			box-shadow: 0 16px 30px rgba(0, 0, 0, 0.18);
		}

		@media (min-width: 768px) {
			.back-to-top {
				right: 1.75rem;
				bottom: 1.75rem;
			}
		}

		@media (prefers-reduced-motion: reduce) {
			*,
			*::before,
			*::after {
				animation: none !important;
				transition: none !important;
				scroll-behavior: auto !important;
			}
		}
	

