:root {
	--pf-bg: #f5f1ed;
	--pf-surface: #ffffff;
	--pf-ink: #20231f;
	--pf-muted: #6c6762;
	--pf-green: #24362d;
	--pf-green-deep: #101e17;
	--pf-graphite: #252826;
	--pf-sage: #dde3d8;
	--pf-stone: #e6ded8;
	--pf-logo: #9e8f86;
	--pf-accent: #8b7d75;
	--pf-accent-soft: #d8cec8;
	--pf-line: rgba(45, 40, 36, .14);
	--pf-soft-line: rgba(255, 255, 255, .2);
	--pf-shadow: 0 22px 60px rgba(20, 25, 21, .12);
	--pf-radius: 6px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--pf-bg);
	color: var(--pf-ink);
	font-family: Inter, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.55;
}

body.menu-open {
	overflow: hidden;
}

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

img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

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

.container {
	width: min(1220px, calc(100% - 40px));
	margin: 0 auto;
}

.narrow {
	width: min(860px, calc(100% - 40px));
}

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

h1,
h2,
h3 {
	margin-top: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	letter-spacing: 0;
}

h1 {
	margin-bottom: 24px;
	font-size: 72px;
	line-height: .98;
}

h2 {
	margin-bottom: 0;
	font-size: 50px;
	line-height: 1.05;
}

h3 {
	margin-bottom: 10px;
	font-size: 28px;
	line-height: 1.15;
}

p {
	margin-top: 0;
	color: var(--pf-muted);
	line-height: 1.7;
}

.eyebrow {
	margin-bottom: 18px;
	color: var(--pf-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 24px;
	border: 1px solid currentColor;
	border-radius: var(--pf-radius);
	background: transparent;
	color: inherit;
	cursor: pointer;
	transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}

.btn:hover {
	transform: translateY(-2px);
}

.btn-light {
	background: #f7f3ef;
	border-color: #f7f3ef;
	color: var(--pf-ink);
}

.btn-dark {
	background: var(--pf-green);
	border-color: var(--pf-green);
	color: #fff;
}

.btn-outline-light {
	border-color: rgba(255, 255, 255, .72);
	color: #fff;
}

.btn-small {
	min-height: 42px;
	padding: 0 14px;
	font-size: 14px;
}

.text-link {
	display: inline-flex;
	margin-top: 18px;
	color: var(--pf-green);
	font-weight: 700;
}

.site-header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 50;
	width: 100%;
	color: #fff;
	background: linear-gradient(180deg, rgba(16, 27, 21, .86), rgba(31, 28, 24, .36));
	border-bottom: 1px solid var(--pf-soft-line);
}

.admin-bar .site-header {
	top: 32px;
}

.site-header .container {
	width: min(1560px, calc(100% - 40px));
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 86px;
	gap: 18px;
}

.site-logo,
.footer-logo {
	display: inline-flex;
	align-items: center;
	font-weight: 700;
	letter-spacing: 0;
	white-space: nowrap;
}

.site-logo span,
.footer-logo span {
	font-weight: 800;
}

.site-logo img,
.footer-logo img {
	width: auto;
	max-width: min(240px, 100%);
	max-height: 48px;
	object-fit: contain;
}

.footer-logo {
	margin-bottom: 16px;
	color: #fff;
}

.footer-logo img {
	max-width: 220px;
	max-height: 46px;
}

.site-nav {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	min-width: 0;
	gap: clamp(12px, 1.15vw, 22px);
	font-size: 14px;
}

.site-nav a {
	position: relative;
	white-space: nowrap;
}

.site-nav a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -10px;
	left: 0;
	height: 1px;
	background: var(--pf-logo);
	opacity: 0;
	transform: scaleX(.4);
	transition: opacity .2s ease, transform .2s ease;
}

.site-nav a,
.header-actions a {
	opacity: .9;
	transition: opacity .2s ease;
}

.site-nav a:hover,
.header-actions a:hover {
	opacity: 1;
}

.site-nav a:hover::after {
	opacity: 1;
	transform: scaleX(1);
}

.header-actions {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	white-space: nowrap;
}

.header-actions .btn {
	white-space: nowrap;
}

.header-phone {
	margin-left: 6px;
	margin-right: 2px;
	white-space: nowrap;
}

.header-social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid rgba(158, 143, 134, .58);
	border-radius: 50%;
	color: #fff;
	background: rgba(158, 143, 134, .08);
	transition: background .2s ease, border-color .2s ease, transform .2s ease, opacity .2s ease;
}

.header-social:hover {
	background: rgba(158, 143, 134, .18);
	border-color: rgba(158, 143, 134, .86);
	transform: translateY(-1px);
}

.header-social svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}

.header-social svg path {
	fill: currentColor;
	stroke: none;
}

.lang-separator {
	opacity: .55;
}

.menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, .34);
	border-radius: var(--pf-radius);
	background: transparent;
	color: #fff;
	cursor: pointer;
}

.menu-toggle span:not(.screen-reader-text) {
	display: block;
	width: 18px;
	height: 1px;
	margin: 5px auto;
	background: currentColor;
}

.pf-breadcrumbs {
	position: absolute;
	top: 104px;
	left: 0;
	z-index: 45;
	width: 100%;
	color: rgba(255, 255, 255, .76);
	font-size: 13px;
}

.pf-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.pf-breadcrumbs li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.pf-breadcrumbs li + li::before {
	content: "/";
	opacity: .5;
}

.pf-breadcrumbs a {
	text-decoration: none;
	transition: color .2s ease, opacity .2s ease;
}

.pf-breadcrumbs a:hover {
	color: #fff;
	opacity: 1;
}

.pf-breadcrumbs [aria-current="page"] {
	color: rgba(255, 255, 255, .92);
}

.pf-route-materials .pf-breadcrumbs,
.pf-route-about .pf-breadcrumbs,
.pf-route-contacts .pf-breadcrumbs {
	position: relative;
	top: auto;
	padding-top: 118px;
	color: var(--pf-muted);
}

.pf-route-materials .pf-breadcrumbs a:hover,
.pf-route-about .pf-breadcrumbs a:hover,
.pf-route-contacts .pf-breadcrumbs a:hover,
.pf-route-materials .pf-breadcrumbs [aria-current="page"],
.pf-route-about .pf-breadcrumbs [aria-current="page"],
.pf-route-contacts .pf-breadcrumbs [aria-current="page"] {
	color: var(--pf-ink);
}

.pf-route-materials .page-shell,
.pf-route-about .page-shell,
.pf-route-contacts .page-shell {
	padding-top: 0;
}

.site-main section {
	padding: 96px 0;
}

.page-shell {
	padding-top: 86px;
}

.hero {
	min-height: 720px;
	display: flex;
	align-items: flex-end;
	color: #fff;
	background:
		linear-gradient(90deg, rgba(13, 17, 14, .86), rgba(13, 17, 14, .14)),
		var(--hero-image) center / cover;
}

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

.home-hero {
	background:
		linear-gradient(90deg, rgba(14, 18, 15, .9), rgba(31, 28, 24, .48) 45%, rgba(31, 28, 24, .12)),
		linear-gradient(180deg, rgba(13, 17, 14, .18), rgba(13, 17, 14, .58)),
		var(--hero-image) center / cover;
}

.home-hero h1 {
	max-width: 860px;
	font-size: 68px;
}

.hero-compact,
.hero-project {
	min-height: 660px;
}

.hero-inner {
	max-width: 820px;
	padding-bottom: 84px;
}

.hero p {
	max-width: 660px;
	color: rgba(255, 255, 255, .84);
	font-size: 18px;
}

.hero .eyebrow {
	color: #cbb7aa;
	text-shadow: 0 1px 18px rgba(0, 0, 0, .42);
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.hero-points {
	display: flex;
	flex-wrap: wrap;
	gap: 34px;
	margin-top: 52px;
	padding-top: 22px;
	border-top: 1px solid var(--pf-soft-line);
}

.hero-points div {
	min-width: 120px;
	color: rgba(255, 255, 255, .72);
}

.hero-points strong {
	display: block;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 24px;
	font-weight: 400;
}

.hero-points span {
	display: block;
	font-size: 14px;
}

.home-hero .hero-points {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.color-variant-strip {
	padding: 18px 0 !important;
	background: linear-gradient(180deg, rgba(255, 255, 255, .88), var(--pf-surface));
	border-bottom: 1px solid var(--pf-line);
}

.variant-panel {
	display: grid;
	grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
	align-items: center;
	gap: 28px;
}

.variant-panel .eyebrow {
	margin-bottom: 8px;
}

.variant-panel h2 {
	font-size: 30px;
}

.variant-options {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 12px;
}

.variant-options.compact {
	justify-content: flex-start;
}

.variant-option {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 58px;
	padding: 8px 16px 8px 8px;
	border: 1px solid rgba(32, 35, 31, .14);
	border-radius: 18px;
	background: rgba(255, 255, 255, .82);
	color: var(--pf-ink);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.22;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(20, 25, 21, .05);
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.variant-option.active {
	background: #fff;
	border-color: rgba(31, 59, 47, .62);
	box-shadow: inset 0 0 0 1px rgba(31, 59, 47, .62), 0 14px 34px rgba(20, 25, 21, .11);
}

.variant-swatch {
	width: 52px;
	height: 36px;
	flex: 0 0 52px;
	border: 1px solid rgba(32, 35, 31, .18);
	border-radius: 13px;
	background: var(--variant-color, #d8d0c3);
	box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .42), 0 7px 16px rgba(20, 25, 21, .08);
	overflow: hidden;
}

.trustbar {
	background: var(--pf-surface);
	padding: 30px 0;
}

.trust-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.trust-grid div {
	padding-left: 20px;
	border-left: 1px solid var(--pf-line);
}

.trust-grid strong {
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 23px;
	font-weight: 400;
}

.trust-grid span {
	display: block;
	margin-top: 6px;
	color: var(--pf-muted);
	font-size: 14px;
}

.section-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
	align-items: end;
	gap: 56px;
	margin-bottom: 44px;
}

.section-head p {
	margin-bottom: 0;
}

.direction-grid,
.project-grid,
.category-grid,
.series-grid,
.feature-grid,
.layout-grid,
.material-grid {
	display: grid;
	gap: 18px;
}

.direction-grid,
.project-grid {
	grid-template-columns: repeat(3, 1fr);
}

.project-grid:has(.project-card:only-child) {
	grid-template-columns: minmax(280px, 390px);
}

.direction-card {
	position: relative;
	overflow: hidden;
	min-height: 500px;
	background: var(--pf-graphite);
	color: #fff;
}

.direction-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .78));
}

.direction-card img {
	position: absolute;
	inset: 0;
	transition: transform .55s ease;
}

.direction-card:hover img {
	transform: scale(1.035);
}

.direction-card div {
	position: absolute;
	right: 26px;
	bottom: 26px;
	left: 26px;
	z-index: 1;
}

.direction-card p {
	color: rgba(255, 255, 255, .72);
}

.direction-card span {
	display: inline-block;
	margin-top: 10px;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, .34);
}

.home-service-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
	gap: 18px;
}

.home-service-stack {
	display: grid;
	gap: 18px;
}

.home-service-card {
	position: relative;
	display: block;
	overflow: hidden;
	min-height: 301px;
	background: var(--pf-graphite);
	color: #fff;
	border-radius: var(--pf-radius);
	box-shadow: 0 18px 44px rgba(20, 25, 21, .12);
}

.home-service-card.large {
	min-height: 580px;
}

.home-service-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .78)),
		linear-gradient(90deg, rgba(16, 24, 18, .55), rgba(16, 24, 18, .12));
}

.home-service-card img {
	position: absolute;
	inset: 0;
	transition: transform .55s ease;
}

.home-service-card:hover img {
	transform: scale(1.035);
}

.home-service-card div {
	position: absolute;
	right: 28px;
	bottom: 28px;
	left: 28px;
	z-index: 1;
}

.home-service-card small {
	display: block;
	margin-bottom: 14px;
	color: #d4c8c0;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.home-service-card h3 {
	max-width: 560px;
	color: #fff;
}

.home-service-card.large h3 {
	font-size: 38px;
}

.home-service-card p {
	max-width: 560px;
	color: rgba(255, 255, 255, .72);
}

.home-service-card span {
	display: inline-block;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid rgba(158, 143, 134, .5);
	font-weight: 700;
}

.solutions-band,
.quiet-band {
	background: var(--pf-stone);
}

.solution-grid,
.split-grid,
.contact-grid,
.details-columns,
.about-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}

.solution-card,
.info-panel,
.category-card,
.series-card,
.feature-grid div,
.layout-grid div,
.material-grid div,
.project-card,
.review-card {
	background: var(--pf-surface);
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
}

.solution-card,
.info-panel,
.category-card,
.series-card,
.feature-grid div,
.layout-grid div,
.material-grid div {
	padding: 30px;
}

.solution-card span,
.info-panel span,
.material-grid span,
.steps-grid span,
.process-media-grid span {
	display: inline-block;
	margin-bottom: 24px;
	color: var(--pf-accent);
	font-size: 12px;
	font-weight: 700;
}

.info-panel.dark {
	background: var(--pf-green);
	color: #fff;
}

.info-panel.dark p {
	color: rgba(255, 255, 255, .72);
}

.series-grid,
.category-grid,
.feature-grid,
.layout-grid,
.material-grid {
	grid-template-columns: repeat(4, 1fr);
}

.category-grid {
	grid-template-columns: repeat(3, 1fr);
}

.category-card,
.series-card {
	min-height: 190px;
	transition: transform .2s ease, box-shadow .2s ease;
}

.category-card:hover,
.series-card:hover,
.solution-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--pf-shadow);
}

.home-path-grid .solution-card {
	display: flex;
	min-height: 280px;
	flex-direction: column;
	justify-content: space-between;
}

.home-path-grid .solution-card strong {
	display: inline-flex;
	margin-top: 24px;
	color: var(--pf-green);
}

.kitchen-entry-grid,
.developer-select-grid {
	display: grid;
	gap: 18px;
}

.kitchen-entry-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kitchen-entry-card {
	display: flex;
	min-height: 310px;
	flex-direction: column;
	justify-content: space-between;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.kitchen-entry-card:hover,
.developer-select-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--pf-shadow);
}

.kitchen-entry-card.dark {
	background: var(--pf-green);
	border-color: rgba(255, 255, 255, .16);
	color: #fff;
}

.kitchen-entry-card.dark p {
	color: rgba(255, 255, 255, .72);
}

.kitchen-entry-card strong {
	display: inline-flex;
	margin-top: 24px;
	color: var(--pf-green);
}

.kitchen-entry-card.dark strong,
.kitchen-entry-card.dark span {
	color: #d4c8c0;
}

.developer-select-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 44px;
}

.developer-select-card {
	display: flex;
	min-height: 144px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 14px;
	padding: 22px;
	background: rgba(255, 255, 255, .76);
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
	text-align: center;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.developer-select-logo {
	display: flex;
	width: 118px;
	height: 58px;
	align-items: center;
	justify-content: center;
	padding: 8px;
	background: #fff;
	border: 1px solid rgba(158, 143, 134, .16);
}

.developer-select-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.developer-select-initial {
	display: inline-flex;
	width: 54px;
	height: 54px;
	align-items: center;
	justify-content: center;
	background: var(--pf-stone);
	border: 1px solid var(--pf-line);
	border-radius: 50%;
	color: var(--pf-green);
	font-size: 24px;
	font-weight: 800;
}

.developer-select-card strong {
	color: var(--pf-ink);
	font-size: 17px;
}

.compact-head {
	margin-top: 6px;
}

.branch-empty {
	grid-column: 1 / -1;
	padding: 30px;
	background: rgba(255, 255, 255, .68);
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
}

.branch-empty h3 {
	margin-bottom: 8px;
}

.branch-empty p {
	max-width: 680px;
	margin-bottom: 0;
	color: var(--pf-muted);
}

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

.wardrobe-category-card {
	display: grid;
	overflow: hidden;
	min-height: 360px;
	grid-template-rows: 190px 1fr;
	background: rgba(255, 255, 255, .88);
	border: 1px solid rgba(158, 143, 134, .22);
	border-radius: var(--pf-radius);
	box-shadow: 0 18px 42px rgba(32, 28, 25, .07);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.wardrobe-category-card:hover {
	transform: translateY(-3px);
	border-color: rgba(158, 143, 134, .42);
	box-shadow: 0 24px 58px rgba(32, 28, 25, .12);
}

.wardrobe-category-card:first-child {
	grid-column: span 2;
}

.wardrobe-category-card:first-child .wardrobe-category-media {
	height: 100%;
}

.wardrobe-category-media {
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--pf-stone);
}

.wardrobe-category-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(16, 30, 23, .02), rgba(16, 30, 23, .26));
}

.wardrobe-category-media img {
	transition: transform .45s ease;
}

.wardrobe-category-card:hover .wardrobe-category-media img {
	transform: scale(1.035);
}

.wardrobe-category-copy {
	display: flex;
	flex-direction: column;
	padding: 22px;
}

.wardrobe-category-copy small {
	margin-bottom: 10px;
	color: var(--pf-accent);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.wardrobe-category-copy strong {
	color: var(--pf-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.12;
}

.wardrobe-category-copy span {
	display: block;
	margin-top: 12px;
	color: var(--pf-muted);
	font-size: 15px;
	line-height: 1.55;
}

.wardrobe-category-copy em {
	display: inline-flex;
	margin-top: auto;
	padding-top: 18px;
	color: var(--pf-green);
	font-style: normal;
	font-size: 14px;
	font-weight: 800;
}

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

.wardrobe-fill-grid div {
	padding: 18px;
	background: rgba(255, 255, 255, .66);
	border: 1px solid rgba(158, 143, 134, .22);
	border-radius: var(--pf-radius);
}

.wardrobe-fill-grid strong,
.wardrobe-fill-grid span {
	display: block;
}

.wardrobe-fill-grid strong {
	margin-bottom: 8px;
	color: var(--pf-ink);
	font-size: 15px;
}

.wardrobe-fill-grid span {
	color: var(--pf-muted);
	font-size: 13px;
	line-height: 1.45;
}

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

.cabinet-category-card {
	display: grid;
	overflow: hidden;
	min-height: 330px;
	grid-template-rows: 164px 1fr;
	background: rgba(255, 255, 255, .88);
	border: 1px solid rgba(158, 143, 134, .22);
	border-radius: var(--pf-radius);
	box-shadow: 0 18px 42px rgba(32, 28, 25, .07);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.cabinet-category-card:nth-child(1),
.cabinet-category-card:nth-child(2) {
	grid-column: span 2;
	min-height: 370px;
	grid-template-rows: 200px 1fr;
}

.cabinet-category-card:hover {
	transform: translateY(-3px);
	border-color: rgba(158, 143, 134, .42);
	box-shadow: 0 24px 58px rgba(32, 28, 25, .12);
}

.cabinet-category-media {
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--pf-stone);
}

.cabinet-category-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(16, 30, 23, .02), rgba(16, 30, 23, .32));
}

.cabinet-category-media img {
	transition: transform .45s ease;
}

.cabinet-category-card:hover .cabinet-category-media img {
	transform: scale(1.035);
}

.cabinet-category-copy {
	display: flex;
	flex-direction: column;
	padding: 20px;
}

.cabinet-category-copy small {
	margin-bottom: 10px;
	color: var(--pf-accent);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.cabinet-category-copy strong {
	color: var(--pf-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.12;
}

.cabinet-category-copy span {
	display: block;
	margin-top: 11px;
	color: var(--pf-muted);
	font-size: 14px;
	line-height: 1.5;
}

.cabinet-category-copy em {
	display: inline-flex;
	margin-top: auto;
	padding-top: 17px;
	color: var(--pf-green);
	font-style: normal;
	font-size: 14px;
	font-weight: 800;
}

.developer-entry {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: 18px;
	margin-top: 18px;
	padding: 26px 30px;
	border: 1px solid rgba(158, 143, 134, .24);
	border-radius: var(--pf-radius);
	background: rgba(255, 255, 255, .58);
}

.developer-entry > div:first-child > span {
	display: inline-block;
	margin-bottom: 10px;
	color: var(--pf-accent);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.developer-entry h3 {
	margin-bottom: 8px;
	font-size: clamp(24px, 2.2vw, 34px);
}

.developer-entry p {
	max-width: 560px;
	color: var(--pf-muted);
}

.developer-entry .developer-tags {
	justify-content: flex-end;
}

.section-action {
	margin-top: 28px;
}

.tag-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.tag-row span,
.tag-row a,
.color-tags span,
.project-meta span {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 14px;
	border: 1px solid var(--pf-line);
	border-radius: 999px;
	background: rgba(255, 255, 255, .7);
	color: var(--pf-graphite);
	font-size: 14px;
}

.tag-row a {
	transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.tag-row a:hover {
	background: #fff;
	border-color: var(--pf-green);
	transform: translateY(-1px);
}

.developer-tags {
	align-items: center;
	gap: 12px;
}

.tag-row a.developer-chip {
	min-height: 58px;
	gap: 13px;
	padding: 9px 22px 9px 14px;
	border-color: rgba(158, 143, 134, .28);
	background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(250, 247, 244, .9));
	box-shadow: 0 16px 34px rgba(16, 30, 23, .09);
	color: var(--pf-ink);
	font-size: 16px;
	font-weight: 700;
}

.tag-row a.developer-chip:hover {
	border-color: var(--pf-accent);
	background: #fff;
	box-shadow: 0 18px 38px rgba(16, 30, 23, .14);
}

.tag-row a.developer-chip .developer-chip-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 34px;
	min-height: 0;
	flex: 0 0 64px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.tag-row a.developer-chip .developer-chip-logo img {
	display: block;
	width: 100%;
	height: 100%;
	mix-blend-mode: multiply;
	object-fit: contain;
}

.tag-row a.developer-chip .developer-chip-name {
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: currentColor;
	font-size: inherit;
	line-height: 1;
	white-space: nowrap;
}

.tag-row a.developer-chip.has-logo .developer-chip-name {
	font-size: 17px;
	font-weight: 800;
}

.color-tags-swatches span {
	gap: 9px;
	padding-left: 8px;
}

.color-tag-swatch {
	display: inline-block;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	border: 1px solid rgba(16, 34, 29, .18);
	border-radius: 50%;
	background: var(--tag-color, #d8d0c3);
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .42);
}

.project-card {
	overflow: hidden;
	background: var(--pf-surface);
}

.project-card[hidden] {
	display: none !important;
}

.project-image-wrap {
	position: relative;
}

.project-image {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--pf-stone);
	overflow: hidden;
}

.project-image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform .35s ease, opacity .18s ease;
}

.project-card:hover .project-image img {
	transform: scale(1.018);
}

.project-card-variants {
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 3;
	display: inline-flex;
	gap: 5px;
	padding: 5px;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 999px;
	background: rgba(248, 246, 242, .72);
	box-shadow: 0 12px 30px rgba(20, 25, 21, .12);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

.project-card-variant {
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.project-card-variant:hover,
.project-card-variant:focus-visible {
	border-color: rgba(31, 59, 47, .24);
	background: rgba(255, 255, 255, .7);
	transform: translateY(-1px);
}

.project-card-variant.active {
	border-color: rgba(31, 59, 47, .42);
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 6px 16px rgba(20, 25, 21, .1);
}

.project-card-variant span {
	width: 22px;
	height: 22px;
	display: block;
	border-radius: 999px;
	background: var(--variant-color, #d8d0c3);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .32), inset 0 0 0 1px rgba(20, 25, 21, .08);
	transition: box-shadow .2s ease, transform .2s ease;
}

.project-card-variant.active span {
	transform: scale(1.03);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .34), inset 0 0 0 1px rgba(20, 25, 21, .1), 0 0 0 2px rgba(255, 255, 255, .95), 0 0 0 3px rgba(31, 59, 47, .55);
}

.badge {
	position: absolute;
	top: 14px;
	left: 14px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
	color: var(--pf-ink);
	font-size: 12px;
	font-weight: 700;
}

.project-body {
	padding: 24px;
}

.project-body small {
	display: block;
	margin-bottom: 10px;
	color: var(--pf-accent);
	font-weight: 700;
}

.project-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}

.process-section {
	background: var(--pf-green);
	color: #fff;
}

.process-section p {
	color: rgba(255, 255, 255, .68);
}

.steps-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 22px;
	margin-top: 44px;
	padding-top: 28px;
	border-top: 1px solid var(--pf-soft-line);
}

.steps-grid.four {
	grid-template-columns: repeat(4, 1fr);
}

.steps-grid h3 {
	color: #fff;
}

.lead-section {
	background: var(--pf-bg);
}

.lead-box {
	display: grid;
	grid-template-columns: .78fr 1.22fr;
	box-shadow: var(--pf-shadow);
}

.lead-copy {
	padding: 48px;
	background: var(--pf-green);
	color: #fff;
}

.lead-copy p {
	color: rgba(255, 255, 255, .68);
}

.lead-next-steps {
	display: grid;
	gap: 12px;
	margin-top: 34px;
	padding-top: 26px;
	border-top: 1px solid rgba(255, 255, 255, .16);
}

.lead-next-steps div {
	display: grid;
	grid-template-columns: 34px 1fr;
	align-items: center;
	gap: 12px;
}

.lead-next-steps strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 50%;
	color: #fff;
	font-family: Inter, Arial, sans-serif;
	font-size: 13px;
}

.lead-next-steps span {
	color: rgba(255, 255, 255, .78);
	font-size: 14px;
	line-height: 1.45;
}

.pf-lead-form,
.contact-form-panel {
	background: var(--pf-surface);
}

.pf-lead-form {
	padding: 38px;
}

.pf-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.form-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

.field {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

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

.field span {
	color: var(--pf-muted);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

input,
select,
textarea {
	width: 100%;
	border: 1px solid #d8d7d1;
	border-radius: var(--pf-radius);
	background: #fbfaf7;
	padding: 14px 15px;
	color: var(--pf-ink);
}

input:focus,
select:focus,
textarea:focus {
	outline: 2px solid rgba(158, 143, 134, .22);
	outline-offset: 2px;
	border-color: var(--pf-logo);
}

input[type="file"] {
	padding: 12px;
}

textarea {
	min-height: 112px;
	resize: vertical;
}

.form-note,
.form-status {
	margin: 12px 0 0;
	font-size: 13px;
}

.turnstile-field {
	min-height: 65px;
}

.form-status.success {
	color: #1f6f43;
}

.form-status.error {
	color: #a1352d;
}

.catalog-tools {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
	align-items: start;
	gap: 12px;
	margin-bottom: 22px;
}

.catalog-side-filters {
	display: grid;
	gap: 12px;
	padding: 12px;
	border: 1px solid rgba(158, 143, 134, .18);
	border-radius: var(--pf-radius);
	background: rgba(255, 255, 255, .52);
}

.catalog-side-filters select,
.catalog-side-filters input {
	min-height: 52px;
	align-self: start;
}

.catalog-state {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 20px;
	padding: 14px 0;
	border-top: 1px solid rgba(45, 40, 36, .1);
	border-bottom: 1px solid rgba(45, 40, 36, .1);
}

.catalog-state strong {
	color: var(--pf-ink);
	font-size: 15px;
}

.catalog-state span {
	color: var(--pf-accent);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.catalog-filter-groups {
	display: grid;
	gap: 12px;
}

.filter-group {
	padding: 12px;
	border: 1px solid rgba(158, 143, 134, .18);
	border-radius: var(--pf-radius);
	background: rgba(255, 255, 255, .52);
}

.filter-group[hidden] {
	display: none !important;
}

.filter-group > span {
	display: block;
	margin-bottom: 9px;
	color: var(--pf-accent);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.filter-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.filter-btn {
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--pf-line);
	border-radius: 999px;
	background: var(--pf-surface);
	cursor: pointer;
}

.filter-btn.active {
	background: var(--pf-green);
	border-color: var(--pf-green);
	color: #fff;
}

.catalog-empty {
	margin-top: 24px;
	padding: 18px;
	background: var(--pf-surface);
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
}

.project-intro {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 70px;
}

.spec-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	margin-top: 26px;
}

.spec-grid div,
.stats-grid div,
.contact-lines div {
	padding-top: 16px;
	border-top: 1px solid var(--pf-line);
}

.spec-grid strong,
.stats-grid strong,
.contact-lines strong {
	display: block;
	margin-bottom: 6px;
}

.spec-grid span,
.stats-grid span,
.contact-lines span,
.contact-lines a {
	display: block;
	color: var(--pf-muted);
}

.process-media-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.process-media-grid article {
	overflow: hidden;
	background: rgba(255, 255, 255, .08);
	border: 1px solid var(--pf-soft-line);
	border-radius: var(--pf-radius);
}

.process-media-grid img {
	aspect-ratio: 4 / 3;
	height: auto;
}

.process-media-grid div {
	padding: 20px;
}

.gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.gallery-grid img {
	aspect-ratio: 4 / 3;
	height: auto;
	border-radius: var(--pf-radius);
}

.details-columns {
	grid-template-columns: repeat(3, 1fr);
}

.story-hero {
	background:
		linear-gradient(90deg, rgba(14, 18, 15, .78), rgba(14, 18, 15, .24)),
		var(--hero-image) center / cover;
}

.story-section {
	position: relative;
}

.story-split {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 64px;
	align-items: center;
}

.story-split.reverse {
	grid-template-columns: .95fr 1.05fr;
}

.story-copy p {
	max-width: 620px;
}

.story-media {
	min-height: 400px;
	overflow: hidden;
	border-radius: var(--pf-radius);
	background: var(--pf-stone);
	border: 1px solid var(--pf-line);
}

.story-media img {
	min-height: 400px;
}

.media-slider {
	position: relative;
	width: 100%;
	min-height: 400px;
	overflow: hidden;
	background: var(--pf-stone);
}

.media-slider-track {
	display: flex;
	height: 100%;
	min-height: inherit;
	transition: transform .35s ease;
}

.media-slide {
	flex: 0 0 100%;
	min-height: inherit;
	margin: 0;
}

.media-slide img {
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
}

.plan-media,
.sketch-media,
.drawing-media {
	background: #f8f6f1;
}

.plan-media img,
.sketch-media img,
.drawing-media img {
	padding: 12px;
	object-fit: contain;
}

.media-slider-ui {
	position: absolute;
	right: 14px;
	bottom: 14px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px;
	border: 1px solid rgba(255, 255, 255, .32);
	border-radius: 999px;
	background: rgba(17, 24, 19, .64);
	color: #fff;
	backdrop-filter: blur(10px);
}

.media-slider-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .24);
	border-radius: 50%;
	background: rgba(255, 255, 255, .1);
	color: #fff;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.media-slider-count {
	min-width: 44px;
	text-align: center;
	font-size: 13px;
	font-weight: 700;
}

.visual-placeholder,
.room-plan-diagram,
.idea-diagram,
.drawing-placeholder {
	display: flex;
	min-height: 430px;
	padding: 34px;
	background: #f8f6f1;
	color: var(--pf-ink);
}

.visual-placeholder {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.visual-placeholder span {
	margin-bottom: 12px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 52px;
}

.room-plan-diagram {
	position: relative;
	align-items: center;
	justify-content: center;
	border: 22px solid #fff;
	box-shadow: inset 0 0 0 2px var(--pf-green);
}

.room-plan-diagram::before {
	content: "";
	position: absolute;
	inset: 58px;
	border: 2px solid rgba(38, 54, 45, .45);
}

.room-window,
.room-door,
.room-water {
	position: absolute;
	min-width: 88px;
	padding: 8px 12px;
	background: #fff;
	border: 1px solid var(--pf-line);
	text-align: center;
	font-size: 14px;
}

.room-window {
	top: 34px;
	left: 50%;
	transform: translateX(-50%);
}

.room-door {
	right: 34px;
	bottom: 86px;
}

.room-water {
	left: 44px;
	bottom: 44px;
}

.room-measurements,
.dimension-list,
.decision-grid,
.storage-grid,
.material-story-grid {
	display: grid;
	gap: 14px;
}

.room-measurements {
	grid-template-columns: repeat(3, 1fr);
	margin-top: 28px;
}

.room-measurements span,
.storage-grid div {
	padding: 14px;
	background: rgba(255, 255, 255, .62);
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
}

.idea-diagram {
	flex-direction: column;
	justify-content: center;
	gap: 20px;
}

.idea-diagram div {
	position: relative;
	padding: 24px 24px 24px 34px;
	background: #fff;
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
}

.idea-diagram div::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 24px;
	bottom: 24px;
	width: 2px;
	background: var(--pf-accent);
}

.idea-diagram strong,
.idea-diagram span {
	display: block;
}

.idea-diagram span {
	margin-top: 6px;
	color: var(--pf-muted);
}

.check-list.compact {
	margin-top: 18px;
}

.story-wide-media {
	margin-top: 36px;
}

.story-wide-media .media-slider {
	min-height: 0;
	max-width: 1040px;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
	border: 1px solid var(--pf-soft-line);
	border-radius: var(--pf-radius);
	background: #f8f6f1;
}

.story-wide-media > img {
	max-width: 1040px;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
	height: auto;
	border-radius: var(--pf-radius);
	border: 1px solid var(--pf-soft-line);
}

.story-wide-media .media-slider img {
	height: 100%;
	border: 0;
	border-radius: 0;
	aspect-ratio: auto;
	object-fit: contain;
	object-position: center;
}

.section-media-slider {
	margin-top: 32px;
}

.section-media-slider .media-slider {
	min-height: 360px;
	aspect-ratio: 16 / 7;
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
}

.section-detail-media {
	margin-top: 34px;
}

.decision-grid {
	grid-template-columns: repeat(2, 1fr);
}

.decision-grid div {
	padding: 24px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid var(--pf-soft-line);
	border-radius: var(--pf-radius);
}

.decision-grid h3 {
	color: #fff;
}

.drawing-placeholder {
	position: relative;
	align-items: center;
	justify-content: center;
	background:
		linear-gradient(#ece8df 1px, transparent 1px),
		linear-gradient(90deg, #ece8df 1px, transparent 1px),
		#fbfaf7;
	background-size: 34px 34px;
}

.drawing-placeholder::before {
	content: "";
	width: 68%;
	height: 58%;
	border: 3px solid var(--pf-green);
	background: rgba(255, 255, 255, .72);
}

.drawing-placeholder span {
	position: absolute;
	padding: 8px 12px;
	background: #fff;
	border: 1px solid var(--pf-line);
	font-weight: 700;
}

.drawing-placeholder span:nth-child(1) {
	top: 62px;
	left: 50%;
	transform: translateX(-50%);
}

.drawing-placeholder span:nth-child(2) {
	right: 42px;
	top: 50%;
	transform: translateY(-50%);
}

.drawing-placeholder span:nth-child(3) {
	left: 50%;
	bottom: 62px;
	transform: translateX(-50%);
}

.dimension-list {
	grid-template-columns: repeat(2, 1fr);
	margin: 26px 0;
}

.dimension-list div {
	padding-top: 16px;
	border-top: 1px solid var(--pf-line);
}

.dimension-list strong,
.dimension-list span {
	display: block;
}

.dimension-list strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 28px;
	font-weight: 400;
}

.dimension-list span {
	color: var(--pf-muted);
}

.compare-section .section-head {
	align-items: start;
}

.compare-section .section-head p {
	max-width: 560px;
}

.compare-copy {
	display: grid;
	gap: 12px;
	max-width: 650px;
}

.compare-copy p {
	margin: 0;
	max-width: none;
}

.compare-copy p:first-child {
	color: var(--pf-ink);
}

.before-after {
	position: relative;
	overflow: hidden;
	width: min(100%, 1040px);
	margin: 0 auto;
	aspect-ratio: 16 / 9;
	--compare-width: 100%;
	--compare-height: 100%;
	border-radius: var(--pf-radius);
	background: #f8f6f1;
	border: 1px solid rgba(32, 35, 31, .18);
	box-shadow: 0 26px 70px rgba(20, 25, 21, .14);
}

.before-after img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: #f8f6f1;
	object-fit: contain;
	object-position: center;
}

.compare-after {
	inset: 0 0 auto auto;
	width: var(--compare-width, 100%);
	height: var(--compare-height, 100%);
	max-width: none;
	max-height: none;
}

.compare-before {
	object-position: left center;
}

.compare-after-wrap {
	position: absolute;
	inset: 0 0 0 auto;
	width: 50%;
	overflow: hidden;
	background: #f8f6f1;
}

.before-after input {
	position: absolute;
	inset: 0;
	z-index: 5;
	width: 100%;
	height: 100%;
	padding: 0;
	opacity: 0;
	cursor: ew-resize;
}

.compare-handle {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	z-index: 3;
	width: 2px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 0 18px rgba(0, 0, 0, .22);
	pointer-events: none;
	transform: translateX(-1px);
}

.compare-handle::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
	transform: translate(-50%, -50%);
}

.compare-handle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 18px;
	border-right: 2px solid var(--pf-green);
	border-left: 2px solid var(--pf-green);
	transform: translate(-50%, -50%);
}

.compare-label {
	position: absolute;
	z-index: 4;
	top: 18px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
	font-size: 13px;
	font-weight: 700;
	pointer-events: none;
}

.compare-label.before {
	left: 18px;
}

.compare-label.after {
	right: 18px;
}

.story-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-flow: dense;
	gap: 16px;
}

.story-gallery img {
	aspect-ratio: 4 / 3;
	height: auto;
	border-radius: var(--pf-radius);
}

.story-gallery img.large {
	grid-column: span 2;
	grid-row: span 2;
	aspect-ratio: 1 / 1;
}

.material-story-grid {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.material-story-grid div {
	min-height: 210px;
	padding: 26px;
	background: rgba(255, 255, 255, .64);
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
}

.material-story-grid span {
	display: inline-block;
	margin-bottom: 30px;
	color: var(--pf-accent);
	font-size: 12px;
	font-weight: 700;
}

.project-material-summary {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	align-items: start;
	gap: 22px;
	margin-bottom: 24px;
	padding: 18px 20px;
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
	background: rgba(255, 255, 255, .58);
}

.project-material-summary strong {
	color: var(--pf-accent);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.project-material-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.project-material-tags span {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 12px;
	border: 1px solid var(--pf-line);
	border-radius: 999px;
	background: rgba(255, 255, 255, .76);
	color: var(--pf-ink);
	font-size: 13px;
	font-weight: 700;
}

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

.material-option-card {
	display: flex;
	overflow: hidden;
	width: 100%;
	min-height: 390px;
	flex-direction: column;
	padding: 0;
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
	background: #fff;
	color: var(--pf-ink);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.material-option-card:hover,
.material-option-card:focus-visible {
	border-color: rgba(36, 54, 45, .34);
	box-shadow: 0 18px 42px rgba(20, 25, 21, .1);
	transform: translateY(-3px);
}

.material-option-card:focus-visible {
	outline: 2px solid var(--pf-accent);
	outline-offset: 3px;
}

.material-option-card.no-image {
	min-height: 280px;
	background:
		linear-gradient(135deg, rgba(158, 143, 134, .16), rgba(255, 255, 255, .7)),
		#fff;
}

.material-option-card.no-image .material-option-body {
	padding: 28px;
}

.material-option-card.no-image .material-option-number {
	margin-bottom: 34px;
}

.material-option-image {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--pf-stone);
}

.material-option-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.material-option-card:hover .material-option-image img {
	transform: scale(1.035);
}

.material-option-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 22px;
}

.material-option-number {
	margin-bottom: 18px;
	color: var(--pf-accent);
	font-size: 12px;
	font-weight: 800;
}

.material-option-title {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 25px;
	line-height: 1.08;
}

.material-option-text {
	margin-top: 12px;
	color: var(--pf-muted);
	font-size: 15px;
	line-height: 1.5;
}

.material-option-action {
	margin-top: auto;
	padding-top: 22px;
	color: var(--pf-green);
	font-size: 14px;
	font-weight: 800;
}

.material-dialog {
	position: fixed;
	inset: 0;
	z-index: 10020;
	display: grid;
	place-items: center;
	padding: 28px;
}

.material-dialog[hidden] {
	display: none;
}

.material-dialog-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(9, 13, 11, .74);
}

.material-dialog-panel {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	overflow: hidden;
	width: min(1080px, calc(100vw - 48px));
	max-height: calc(100dvh - 48px);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: var(--pf-radius);
	background: var(--pf-bg);
	box-shadow: 0 28px 90px rgba(0, 0, 0, .34);
	outline: none;
}

.material-dialog-panel.no-image {
	grid-template-columns: 1fr;
	width: min(760px, calc(100vw - 48px));
}

.material-dialog-panel.no-image .material-dialog-content {
	padding: 52px;
}

.material-dialog-media {
	min-height: 100%;
	background: var(--pf-stone);
}

.material-dialog-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.material-dialog-content {
	overflow-y: auto;
	padding: 44px;
}

.material-dialog-content h3 {
	margin-bottom: 16px;
	font-size: 42px;
	line-height: 1.04;
}

.material-dialog-content p {
	margin-bottom: 0;
	color: var(--pf-muted);
	font-size: 17px;
}

.material-dialog-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 26px 0 30px;
	padding: 0;
	list-style: none;
}

.material-dialog-list li {
	padding: 14px;
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
	background: rgba(255, 255, 255, .68);
	color: var(--pf-ink);
	font-size: 14px;
	line-height: 1.45;
}

.material-dialog-close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--pf-line);
	border-radius: 50%;
	background: rgba(255, 255, 255, .88);
	color: var(--pf-ink);
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

.material-dialog-open {
	overflow: hidden;
}

@media (max-width: 980px) {
	.material-explorer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.material-dialog-panel {
		grid-template-columns: 1fr;
		overflow-y: auto;
	}

	.material-dialog-media {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}
}

@media (max-width: 760px) {
	.project-material-summary {
		grid-template-columns: 1fr;
		gap: 12px;
		margin-bottom: 18px;
		padding: 16px;
	}

	.project-material-tags {
		gap: 7px;
	}

	.project-material-tags span {
		min-height: 32px;
		padding: 0 10px;
		font-size: 12px;
	}

	.material-explorer-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.material-option-card {
		min-height: 0;
	}

	.material-option-card.no-image .material-option-body {
		padding: 20px;
	}

	.material-option-card.no-image .material-option-number {
		margin-bottom: 18px;
	}

	.material-option-image {
		aspect-ratio: 16 / 10;
	}

	.material-option-body {
		padding: 18px;
	}

	.material-option-number {
		margin-bottom: 12px;
	}

	.material-option-title {
		font-size: 24px;
	}

	.material-option-text {
		font-size: 14px;
	}

	.material-option-action {
		padding-top: 18px;
	}

	.material-dialog {
		align-items: end;
		padding: 12px;
	}

	.material-dialog-panel {
		width: 100%;
		max-height: calc(100dvh - 24px);
	}

	.material-dialog-media {
		aspect-ratio: 16 / 10;
	}

	.material-dialog-content {
		padding: 24px 18px 18px;
	}

	.material-dialog-panel.no-image .material-dialog-content {
		padding: 30px 18px 18px;
	}

	.material-dialog-content h3 {
		font-size: 31px;
	}

	.material-dialog-content p {
		font-size: 15px;
	}

	.material-dialog-list {
		grid-template-columns: 1fr;
		gap: 8px;
		margin: 20px 0 22px;
	}
}

@media (max-width: 560px) {
	.material-explorer-grid {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: minmax(255px, 82vw);
		overflow-x: auto;
		padding-bottom: 8px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.material-option-card {
		scroll-snap-align: start;
	}

	.material-option-image {
		aspect-ratio: 16 / 9;
	}
}

.tone-switch {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--pf-line);
}

.storage-grid {
	grid-template-columns: repeat(2, 1fr);
}

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

.home-detail-grid div {
	min-height: 220px;
	padding: 26px;
	background: rgba(255, 255, 255, .68);
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
}

.home-detail-grid span {
	display: inline-block;
	margin-bottom: 30px;
	color: var(--pf-accent);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.home-detail-grid h3 {
	font-size: 25px;
}

.home-detail-grid p {
	margin-bottom: 0;
	font-size: 14px;
}

.home-consultation-section {
	background: var(--pf-bg);
}

.home-faq-section {
	background: #eee8e2;
}

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

.faq-grid details {
	border: 1px solid rgba(158, 143, 134, .28);
	border-radius: var(--pf-radius);
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 14px 34px rgba(16, 30, 23, .05);
}

.faq-grid summary {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 72px;
	padding: 20px 58px 20px 22px;
	color: var(--pf-ink);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 23px;
	line-height: 1.12;
	cursor: pointer;
	list-style: none;
}

.faq-grid summary::-webkit-details-marker {
	display: none;
}

.faq-grid summary::after {
	content: '+';
	position: absolute;
	top: 50%;
	right: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(158, 143, 134, .34);
	border-radius: 50%;
	color: var(--pf-accent);
	font-family: Inter, Arial, sans-serif;
	font-size: 18px;
	transform: translateY(-50%);
}

.faq-grid details[open] summary::after {
	content: '-';
}

.faq-grid p {
	margin: -4px 22px 22px;
	padding-top: 16px;
	border-top: 1px solid var(--pf-line);
	color: var(--pf-muted);
	font-size: 15px;
}

.consultation-section .section-head {
	align-items: start;
}

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

.consultation-grid div {
	min-height: 250px;
	padding: 24px;
	background: rgba(255, 255, 255, .68);
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
}

.consultation-grid span {
	display: inline-block;
	margin-bottom: 28px;
	color: var(--pf-accent);
	font-size: 12px;
	font-weight: 700;
}

.consultation-grid h3 {
	font-size: 25px;
}

.consultation-grid p {
	margin-bottom: 0;
	font-size: 14px;
	line-height: 1.62;
}

.project-trustbar {
	border-top: 1px solid var(--pf-line);
	border-bottom: 1px solid var(--pf-line);
}

.related-projects-section {
	background: var(--pf-bg);
}

.related-project-grid {
	align-items: start;
}

.price-section {
	background: var(--pf-green);
	color: #fff;
}

.price-section p {
	color: rgba(255, 255, 255, .7);
}

.price-box {
	display: grid;
	grid-template-columns: 1fr .75fr;
	gap: 54px;
	align-items: center;
}

.price-number {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 28px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid var(--pf-soft-line);
	border-radius: var(--pf-radius);
}

.price-number span {
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 34px;
	line-height: 1.05;
}

.price-number small {
	display: block;
	margin-top: 8px;
	color: rgba(255, 255, 255, .62);
	font-size: 13px;
}

.check-list {
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.check-list li {
	padding: 12px 0;
	border-top: 1px solid var(--pf-line);
	color: var(--pf-muted);
}

.about-section,
.plain-page,
.contact-page {
	background: var(--pf-bg);
}

.about-grid {
	align-items: center;
	grid-template-columns: 1fr 1fr;
}

.about-image {
	height: 620px;
	border-radius: var(--pf-radius);
	overflow: hidden;
}

.stats-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-top: 34px;
}

.stats-grid strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 32px;
	font-weight: 400;
}

.contact-grid {
	grid-template-columns: .85fr 1.15fr;
	align-items: start;
}

.contact-lines {
	display: grid;
	gap: 18px;
	margin-top: 34px;
}

.contact-form-panel {
	padding: 38px;
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
}

.contact-form-panel .pf-lead-form {
	padding: 0;
}

.map-section {
	padding-top: 0 !important;
}

.map-section iframe {
	display: block;
	width: 100%;
	min-height: 420px;
	border: 0;
	border-radius: var(--pf-radius);
}

.entry-content {
	color: var(--pf-muted);
}

.site-footer {
	padding: 54px 0;
	background: #101511;
	color: #fff;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.35fr .8fr .8fr 1fr;
	gap: 36px;
}

.footer-grid p,
.footer-grid a {
	display: block;
	color: rgba(255, 255, 255, .64);
	font-size: 14px;
	line-height: 1.8;
}

.footer-grid strong {
	display: block;
	margin-bottom: 12px;
}

.footer-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.footer-socials .social-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 36px;
	padding: 0 13px;
	border: 1px solid rgba(158, 143, 134, .36);
	border-radius: 999px;
	color: #fff;
	font-weight: 700;
	line-height: 1;
}

.footer-socials .social-link svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
}

.footer-socials .social-link svg path {
	fill: currentColor;
	stroke: none;
}

.sticky-cta {
	display: none;
}

@media (max-width: 1280px) {
	.site-nav {
		position: fixed;
		top: 86px;
		right: 20px;
		left: 20px;
		display: none;
		flex-direction: column;
		align-items: flex-start;
		padding: 22px;
		background: var(--pf-green-deep);
		border: 1px solid var(--pf-soft-line);
		border-radius: var(--pf-radius);
		box-shadow: var(--pf-shadow);
		max-height: calc(100dvh - 110px);
		overflow-y: auto;
	}

	.admin-bar .site-nav {
		top: 118px;
	}

	body.menu-open .site-nav {
		display: flex;
	}

	.menu-toggle {
		display: block;
	}

	.header-actions .btn,
	.header-social,
	.header-phone {
		display: none;
	}

	.direction-grid,
	.project-grid,
	.category-grid,
	.series-grid,
	.feature-grid,
	.layout-grid,
	.material-grid,
	.trust-grid,
	.home-detail-grid,
	.consultation-grid,
	.process-media-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.home-service-grid {
		grid-template-columns: 1fr;
	}

	.home-service-stack {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-service-card.large {
		min-height: 520px;
	}

	.steps-grid,
	.steps-grid.four {
		grid-template-columns: repeat(2, 1fr);
	}

	.story-split,
	.story-split.reverse,
	.material-story-grid,
	.consultation-grid,
	.price-box {
		grid-template-columns: 1fr;
	}

	.story-gallery {
		grid-template-columns: repeat(2, 1fr);
	}

	.catalog-tools {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}

	.admin-bar .site-nav {
		top: 132px;
	}
}

@media (max-width: 760px) {
	body {
		padding-bottom: 78px;
	}

	.container,
	.narrow {
		width: calc(100% - 24px);
	}

	.header-inner {
		min-height: 72px;
		gap: 12px;
	}

	.site-logo {
		font-size: 15px;
		max-width: 160px;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.header-actions {
		gap: 8px;
		font-size: 15px;
	}

	.menu-toggle {
		flex: 0 0 48px;
		width: 48px;
		height: 48px;
	}

	.site-nav {
		top: 76px;
		right: 12px;
		left: 12px;
		max-height: calc(100dvh - 100px);
	}

	.admin-bar .site-nav {
		top: 122px;
		max-height: calc(100dvh - 146px);
	}

	.hero,
	.hero-home,
	.hero-compact,
	.hero-project {
		min-height: 660px;
	}

	.story-hero {
		background:
			linear-gradient(180deg, rgba(14, 18, 15, .86), rgba(14, 18, 15, .44) 46%, rgba(14, 18, 15, .78)),
			var(--hero-image) center / cover;
	}

	.hero-inner {
		padding-top: 108px;
		padding-bottom: 34px;
	}

	h1 {
		margin-bottom: 18px;
		font-size: 42px;
		line-height: 1.02;
	}

	.home-hero h1 {
		font-size: 42px;
	}

	h2 {
		font-size: 34px;
		line-height: 1.08;
	}

	h3 {
		font-size: 22px;
	}

	p {
		line-height: 1.62;
	}

	.hero p {
		font-size: 17px;
		line-height: 1.55;
	}

	.site-main section {
		padding: 56px 0;
	}

	.section-head,
	.solution-grid,
	.split-grid,
	.lead-box,
	.project-intro,
	.contact-grid,
	.details-columns,
	.about-grid,
	.footer-grid,
	.direction-grid,
	.project-grid,
	.category-grid,
	.series-grid,
	.feature-grid,
	.layout-grid,
	.material-grid,
	.trust-grid,
	.home-service-stack,
	.home-detail-grid,
	.consultation-grid,
	.process-media-grid,
	.steps-grid,
	.steps-grid.four,
	.form-grid,
	.spec-grid,
	.gallery-grid,
	.stats-grid,
	.decision-grid,
	.room-measurements,
	.dimension-list,
	.storage-grid,
	.story-gallery {
		grid-template-columns: 1fr;
	}

	.section-head {
		align-items: start;
		gap: 16px;
		margin-bottom: 26px;
	}

	.section-head p {
		font-size: 15px;
	}

	.color-variant-strip {
		padding: 18px 0 !important;
	}

	.variant-panel {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.variant-panel h2 {
		font-size: 26px;
	}

	.variant-options {
		justify-content: flex-start;
		gap: 8px;
	}

	.variant-option {
		min-height: 42px;
		padding-right: 12px;
		font-size: 13px;
	}

	.variant-swatch {
		width: 26px;
		height: 26px;
	}

	.hero-actions {
		gap: 10px;
		margin-top: 24px;
	}

	.hero-actions .btn {
		width: 100%;
		max-width: 320px;
		min-height: 52px;
	}

	.story-split {
		gap: 26px;
	}

	.story-media {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.story-media img {
		min-height: 0;
		height: 100%;
	}

	.story-media .media-slider,
	.story-media .media-slider-track,
	.story-media .media-slide,
	.story-media .media-slide img {
		min-height: 0;
		height: 100%;
	}

	.section-media-slider .media-slider {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.media-slider-ui {
		right: 10px;
		bottom: 10px;
	}

	.media-slider-arrow {
		width: 32px;
		height: 32px;
	}

	.plan-media,
	.sketch-media,
	.drawing-media {
		background: #f8f6f1;
	}

	.plan-media img,
	.sketch-media img,
	.drawing-media img {
		object-fit: contain;
		padding: 8px;
	}

	.visual-placeholder,
	.room-plan-diagram,
	.idea-diagram,
	.drawing-placeholder {
		min-height: 300px;
		padding: 24px;
	}

	.room-plan-diagram {
		border-width: 14px;
	}

	.room-plan-diagram::before {
		inset: 38px;
	}

	.room-window,
	.room-door,
	.room-water {
		min-width: 72px;
		padding: 6px 8px;
		font-size: 12px;
	}

	.room-window {
		top: 22px;
	}

	.room-door {
		right: 18px;
		bottom: 62px;
	}

	.room-water {
		left: 20px;
		bottom: 28px;
	}

	.story-gallery img.large {
		grid-column: 1 / -1;
		grid-row: auto;
		aspect-ratio: 4 / 3;
	}

	.story-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.story-gallery img {
		aspect-ratio: 1 / 1;
	}

	.tone-switch,
	.price-number {
		align-items: flex-start;
		flex-direction: column;
	}

	.before-after {
		aspect-ratio: 3 / 4;
	}

	.compare-label {
		top: 12px;
		padding: 7px 10px;
		font-size: 12px;
	}

	.compare-label.before {
		left: 12px;
	}

	.compare-label.after {
		right: 12px;
	}

	.direction-card {
		min-height: 420px;
	}

	.home-service-card,
	.home-service-card.large {
		min-height: 380px;
	}

	.home-service-card div {
		right: 20px;
		bottom: 20px;
		left: 20px;
	}

	.home-service-card.large h3 {
		font-size: 30px;
	}

	.home-path-grid .solution-card,
	.home-detail-grid div {
		min-height: 0;
	}

	.developer-entry {
		grid-template-columns: 1fr;
		padding: 22px 18px;
	}

	.developer-entry .developer-tags {
		justify-content: flex-start;
		margin-right: -18px;
	}

	.home-detail-grid div {
		padding: 20px;
	}

	.home-detail-grid span {
		margin-bottom: 18px;
	}

	.home-detail-grid h3 {
		font-size: 21px;
	}

	.lead-copy,
	.pf-lead-form,
	.contact-form-panel {
		padding: 24px;
	}

	.lead-box {
		box-shadow: 0 14px 36px rgba(20, 25, 21, .1);
	}

	.lead-next-steps {
		gap: 10px;
		margin-top: 24px;
		padding-top: 20px;
	}

	.lead-next-steps span {
		font-size: 13px;
	}

	input,
	select,
	textarea {
		min-height: 48px;
		padding: 13px 14px;
	}

	textarea {
		min-height: 128px;
	}

	input[type="file"] {
		font-size: 13px;
	}

	.hero-points {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin-top: 28px;
		padding-top: 18px;
	}

	.home-hero .hero-points {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hero-points div {
		min-width: 0;
	}

	.hero-points strong {
		font-family: Inter, Arial, sans-serif;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.25;
		overflow-wrap: anywhere;
	}

	.tag-row,
	.color-tags {
		gap: 8px;
	}

	.tag-row span,
	.color-tags span,
	.project-meta span {
		min-height: 34px;
		padding: 0 12px;
		font-size: 13px;
	}

	.developer-tags {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 4px;
		scrollbar-width: thin;
	}

	.tag-row a.developer-chip {
		min-height: 52px;
		flex: 0 0 auto;
		gap: 10px;
		padding: 8px 15px 8px 11px;
		font-size: 15px;
	}

	.tag-row a.developer-chip .developer-chip-logo {
		width: 54px;
		height: 30px;
		flex-basis: 54px;
	}

	.tag-row a.developer-chip.has-logo .developer-chip-name {
		font-size: 15px;
	}

	.room-measurements {
		gap: 10px;
		margin-top: 22px;
	}

	.room-measurements span,
	.storage-grid div {
		padding: 12px 14px;
	}

	.decision-grid {
		gap: 10px;
	}

	.decision-grid div {
		padding: 18px;
	}

	.decision-grid h3 {
		font-size: 20px;
	}

	.story-wide-media {
		margin-top: 26px;
	}

	.story-wide-media img {
		aspect-ratio: 4 / 3;
	}

	.dimension-list {
		gap: 12px;
		margin: 20px 0;
	}

	.dimension-list strong {
		font-size: 23px;
	}

	.material-story-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.material-story-grid div {
		min-height: 0;
		padding: 18px;
	}

	.material-story-grid span {
		margin-bottom: 18px;
	}

	.material-story-grid h3 {
		font-size: 18px;
	}

	.material-story-grid p {
		font-size: 13px;
		line-height: 1.45;
	}

	.tone-switch {
		gap: 12px;
		margin-top: 18px;
		padding-top: 18px;
	}

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

	.storage-grid div {
		display: flex;
		align-items: center;
		min-height: 54px;
		font-size: 13px;
	}

	.consultation-grid {
		gap: 10px;
	}

	.faq-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.faq-grid summary {
		min-height: 64px;
		padding: 18px 54px 18px 18px;
		font-size: 21px;
	}

	.faq-grid summary::after {
		right: 18px;
	}

	.faq-grid p {
		margin: -2px 18px 18px;
		font-size: 14px;
	}

	.consultation-grid div {
		min-height: 0;
		padding: 18px;
	}

	.consultation-grid span {
		margin-bottom: 18px;
	}

	.consultation-grid h3 {
		font-size: 20px;
	}

	.consultation-grid p {
		font-size: 13px;
	}

	.price-box {
		gap: 24px;
	}

	.price-number {
		padding: 20px;
	}

	.price-number span {
		font-size: 30px;
	}

	.price-number .btn {
		width: 100%;
	}

	.about-image {
		height: 430px;
	}

	.site-footer {
		padding: 44px 0 88px;
	}

	.footer-grid {
		gap: 22px;
	}

	.sticky-cta {
		position: fixed;
		right: auto;
		bottom: 12px;
		left: 50%;
		z-index: 60;
		display: flex;
		align-items: center;
		justify-content: center;
		width: calc(100% - 24px);
		max-width: 430px;
		min-height: 50px;
		border-radius: var(--pf-radius);
		background: var(--pf-green);
		color: #fff;
		font-size: 15px;
		font-weight: 700;
		box-shadow: var(--pf-shadow);
		transform: translateX(-50%);
		transition: opacity .2s ease, transform .2s ease;
	}

	.sticky-cta.is-hidden {
		opacity: 0;
		pointer-events: none;
		transform: translateX(-50%) translateY(18px);
	}
}

@media (max-width: 480px) {
	.container,
	.narrow {
		width: calc(100% - 28px);
	}

	.site-logo {
		max-width: 145px;
		font-size: 14px;
	}

	.header-actions {
		font-size: 14px;
	}

	.hero,
	.hero-home,
	.hero-compact,
	.hero-project {
		min-height: 640px;
	}

	.hero-inner {
		padding-top: 96px;
		padding-bottom: 32px;
	}

	h1 {
		font-size: 38px;
	}

	.home-hero h1 {
		font-size: 38px;
	}

	h2 {
		font-size: 31px;
	}

	.site-main section {
		padding: 50px 0;
	}

	.lead-copy,
	.pf-lead-form,
	.contact-form-panel {
		padding: 20px;
	}

	.material-story-grid h3 {
		font-size: 17px;
	}
}

@media (max-width: 380px) {
	.site-logo {
		max-width: 132px;
	}

	h1 {
		font-size: 35px;
	}

	h2 {
		font-size: 29px;
	}

	.hero-points strong {
		font-size: 13px;
	}

	.material-story-grid,
	.storage-grid {
		grid-template-columns: 1fr;
	}
}

/* Project page final polish */
body {
	font-size: 17px;
	line-height: 1.6;
}

p {
	line-height: 1.62;
}

h2 {
	font-size: 46px;
	line-height: 1.06;
}

.site-main section {
	padding: 78px 0;
}

.story-hero {
	min-height: clamp(580px, 68vh, 660px);
	background:
		linear-gradient(90deg, rgba(14, 18, 15, .58), rgba(14, 18, 15, .16)),
		var(--hero-image) center / cover;
}

.hero-inner {
	padding-bottom: 58px;
}

.hero p,
.story-copy p,
.section-head p,
.price-section p,
.lead-copy p {
	font-size: 17px;
}

.project-summary-strip {
	padding: 18px 0 !important;
	background: rgba(255, 255, 255, .72);
	border-bottom: 1px solid var(--pf-line);
}

.project-summary-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.project-summary-badges,
.project-summary-variants {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.project-summary-badges {
	flex: 1 1 460px;
}

.project-summary-variants {
	flex: 0 1 620px;
	justify-content: flex-end;
	align-items: center;
}

.project-summary-badges span {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 14px;
	border: 1px solid var(--pf-line);
	border-radius: 999px;
	background: rgba(255, 255, 255, .7);
	color: var(--pf-ink);
	font-size: 14px;
	font-weight: 700;
}

.project-summary-variants > strong,
.tone-switch > strong {
	color: var(--pf-muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.project-summary-variants > strong {
	flex: 0 0 auto;
	text-align: right;
}

.variant-option {
	min-height: 58px;
}

.variant-option:hover {
	border-color: rgba(38, 54, 45, .38);
	background: #fff;
	transform: translateY(-1px);
}

.variant-option.active {
	background: #fff;
	border-color: rgba(31, 59, 47, .62);
	box-shadow: inset 0 0 0 1px rgba(31, 59, 47, .62), 0 14px 34px rgba(20, 25, 21, .11);
}

.story-split {
	gap: 52px;
}

.story-media,
.media-slider,
.media-slider-track,
.media-slide {
	min-height: 420px;
}

.story-media,
.story-wide-media .media-slider,
.section-media-slider .media-slider,
.before-after,
.story-gallery img {
	border-radius: var(--pf-radius);
	border: 1px solid rgba(32, 35, 31, .12);
}

[data-lightbox-src] {
	cursor: zoom-in;
}

.story-media img,
.story-gallery img,
.media-slide img {
	transition: transform .28s ease, opacity .24s ease;
}

.story-gallery img:hover {
	transform: scale(1.025);
}

.room-measurements span,
.storage-group,
.material-story-grid div,
.consultation-grid div,
.decision-grid div,
.project-card {
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
	box-shadow: none;
}

.decision-grid div {
	min-height: 150px;
	padding: 26px;
}

.decision-grid span {
	display: inline-block;
	margin-bottom: 18px;
	color: var(--pf-accent);
	font-size: 12px;
	font-weight: 800;
}

.decision-grid p {
	font-size: 15px;
	line-height: 1.5;
}

.btn-secondary {
	background: transparent;
	border-color: rgba(38, 54, 45, .38);
	color: var(--pf-green);
}

.btn-secondary:hover {
	background: rgba(38, 54, 45, .06);
}

.before-after {
	box-shadow: 0 18px 42px rgba(20, 25, 21, .1);
}

.compare-handle {
	width: 3px;
	background: rgba(255, 255, 255, .98);
}

.compare-label {
	min-height: 34px;
	font-size: 14px;
}

.solved-section {
	background: var(--pf-bg);
}

.solved-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--pf-line);
	border-bottom: 1px solid var(--pf-line);
}

.solved-list div {
	padding: 28px 24px;
	border-right: 1px solid var(--pf-line);
}

.solved-list div:last-child {
	border-right: 0;
}

.solved-list span {
	display: inline-block;
	margin-bottom: 22px;
	color: var(--pf-accent);
	font-size: 12px;
	font-weight: 800;
}

.solved-list h3 {
	font-size: 26px;
}

.solved-list p {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

.story-gallery {
	gap: 14px;
	overflow: hidden;
}

.story-gallery img {
	background: var(--pf-stone);
}

.material-story-grid div {
	position: relative;
	min-height: 186px;
	padding: 24px;
	background: rgba(255, 255, 255, .72);
}

.material-story-grid span {
	margin-bottom: 22px;
}

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

.storage-section-head {
	align-items: end;
}

.storage-section-head p {
	max-width: 560px;
}

.storage-group {
	min-height: 250px;
	padding: 26px;
	background: rgba(255, 255, 255, .62);
}

.storage-group h3 {
	font-size: 24px;
}

.storage-group ul {
	display: grid;
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.storage-group li {
	position: relative;
	padding-left: 18px;
	color: var(--pf-muted);
	font-size: 15px;
	line-height: 1.45;
}

.storage-group li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .68em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--pf-accent);
}

.consultation-grid div {
	min-height: 210px;
}

.project-trustbar {
	padding: 22px 0 !important;
}

.price-section p {
	max-width: 680px;
}

.price-number .btn {
	min-width: 190px;
}

.pf-lead-form input,
.pf-lead-form select {
	min-height: 48px;
}

.file-drop {
	position: relative;
	display: grid !important;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 10px;
	min-height: 58px;
	padding: 10px;
	border: 1px dashed rgba(38, 54, 45, .28);
	border-radius: var(--pf-radius);
	background: #fbfaf7;
	color: var(--pf-ink) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease;
}

.file-drop input[type="file"] {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.file-drop-ui {
	display: grid !important;
	gap: 3px;
	color: var(--pf-ink) !important;
	text-transform: none !important;
}

.file-drop-ui strong {
	font-size: 14px;
}

.file-drop-ui small {
	color: var(--pf-muted);
	font-size: 12px;
	font-weight: 500;
	text-transform: none;
}

.file-drop.has-file,
.file-drop.is-dragging {
	border-color: var(--pf-green);
	background: #fff;
}

.file-remove {
	position: relative;
	z-index: 2;
	min-height: 36px;
	padding: 0 12px;
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
	background: #fff;
	color: var(--pf-green);
	font-size: 13px;
	cursor: pointer;
}

.pf-lightbox {
	position: fixed;
	z-index: 10000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 64px;
	background: rgba(9, 13, 11, .88);
	opacity: 1;
	transition: opacity .2s ease;
}

.pf-lightbox[hidden] {
	display: none;
}

.lightbox-open {
	overflow: hidden;
}

.pf-lightbox img {
	width: auto;
	max-width: min(1200px, 88vw);
	height: auto;
	max-height: 82vh;
	border-radius: var(--pf-radius);
	box-shadow: 0 22px 70px rgba(0, 0, 0, .34);
	object-fit: contain;
}

.pf-lightbox-close,
.pf-lightbox-nav {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 50%;
	background: rgba(255, 255, 255, .1);
	color: #fff;
	cursor: pointer;
}

.pf-lightbox-close {
	top: 24px;
	right: 24px;
	width: 46px;
	height: 46px;
	font-size: 30px;
}

.pf-lightbox-nav {
	top: 50%;
	width: 54px;
	height: 54px;
	font-size: 42px;
	transform: translateY(-50%);
}

.pf-lightbox-prev {
	left: 28px;
}

.pf-lightbox-next {
	right: 28px;
}

.pf-lightbox-caption {
	position: absolute;
	right: 24px;
	bottom: 22px;
	left: 24px;
	color: rgba(255, 255, 255, .78);
	font-size: 14px;
	text-align: center;
}

@media (max-width: 1024px) {
	.project-summary-panel {
		align-items: flex-start;
		flex-direction: column;
	}

	.project-summary-variants {
		justify-content: flex-start;
	}

	.project-summary-variants > strong {
		text-align: left;
	}

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

	.solved-list div:nth-child(2n) {
		border-right: 0;
	}

	.solved-list div:nth-child(-n + 2) {
		border-bottom: 1px solid var(--pf-line);
	}

	.storage-group-grid {
		grid-template-columns: 1fr;
	}

	.storage-section-head {
		align-items: start;
	}
}

@media (max-width: 760px) {
	body {
		font-size: 16px;
	}

	.site-main section {
		padding: 50px 0;
	}

	.story-hero {
		min-height: 620px;
		background:
			linear-gradient(180deg, rgba(14, 18, 15, .76), rgba(14, 18, 15, .38) 46%, rgba(14, 18, 15, .72)),
			var(--hero-image) center / cover;
	}

	h2 {
		font-size: 33px;
	}

	.hero p,
	.story-copy p,
	.section-head p,
	.price-section p,
	.lead-copy p {
		font-size: 16px;
	}

	.project-summary-badges {
		display: grid;
		width: 100%;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.project-summary-variants {
		width: 100%;
	}

	.project-summary-badges span {
		justify-content: center;
		min-width: 0;
		text-align: center;
	}

	.story-media,
	.media-slider,
	.media-slider-track,
	.media-slide {
		min-height: 0;
	}

	.solved-list {
		grid-template-columns: 1fr;
	}

	.solved-list div,
	.solved-list div:nth-child(2n),
	.solved-list div:nth-child(-n + 2) {
		border-right: 0;
		border-bottom: 1px solid var(--pf-line);
	}

	.solved-list div:last-child {
		border-bottom: 0;
	}

	.file-drop {
		grid-template-columns: 1fr;
	}

	.pf-lightbox {
		padding: 52px 14px;
	}

	.pf-lightbox img {
		max-width: 100%;
		max-height: 78vh;
	}

	.pf-lightbox-nav {
		width: 44px;
		height: 44px;
		font-size: 34px;
	}

	.pf-lightbox-prev {
		left: 12px;
	}

	.pf-lightbox-next {
		right: 12px;
	}
}

@media (max-width: 480px) {
	.project-summary-badges {
		grid-template-columns: 1fr;
	}

	.compare-label {
		top: 12px;
		max-width: calc(50% - 20px);
		font-size: 12px;
	}
}

/* Single project mobile polish */
@media (max-width: 760px) {
	body.single-pf_project {
		padding-bottom: 72px;
	}

	body.single-pf_project .site-main section {
		padding: 44px 0;
	}

	body.single-pf_project .story-hero {
		min-height: 520px;
		background-position: center;
	}

	body.single-pf_project .story-hero .hero-inner {
		padding-top: 98px;
		padding-bottom: 26px;
	}

	body.single-pf_project .story-hero h1 {
		margin-bottom: 14px;
		font-size: 36px;
	}

	body.single-pf_project .story-hero .hero-actions {
		margin-top: 20px;
	}

	body.single-pf_project .story-hero .hero-points {
		margin-top: 22px;
		gap: 8px;
	}

	body.single-pf_project .project-summary-strip {
		padding: 10px 0 !important;
		overflow: hidden;
	}

	body.single-pf_project .project-summary-panel {
		gap: 8px;
	}

	body.single-pf_project .tone-switch .variant-options,
	body.single-pf_project .tone-switch .color-tags {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		width: calc(100% + 12px);
		margin-right: -12px;
		padding: 0 12px 5px 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
	}

	body.single-pf_project .project-summary-badges {
		display: none;
		flex: 0 0 auto;
	}

	body.single-pf_project .project-summary-variants {
		display: flex;
		align-items: center;
		flex-wrap: nowrap;
		justify-content: flex-start;
		width: calc(100% + 12px);
		margin: 0 -12px 0 0;
		padding: 0 12px 4px 0;
		gap: 8px;
		flex: 0 0 auto;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
	}

	body.single-pf_project .project-summary-badges span,
	body.single-pf_project .project-summary-variants > strong,
	body.single-pf_project .tone-switch > strong,
	body.single-pf_project .variant-option,
	body.single-pf_project .color-tags span {
		flex: 0 0 auto;
	}

	body.single-pf_project .project-summary-badges span,
	body.single-pf_project .variant-option,
	body.single-pf_project .color-tags span {
		min-height: 34px;
		padding: 0 11px;
		font-size: 12px;
		white-space: nowrap;
		scroll-snap-align: start;
	}

	body.single-pf_project .project-summary-variants .variant-option {
		justify-content: flex-start;
		width: auto;
		min-height: 34px;
	}

	body.single-pf_project .variant-option {
		padding: 4px 11px 4px 7px;
	}

	body.single-pf_project .variant-swatch,
	body.single-pf_project .color-tag-swatch {
		width: 22px;
		height: 22px;
		flex-basis: 22px;
	}

	body.single-pf_project .project-summary-variants > strong,
	body.single-pf_project .tone-switch > strong {
		align-self: center;
		white-space: nowrap;
	}

	body.single-pf_project .project-summary-variants > strong {
		text-align: left;
	}

	body.single-pf_project .project-summary-strip {
		padding: 12px 0 14px !important;
		background: #f8f4ef;
	}

	body.single-pf_project .project-summary-variants {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
		margin: 0;
		padding: 0;
		gap: 10px;
		overflow: visible;
	}

	body.single-pf_project .project-summary-variants > strong {
		align-self: flex-start;
		color: var(--pf-accent);
		font-size: 11px;
		letter-spacing: .04em;
	}

	body.single-pf_project .project-summary-variants .variant-options {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: minmax(168px, max-content);
		justify-content: flex-start;
		width: calc(100% + 14px);
		margin-right: -14px;
		padding: 0 14px 4px 0;
		gap: 10px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
	}

	body.single-pf_project .project-summary-variants .variant-option {
		justify-content: flex-start;
		width: auto;
		min-width: 168px;
		min-height: 62px;
		padding: 8px 13px 8px 8px;
		border-radius: 16px;
		background: rgba(255, 255, 255, .9);
		font-size: 13px;
		white-space: normal;
		scroll-snap-align: start;
	}

	body.single-pf_project .project-summary-variants .variant-swatch {
		width: 52px;
		height: 34px;
		flex-basis: 52px;
		border-radius: 12px;
	}

	body.single-pf_project .project-summary-variants .variant-option span:last-child {
		display: block;
		max-width: 118px;
	}

	body.single-pf_project .section-head {
		margin-bottom: 22px;
	}

	body.single-pf_project .story-split,
	body.single-pf_project .story-split.reverse {
		gap: 22px;
	}

	body.single-pf_project .story-copy .eyebrow {
		margin-bottom: 10px;
	}

	body.single-pf_project .story-copy p {
		margin-bottom: 0;
	}

	body.single-pf_project .story-media {
		aspect-ratio: 4 / 3;
	}

	body.single-pf_project .room-measurements {
		margin-top: 18px;
	}

	body.single-pf_project .room-measurements span {
		min-height: 48px;
	}

	body.single-pf_project .dimension-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin: 18px 0;
	}

	body.single-pf_project .dimension-list strong {
		font-size: 22px;
	}

	body.single-pf_project .solved-list,
	body.single-pf_project .consultation-grid {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: minmax(220px, 78vw);
		gap: 10px;
		padding-bottom: 8px;
		overflow-x: auto;
		border: 0;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
	}

	body.single-pf_project .solved-list div,
	body.single-pf_project .solved-list div:nth-child(2n),
	body.single-pf_project .solved-list div:nth-child(-n + 2),
	body.single-pf_project .consultation-grid div {
		min-height: 0;
		padding: 18px;
		border: 1px solid var(--pf-line);
		border-radius: var(--pf-radius);
		background: rgba(255, 255, 255, .62);
		scroll-snap-align: start;
	}

	body.single-pf_project .solved-list span,
	body.single-pf_project .consultation-grid span {
		margin-bottom: 12px;
	}

	body.single-pf_project .solved-list h3,
	body.single-pf_project .consultation-grid h3 {
		font-size: 20px;
	}

	body.single-pf_project .solved-list p,
	body.single-pf_project .consultation-grid p {
		font-size: 14px;
		line-height: 1.5;
	}

	body.single-pf_project .story-gallery {
		gap: 8px;
	}

	body.single-pf_project .story-gallery img,
	body.single-pf_project .story-gallery img.large {
		aspect-ratio: 4 / 3;
	}

	body.single-pf_project .material-story-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	body.single-pf_project .material-story-grid div {
		min-height: 0;
		padding: 16px;
	}

	body.single-pf_project .material-story-grid span {
		margin-bottom: 14px;
	}

	body.single-pf_project .material-story-grid h3 {
		font-size: 17px;
		line-height: 1.18;
	}

	body.single-pf_project .material-story-grid p {
		font-size: 13px;
		line-height: 1.42;
	}

	body.single-pf_project .tone-switch {
		gap: 10px;
		margin-top: 16px;
		padding-top: 16px;
	}

	body.single-pf_project .storage-group-grid {
		gap: 10px;
	}

	body.single-pf_project .storage-group {
		min-height: 0;
		padding: 18px;
	}

	body.single-pf_project .storage-group h3 {
		margin-bottom: 8px;
		font-size: 20px;
	}

	body.single-pf_project .storage-group ul {
		gap: 7px;
		margin-top: 12px;
	}

	body.single-pf_project .storage-group li {
		font-size: 14px;
		line-height: 1.42;
	}

	body.single-pf_project .project-trustbar {
		padding: 16px 0 !important;
	}

	body.single-pf_project .project-trustbar .trust-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	body.single-pf_project .project-trustbar .trust-grid div {
		padding-left: 12px;
	}

	body.single-pf_project .project-trustbar .trust-grid strong {
		font-size: 17px;
		line-height: 1.2;
	}

	body.single-pf_project .project-trustbar .trust-grid span {
		font-size: 12px;
		line-height: 1.45;
	}

	body.single-pf_project .price-box {
		gap: 18px;
	}

	body.single-pf_project .price-section h2,
	body.single-pf_project .lead-copy h2 {
		font-size: 30px;
	}

	body.single-pf_project .price-number {
		gap: 14px;
		padding: 18px;
	}

	body.single-pf_project .price-number span {
		font-size: 25px;
	}

	body.single-pf_project .lead-box {
		box-shadow: 0 12px 34px rgba(20, 25, 21, .1);
	}

	body.single-pf_project .lead-copy,
	body.single-pf_project .pf-lead-form {
		padding: 20px;
	}

	body.single-pf_project .form-grid {
		gap: 10px;
	}

	body.single-pf_project .file-drop {
		min-height: 54px;
	}

	body.single-pf_project .sticky-cta {
		bottom: max(10px, env(safe-area-inset-bottom));
		min-height: 48px;
	}
}

@media (max-width: 360px) {
	body.single-pf_project .material-story-grid,
	body.single-pf_project .project-trustbar .trust-grid {
		grid-template-columns: 1fr;
	}

	body.single-pf_project .project-summary-variants .variant-options {
		grid-auto-columns: minmax(154px, max-content);
	}

	body.single-pf_project .project-summary-variants .variant-option {
		min-width: 154px;
	}

	body.single-pf_project .project-summary-variants .variant-swatch {
		width: 46px;
		flex-basis: 46px;
	}
}

/* Mobile rhythm polish for the main sales pages. */
@media (max-width: 760px) {
	.site-main section {
		padding: 44px 0;
	}

	.hero,
	.hero-home,
	.hero-compact {
		min-height: 600px;
	}

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

	.hero-inner {
		padding-top: 96px;
		padding-bottom: 34px;
	}

	.hero-actions {
		gap: 10px;
		margin-top: 22px;
	}

	.hero-actions .btn {
		width: auto;
		min-width: min(100%, 220px);
		max-width: 100%;
		min-height: 50px;
		padding: 0 20px;
	}

	.hero-points,
	.home-hero .hero-points,
	.trust-grid,
	.home-detail-grid,
	.consultation-grid,
	.steps-grid,
	.steps-grid.four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hero-points {
		gap: 12px;
		margin-top: 24px;
		padding-top: 18px;
	}

	.hero-points strong {
		font-size: 14px;
		line-height: 1.22;
	}

	.hero-points span {
		font-size: 12px;
		line-height: 1.35;
	}

	.trustbar {
		padding: 28px 0;
	}

	.trust-grid {
		gap: 14px 12px;
	}

	.trust-grid div {
		padding-left: 12px;
	}

	.trust-grid strong {
		font-size: 20px;
		line-height: 1.12;
	}

	.trust-grid span {
		margin-top: 5px;
		font-size: 12px;
		line-height: 1.42;
	}

	.home-service-grid,
	.home-service-stack {
		gap: 10px;
	}

	.kitchen-entry-grid,
	.developer-select-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.kitchen-entry-card {
		min-height: 0;
		padding: 20px;
	}

	.kitchen-entry-card strong {
		margin-top: 16px;
	}

	.developer-select-grid {
		margin-bottom: 30px;
	}

	.developer-select-card {
		min-height: 92px;
		flex-direction: row;
		justify-content: flex-start;
		padding: 16px;
		text-align: left;
	}

	.developer-select-logo {
		width: 88px;
		height: 46px;
		flex: 0 0 88px;
	}

	.developer-select-initial {
		width: 44px;
		height: 44px;
		flex: 0 0 44px;
		font-size: 20px;
	}

	.branch-empty {
		padding: 20px;
	}

	.home-service-card,
	.home-service-card.large {
		min-height: 320px;
	}

	.home-service-card.large {
		min-height: 350px;
	}

	.home-service-card div {
		right: 18px;
		bottom: 18px;
		left: 18px;
	}

	.home-service-card small {
		margin-bottom: 8px;
	}

	.home-service-card h3 {
		font-size: 23px;
		line-height: 1.08;
	}

	.home-service-card.large h3 {
		font-size: 27px;
	}

	.home-service-card p {
		font-size: 14px;
		line-height: 1.45;
	}

	.home-service-card span {
		margin-top: 8px;
		padding-top: 8px;
		font-size: 13px;
	}

	.home-path-grid .solution-card {
		min-height: 0;
		padding: 22px;
	}

	.developer-entry {
		gap: 18px;
		margin-top: 12px;
		padding: 20px 16px;
	}

	.developer-entry h3 {
		font-size: 24px;
	}

	.home-detail-grid,
	.consultation-grid,
	.steps-grid,
	.steps-grid.four {
		gap: 10px;
	}

	.home-detail-grid div,
	.consultation-grid div {
		min-height: 0;
		padding: 16px;
	}

	.home-detail-grid span,
	.consultation-grid span,
	.steps-grid span {
		margin-bottom: 12px;
	}

	.home-detail-grid h3,
	.consultation-grid h3 {
		font-size: 18px;
		line-height: 1.15;
	}

	.home-detail-grid p,
	.consultation-grid p {
		font-size: 13px;
		line-height: 1.45;
	}

	.steps-grid {
		gap: 14px 10px;
		margin-top: 28px;
		padding-top: 20px;
	}

	.steps-grid h3 {
		font-size: 18px;
		line-height: 1.18;
	}

	.steps-grid p {
		font-size: 13px;
		line-height: 1.45;
	}

	.faq-grid summary {
		min-height: 56px;
		padding: 16px 48px 16px 16px;
		font-size: 18px;
	}

	.faq-grid p {
		margin: -2px 16px 16px;
	}

	.catalog-tools {
		gap: 10px;
		margin-bottom: 18px;
	}

	.catalog-filter-groups {
		gap: 10px;
	}

	.filter-group,
	.catalog-side-filters {
		padding: 10px;
	}

	.filter-buttons {
		gap: 7px;
	}

	.filter-btn {
		min-height: 38px;
		padding: 0 12px;
		font-size: 13px;
	}

	.catalog-side-filters {
		grid-template-columns: 1fr;
	}

	.catalog-side-filters select,
	.catalog-side-filters input {
		min-height: 46px;
	}

	.project-grid {
		gap: 14px;
	}

	.lead-copy,
	.pf-lead-form,
	.contact-form-panel {
		padding: 20px;
	}

	.site-footer {
		padding: 36px 0 86px;
	}
}

@media (max-width: 480px) {
	.hero,
	.hero-home,
	.hero-compact {
		min-height: 570px;
	}

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

	.hero-inner {
		padding-top: 88px;
		padding-bottom: 28px;
	}

	h1,
	.home-hero h1 {
		font-size: 34px;
		line-height: 1.04;
	}

	h2 {
		font-size: 29px;
	}

	.site-main section {
		padding: 38px 0;
	}

	.hero-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.hero-actions .btn {
		width: 100%;
		max-width: none;
	}

	.home-service-card,
	.home-service-card.large {
		min-height: 300px;
	}

	.home-service-card.large h3 {
		font-size: 25px;
	}

	.home-service-card p {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	.home-detail-grid div,
	.consultation-grid div {
		padding: 14px;
	}

	.home-detail-grid h3,
	.consultation-grid h3,
	.steps-grid h3 {
		font-size: 17px;
	}

	.home-detail-grid p,
	.consultation-grid p,
	.steps-grid p {
		font-size: 12px;
	}

	.developer-entry .developer-tags {
		margin-right: -16px;
	}

	.tag-row a.developer-chip {
		min-height: 48px;
		padding: 7px 13px 7px 9px;
		font-size: 14px;
	}

	.tag-row a.developer-chip .developer-chip-logo {
		width: 60px;
		height: 34px;
		flex-basis: 60px;
	}
}

@media (max-width: 360px) {
	.trust-grid,
	.home-detail-grid,
	.consultation-grid,
	.steps-grid,
	.steps-grid.four {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	body.single-pf_project .consultation-grid {
		grid-template-columns: none;
	}

	body.single-pf_project .before-after {
		aspect-ratio: 1 / 1;
		touch-action: none;
		user-select: none;
	}

	body.single-pf_project .before-after .compare-before {
		inset: 0;
		width: 100%;
		height: 100%;
	}

	body.single-pf_project .compare-after-wrap {
		inset: auto 0 0;
		width: 100%;
		height: 50%;
	}

	body.single-pf_project .compare-after {
		inset: auto 0 0;
		width: var(--compare-width, 100%);
		height: var(--compare-height, 100%);
	}

	body.single-pf_project .before-after input {
		cursor: ns-resize;
		pointer-events: none;
	}

	body.single-pf_project .compare-handle {
		top: 50%;
		right: 0;
		bottom: auto;
		left: 0;
		width: auto;
		height: 44px;
		background:
			linear-gradient(
				180deg,
				transparent 0,
				transparent calc(50% - 1px),
				rgba(255, 255, 255, .98) calc(50% - 1px),
				rgba(255, 255, 255, .98) calc(50% + 1px),
				transparent calc(50% + 1px)
			);
		box-shadow: none;
		cursor: ns-resize;
		pointer-events: auto;
		transform: translateY(-50%);
	}

	body.single-pf_project .compare-handle::before {
		width: 44px;
		height: 44px;
	}

	body.single-pf_project .compare-handle::before,
	body.single-pf_project .compare-handle::after {
		z-index: 1;
	}

	body.single-pf_project .compare-handle::after {
		width: 18px;
		height: 8px;
		border-top: 2px solid var(--pf-green);
		border-right: 0;
		border-bottom: 2px solid var(--pf-green);
		border-left: 0;
	}

	body.single-pf_project .compare-label.before {
		top: 14px;
		left: 14px;
	}

	body.single-pf_project .compare-label.after {
		top: auto;
		right: 14px;
		bottom: 14px;
	}

	body.single-pf_project .decision-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	body.single-pf_project .decision-grid div {
		min-height: 0;
		padding: 16px;
	}

	body.single-pf_project .decision-grid span {
		margin-bottom: 12px;
	}

	body.single-pf_project .decision-grid h3 {
		font-size: 18px;
		line-height: 1.18;
	}

	body.single-pf_project .decision-grid p {
		font-size: 13px;
		line-height: 1.45;
	}
}

@media (max-width: 360px) {
	body.single-pf_project .decision-grid {
		grid-template-columns: 1fr;
	}
}

/* Mobile project cards polish */
@media (max-width: 760px) {
	.project-grid {
		gap: 18px;
	}

	.project-card {
		display: flex;
		flex-direction: column;
		overflow: hidden;
		background: #fff;
	}

	.project-image {
		flex: 0 0 auto;
		aspect-ratio: 4 / 3;
		min-height: 0;
	}

	.project-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.project-body {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		padding: 18px;
	}

	.project-body small {
		margin-bottom: 8px;
		font-size: 11px;
		line-height: 1.35;
		overflow-wrap: anywhere;
	}

	.project-body h3 {
		margin-bottom: 10px;
		font-size: 22px;
		line-height: 1.12;
	}

	.project-body h3 a,
	.project-body h3 {
		overflow-wrap: break-word;
	}

	.project-body p {
		display: -webkit-box;
		overflow: hidden;
		margin-bottom: 14px;
		color: var(--pf-muted);
		font-size: 14px;
		line-height: 1.5;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}

	.project-meta {
		gap: 7px;
		margin-top: 0;
		margin-bottom: 14px;
	}

	.project-meta span {
		min-height: 30px;
		padding: 0 10px;
		font-size: 12px;
		line-height: 1;
	}

	.project-card .text-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 42px;
		margin-top: auto;
		padding: 0 14px;
		border-radius: var(--pf-radius);
		background: var(--pf-green);
		color: #fff;
		font-size: 13px;
		line-height: 1.2;
		text-align: center;
	}

	.badge {
		top: 12px;
		left: 12px;
		max-width: calc(100% - 24px);
		padding: 7px 10px;
		font-size: 11px;
		line-height: 1.15;
	}

	.project-card-variants {
		right: 12px;
		bottom: 12px;
		gap: 4px;
		padding: 4px;
		background: rgba(248, 246, 242, .78);
		box-shadow: 0 10px 22px rgba(20, 25, 21, .12);
	}

	.project-card-variant {
		width: 30px;
		height: 30px;
	}

	.project-card-variant span {
		width: 22px;
		height: 22px;
	}

	.section-action {
		width: 100%;
		justify-content: center;
		margin-top: 18px;
	}
}

@media (max-width: 380px) {
	.project-body {
		padding: 16px;
	}

	.project-body h3 {
		font-size: 20px;
	}
}

/* Project finish selector polish */
.project-summary-strip {
	padding: 14px 0 !important;
	background: rgba(250, 247, 243, .94);
}

.project-summary-panel {
	align-items: center;
	gap: 24px;
}

.project-summary-variants {
	display: grid;
	grid-template-columns: auto minmax(0, max-content);
	align-items: center;
	gap: 14px;
}

.project-summary-variants > strong {
	white-space: nowrap;
	text-align: left;
}

.project-summary-variants .variant-options {
	flex-wrap: nowrap;
	gap: 10px;
}

.project-summary-variants .variant-option {
	min-height: 48px;
	padding: 6px 12px 6px 7px;
	border-radius: 14px;
	font-size: 13px;
	white-space: nowrap;
}

.project-summary-variants .variant-swatch {
	width: 44px;
	height: 30px;
	flex-basis: 44px;
	border-radius: 10px;
}

@media (max-width: 760px) {
	body.single-pf_project .project-summary-strip {
		padding: 14px 0 16px !important;
		background: #f8f4ef;
	}

	body.single-pf_project .project-summary-panel {
		display: block;
	}

	body.single-pf_project .project-summary-variants {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		overflow: visible;
	}

	body.single-pf_project .project-summary-variants > strong {
		display: block;
		margin-bottom: 10px;
		color: var(--pf-accent);
		font-size: 11px;
		line-height: 1.2;
		letter-spacing: .04em;
		text-align: left;
	}

	body.single-pf_project .project-summary-variants .variant-options {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 138px;
		justify-content: flex-start;
		width: calc(100% + 14px);
		margin-right: -14px;
		padding: 0 14px 2px 0;
		gap: 10px;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
	}

	body.single-pf_project .project-summary-variants .variant-options::-webkit-scrollbar {
		display: none;
	}

	body.single-pf_project .project-summary-variants .variant-option {
		align-items: stretch;
		flex-direction: column;
		justify-content: flex-start;
		gap: 8px;
		width: 138px;
		min-width: 0;
		min-height: 98px;
		padding: 9px;
		border-radius: 14px;
		font-size: 12px;
		line-height: 1.18;
		white-space: normal;
		scroll-snap-align: start;
	}

	body.single-pf_project .project-summary-variants .variant-swatch {
		width: 100%;
		height: 30px;
		flex: 0 0 30px;
		border-radius: 10px;
	}

	body.single-pf_project .project-summary-variants .variant-option span:last-child {
		display: -webkit-box;
		overflow: hidden;
		max-width: none;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
}

@media (max-width: 380px) {
	body.single-pf_project .project-summary-variants .variant-options {
		grid-auto-columns: 128px;
	}

	body.single-pf_project .project-summary-variants .variant-option {
		width: 128px;
		font-size: 11.5px;
	}
}

/* Keep the desktop finish selector clean; the label is useful only above the mobile rail. */
.project-summary-variants {
	grid-template-columns: minmax(0, max-content);
}

.project-summary-variants > strong {
	display: none;
}

@media (max-width: 760px) {
	body.single-pf_project .project-summary-variants > strong {
		display: block;
	}
}

/* Premium finish selector */
.project-summary-variants .variant-options {
	align-items: center;
	gap: 8px;
	padding: 6px;
	border: 1px solid rgba(158, 143, 134, .22);
	border-radius: 18px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .58)),
		rgba(158, 143, 134, .06);
	box-shadow: 0 18px 46px rgba(32, 28, 25, .08);
}

.project-summary-variants .variant-option {
	gap: 10px;
	min-height: 46px;
	padding: 6px 12px 6px 6px;
	border-color: transparent;
	border-radius: 13px;
	background: transparent;
	box-shadow: none;
	color: #211f1d;
	transition: background .2s ease, box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}

.project-summary-variants .variant-option:hover {
	border-color: rgba(158, 143, 134, .22);
	background: rgba(255, 255, 255, .78);
	box-shadow: 0 8px 22px rgba(32, 28, 25, .07);
}

.project-summary-variants .variant-option.active {
	border-color: rgba(158, 143, 134, .42);
	background:
		linear-gradient(180deg, #fff, rgba(255, 255, 255, .9));
	box-shadow:
		inset 0 0 0 1px rgba(158, 143, 134, .24),
		0 12px 32px rgba(32, 28, 25, .12);
}

.project-summary-variants .variant-option.active::after {
	content: "";
	position: absolute;
	top: 8px;
	right: 8px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--pf-logo);
	box-shadow: 0 0 0 3px rgba(158, 143, 134, .14);
}

.project-summary-variants .variant-swatch {
	position: relative;
	width: 48px;
	height: 32px;
	flex-basis: 48px;
	border: 1px solid rgba(32, 35, 31, .18);
	border-radius: 11px;
	box-shadow:
		inset 0 0 0 3px rgba(255, 255, 255, .34),
		inset 0 -12px 18px rgba(0, 0, 0, .1),
		0 6px 16px rgba(32, 28, 25, .12);
}

.project-summary-variants .variant-swatch::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(115deg, rgba(255, 255, 255, .34), transparent 42%),
		linear-gradient(90deg, transparent 0 48%, rgba(255, 255, 255, .26) 48% 51%, transparent 51%);
	pointer-events: none;
}

@media (max-width: 760px) {
	body.single-pf_project .project-summary-variants .variant-options {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 124px;
		align-items: stretch;
		width: calc(100% + 14px);
		margin-right: -14px;
		padding: 0 14px 2px 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	body.single-pf_project .project-summary-variants .variant-option {
		width: 124px;
		min-height: 90px;
		padding: 8px;
		border: 1px solid rgba(158, 143, 134, .18);
		border-radius: 16px;
		background:
			linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .78)),
			rgba(158, 143, 134, .05);
		box-shadow: 0 10px 28px rgba(32, 28, 25, .07);
	}

	body.single-pf_project .project-summary-variants .variant-option.active {
		border-color: rgba(158, 143, 134, .48);
		box-shadow:
			inset 0 0 0 1px rgba(158, 143, 134, .18),
			0 14px 34px rgba(32, 28, 25, .12);
	}

	body.single-pf_project .project-summary-variants .variant-option.active::after {
		top: 9px;
		right: 9px;
	}

	body.single-pf_project .project-summary-variants .variant-swatch {
		width: 100%;
		height: 34px;
		flex: 0 0 34px;
		border-radius: 12px;
	}

	body.single-pf_project .project-summary-variants .variant-option span:last-child {
		font-size: 12px;
		line-height: 1.16;
	}
}

@media (max-width: 380px) {
	body.single-pf_project .project-summary-variants .variant-options {
		grid-auto-columns: 118px;
	}

	body.single-pf_project .project-summary-variants .variant-option {
		width: 118px;
	}
}

/* Refined finish selector: equal premium swatches without extra marker noise. */
.project-summary-variants .variant-options {
	gap: 10px;
	padding: 7px;
	border-color: rgba(158, 143, 134, .18);
	border-radius: 999px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(247, 243, 239, .86)),
		rgba(158, 143, 134, .06);
	box-shadow: 0 16px 42px rgba(32, 28, 25, .07);
}

.project-summary-variants .variant-option,
.project-summary-variants .variant-option:hover,
.project-summary-variants .variant-option.active {
	min-height: 48px;
	padding: 7px 16px 7px 8px;
	border: 1px solid rgba(158, 143, 134, .22);
	border-radius: 999px;
	background: rgba(255, 255, 255, .72);
	box-shadow: none;
	transform: none;
}

.project-summary-variants .variant-option:hover {
	border-color: rgba(158, 143, 134, .36);
	background: #fff;
	box-shadow: 0 8px 22px rgba(32, 28, 25, .06);
}

.project-summary-variants .variant-option.active {
	border-color: rgba(36, 54, 45, .5);
	background: #fff;
	box-shadow:
		inset 0 0 0 1px rgba(36, 54, 45, .18),
		0 10px 28px rgba(32, 28, 25, .1);
}

.project-summary-variants .variant-option.active::after {
	display: none;
}

.project-summary-variants .variant-swatch {
	width: 42px;
	height: 28px;
	flex-basis: 42px;
	border-radius: 999px;
	box-shadow:
		inset 0 0 0 3px rgba(255, 255, 255, .42),
		inset 0 -10px 18px rgba(0, 0, 0, .12),
		0 5px 13px rgba(32, 28, 25, .12);
}

@media (max-width: 760px) {
	body.single-pf_project .project-summary-variants .variant-options {
		grid-auto-columns: 124px;
		padding: 0 14px 2px 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	body.single-pf_project .project-summary-variants .variant-option,
	body.single-pf_project .project-summary-variants .variant-option:hover,
	body.single-pf_project .project-summary-variants .variant-option.active {
		width: 124px;
		min-height: 88px;
		padding: 8px;
		border-radius: 14px;
		background:
			linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .82)),
			rgba(158, 143, 134, .05);
	}

	body.single-pf_project .project-summary-variants .variant-option.active {
		border-color: rgba(36, 54, 45, .45);
	}

	body.single-pf_project .project-summary-variants .variant-swatch {
		width: 100%;
		height: 32px;
		flex: 0 0 32px;
		border-radius: 11px;
	}
}

/* Finish selector as material samples, not pills. */
.project-summary-variants .variant-options {
	align-items: stretch;
	gap: 12px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.project-summary-variants .variant-option,
.project-summary-variants .variant-option:hover,
.project-summary-variants .variant-option.active {
	align-items: stretch;
	flex-direction: column;
	justify-content: flex-start;
	gap: 8px;
	width: 176px;
	min-height: 82px;
	padding: 8px;
	border: 1px solid rgba(45, 40, 36, .14);
	border-radius: 8px;
	background: rgba(255, 255, 255, .82);
	box-shadow: 0 12px 30px rgba(32, 28, 25, .06);
	color: var(--pf-ink);
	font-size: 13px;
	line-height: 1.18;
	white-space: normal;
}

.project-summary-variants .variant-option:hover {
	border-color: rgba(158, 143, 134, .38);
	background: #fff;
	transform: translateY(-1px);
}

.project-summary-variants .variant-option.active {
	border-color: rgba(158, 143, 134, .48);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .88));
	box-shadow:
		inset 0 3px 0 var(--pf-logo),
		0 16px 34px rgba(32, 28, 25, .1);
}

.project-summary-variants .variant-option.active::after {
	display: none;
}

.project-summary-variants .variant-swatch {
	width: 100%;
	height: 28px;
	flex: 0 0 28px;
	border: 1px solid rgba(32, 35, 31, .16);
	border-radius: 6px;
	box-shadow:
		inset 0 0 0 3px rgba(255, 255, 255, .28),
		inset 0 -10px 18px rgba(0, 0, 0, .1);
}

.project-summary-variants .variant-option span:last-child {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

@media (max-width: 760px) {
	body.single-pf_project .project-summary-variants .variant-options {
		grid-auto-columns: 132px;
		gap: 9px;
	}

	body.single-pf_project .project-summary-variants .variant-option,
	body.single-pf_project .project-summary-variants .variant-option:hover,
	body.single-pf_project .project-summary-variants .variant-option.active {
		width: 132px;
		min-height: 86px;
		padding: 8px;
		border-radius: 8px;
	}

	body.single-pf_project .project-summary-variants .variant-swatch {
		height: 30px;
		flex-basis: 30px;
		border-radius: 6px;
	}

	body.single-pf_project .project-summary-variants .variant-option span:last-child {
		-webkit-line-clamp: 2;
	}
}

@media (max-width: 380px) {
	body.single-pf_project .project-summary-variants .variant-options {
		grid-auto-columns: 124px;
	}

	body.single-pf_project .project-summary-variants .variant-option,
	body.single-pf_project .project-summary-variants .variant-option:hover,
	body.single-pf_project .project-summary-variants .variant-option.active {
		width: 124px;
	}
}

/* Catalog length and related-project rhythm */
.catalog-more {
	display: flex;
	justify-content: center;
	margin-top: 26px;
}

.catalog-load-more[hidden] {
	display: none;
}

.related-projects-section {
	padding: 66px 0 72px;
	border-top: 1px solid rgba(45, 40, 36, .16);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(245, 241, 237, .96)),
		var(--pf-bg);
}

.related-projects-section .section-head {
	align-items: end;
	margin-bottom: 26px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(45, 40, 36, .12);
}

.related-projects-section .section-head h2 {
	font-size: 40px;
}

.related-projects-section .section-head p {
	max-width: 520px;
	margin-bottom: 0;
	font-size: 15px;
}

.related-projects-link {
	margin-top: 10px;
	font-size: 14px;
}

.related-project-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.related-project-grid .project-card {
	display: grid;
	grid-template-rows: auto 1fr;
	background: rgba(255, 255, 255, .9);
	border-color: rgba(158, 143, 134, .22);
	box-shadow: 0 16px 40px rgba(32, 28, 25, .07);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.related-project-grid .project-card:hover {
	transform: translateY(-2px);
	border-color: rgba(158, 143, 134, .4);
	box-shadow: 0 20px 50px rgba(32, 28, 25, .11);
}

.related-project-grid .project-image {
	aspect-ratio: 16 / 9;
}

.related-project-grid .project-body {
	display: flex;
	flex-direction: column;
	padding: 17px;
}

.related-project-grid .project-body small {
	margin-bottom: 7px;
	font-size: 11px;
}

.related-project-grid .project-body h3 {
	display: -webkit-box;
	overflow: hidden;
	margin-bottom: 8px;
	font-size: 22px;
	line-height: 1.12;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.related-project-grid .project-body p {
	display: -webkit-box;
	overflow: hidden;
	margin-bottom: 12px;
	font-size: 13px;
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.related-project-grid .project-meta {
	display: none;
}

.related-project-grid .text-link {
	margin-top: auto;
	font-size: 13px;
}

@media (max-width: 760px) {
	.catalog-more {
		margin-top: 20px;
	}

	.catalog-load-more {
		width: 100%;
		min-height: 46px;
	}

	.related-projects-section {
		padding: 42px 0 48px;
		border-top-width: 8px;
		border-top-color: rgba(36, 54, 45, .14);
	}

	.related-projects-section .section-head {
		display: block;
		margin-bottom: 18px;
		padding-bottom: 16px;
	}

	.related-projects-section .section-head h2 {
		margin-bottom: 10px;
		font-size: 31px;
	}

	.related-projects-section .section-head p {
		font-size: 14px;
		line-height: 1.5;
	}

	.related-projects-link {
		margin-top: 8px;
		font-size: 13px;
	}

	.related-project-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 11px;
		margin: 0;
		padding: 0;
		overflow: visible;
	}

	.related-project-grid .project-card {
		display: grid;
		grid-template-columns: 116px minmax(0, 1fr);
		min-height: 128px;
		box-shadow: 0 12px 28px rgba(32, 28, 25, .06);
	}

	.related-project-grid .project-image {
		height: 100%;
		min-height: 128px;
		aspect-ratio: auto;
	}

	.related-project-grid .project-card-variants {
		display: none;
	}

	.related-project-grid .badge {
		top: 8px;
		left: 8px;
		max-width: calc(100% - 16px);
		padding: 5px 7px;
		font-size: 9px;
	}

	.related-project-grid .project-body {
		padding: 13px;
	}

	.related-project-grid .project-body small {
		margin-bottom: 5px;
		font-size: 10px;
	}

	.related-project-grid .project-body h3 {
		margin-bottom: 0;
		font-size: 18px;
		line-height: 1.12;
	}

	.related-project-grid .project-body p {
		display: none;
	}

	.related-project-grid .text-link {
		margin-top: 10px;
		font-size: 12px;
	}

	.wardrobe-category-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.wardrobe-category-card,
	.wardrobe-category-card:first-child {
		grid-column: auto;
		min-height: 0;
		grid-template-columns: 112px minmax(0, 1fr);
		grid-template-rows: none;
	}

	.wardrobe-category-media {
		min-height: 132px;
	}

	.wardrobe-category-copy {
		min-width: 0;
		padding: 14px;
	}

	.wardrobe-category-copy small {
		margin-bottom: 6px;
		font-size: 9px;
	}

	.wardrobe-category-copy strong {
		font-size: 20px;
	}

	.wardrobe-category-copy span {
		display: -webkit-box;
		overflow: hidden;
		margin-top: 7px;
		font-size: 12px;
		line-height: 1.4;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	.wardrobe-category-copy em {
		padding-top: 9px;
		font-size: 12px;
	}

	.wardrobe-fill-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.wardrobe-fill-grid div {
		padding: 13px;
	}

	.wardrobe-fill-grid strong {
		margin-bottom: 6px;
		font-size: 13px;
	}

	.wardrobe-fill-grid span {
		font-size: 11px;
		line-height: 1.35;
	}

	.cabinet-category-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.cabinet-category-card,
	.cabinet-category-card:nth-child(1),
	.cabinet-category-card:nth-child(2) {
		grid-column: auto;
		min-height: 0;
		grid-template-columns: 112px minmax(0, 1fr);
		grid-template-rows: none;
	}

	.cabinet-category-media {
		min-height: 132px;
	}

	.cabinet-category-copy {
		min-width: 0;
		padding: 14px;
	}

	.cabinet-category-copy small {
		margin-bottom: 6px;
		font-size: 9px;
	}

	.cabinet-category-copy strong {
		font-size: 20px;
	}

	.cabinet-category-copy span {
		display: -webkit-box;
		overflow: hidden;
		margin-top: 7px;
		font-size: 12px;
		line-height: 1.4;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	.cabinet-category-copy em {
		padding-top: 9px;
		font-size: 12px;
	}
}

/* Mobile catalog polish */
@media (max-width: 760px) {
	.hero-compact {
		min-height: 440px;
	}

	.hero-compact .hero-inner {
		padding-top: 92px;
		padding-bottom: 34px;
	}

	.hero-compact h1 {
		margin-bottom: 14px;
		font-size: 34px;
		line-height: 1.02;
	}

	.hero-compact p {
		display: -webkit-box;
		overflow: hidden;
		max-width: 32rem;
		font-size: 15px;
		line-height: 1.5;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}

	.catalog-section .section-head {
		margin-bottom: 18px;
	}

	.catalog-section .section-head h2 {
		font-size: 30px;
		line-height: 1.08;
	}

	.catalog-section .section-head p {
		font-size: 15px;
		line-height: 1.5;
	}

	.catalog-tools {
		display: block;
		margin-bottom: 22px;
	}

	.catalog-state {
		margin-bottom: 16px;
		padding: 12px 0;
	}

	.catalog-filter-groups {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: minmax(230px, 78vw);
		gap: 10px;
		margin-right: -14px;
		padding: 0 14px 8px 0;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
	}

	.catalog-filter-groups::-webkit-scrollbar,
	.filter-buttons::-webkit-scrollbar {
		display: none;
	}

	.filter-group {
		min-height: 112px;
		padding: 13px;
		border-color: rgba(158, 143, 134, .2);
		background: rgba(255, 255, 255, .72);
		box-shadow: 0 12px 28px rgba(32, 28, 25, .05);
		scroll-snap-align: start;
	}

	.filter-group > span {
		margin-bottom: 9px;
		font-size: 10px;
		letter-spacing: .04em;
	}

	.filter-buttons {
		flex-wrap: nowrap;
		gap: 7px;
		margin-right: -6px;
		padding-right: 6px;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.filter-btn {
		min-height: 34px;
		flex: 0 0 auto;
		padding: 0 11px;
		font-size: 12px;
		font-weight: 700;
	}

	.filter-btn.active {
		box-shadow: 0 8px 18px rgba(32, 28, 25, .12);
	}

	.catalog-side-filters {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
		margin-top: 10px;
		padding: 0;
		border: 0;
		background: transparent;
	}

	.catalog-side-filters select,
	.catalog-side-filters input {
		min-height: 44px;
		padding: 11px 12px;
		background: rgba(255, 255, 255, .82);
		font-size: 13px;
	}

	.catalog-grid {
		margin-top: 4px;
	}
}

@media (max-width: 380px) {
	.catalog-filter-groups {
		grid-auto-columns: minmax(212px, 82vw);
	}

	.hero-compact h1 {
		font-size: 31px;
	}
}
