.rufales-build-master,
.rufales-build-detail {
	--build-ink: var(--rufales-color-ink);
	--build-paper: var(--rufales-color-surface);
	--build-line: rgba(23, 32, 25, .16);
	background: var(--build-paper);
	color: var(--build-ink);
}

.rufales-build-hero,
.rufales-build-detail__hero {
	position: relative;
	display: grid;
	min-height: min(49rem, 82vh);
	align-items: end;
	overflow: hidden;
	background: #243126;
	color: #fff;
}

.rufales-build-hero > img,
.rufales-build-detail__hero > img,
.rufales-build-hero__shade,
.rufales-build-detail__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.rufales-build-hero > img,
.rufales-build-detail__hero > img { object-fit: cover; }
.rufales-build-hero > img { object-position: 50% 44%; transform: scale(1.07); transform-origin: 50% 46%; }
.rufales-build-detail__hero > img { object-position: center; }
.rufales-build-hero__shade,
.rufales-build-detail__shade { background: linear-gradient(90deg, rgba(6, 13, 8, .84), rgba(6, 13, 8, .18) 70%), linear-gradient(0deg, rgba(6, 13, 8, .48), transparent 55%); }

.rufales-build-hero__content,
.rufales-build-detail__title {
	position: relative;
	z-index: 1;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.rufales-build-hero h1,
.rufales-build-detail__title h1 {
	max-width: 20ch;
	color: #fff;
	margin: .55rem 0 1.15rem;
	font: 600 var(--rufales-font-size-3xl)/var(--rufales-line-heading) var(--rufales-font-sans);
	letter-spacing: -.02em;
}

.rufales-build-hero__content > p:not(.rufales-eyebrow, .rufales-build-hero__actions) { max-width: 43rem; font-size: clamp(1.05rem, 1.7vw, 1.28rem); line-height: 1.55; }
.rufales-build-hero__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.6rem; }


.rufales-build-intro,
.rufales-build-detail__article,
.rufales-build-contact__inner { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(2.5rem, 7vw, 7rem); }
.rufales-build-intro {
	grid-template-columns: minmax(13rem, .68fr) minmax(0, 1.32fr);
	gap: clamp(2.25rem, 5vw, 5rem);
	align-items: start;
	padding-block: clamp(3.25rem, 6vw, 5.25rem);
	border-bottom: 1px solid var(--build-line);
}
.rufales-build-intro h2,
.rufales-build-realizations h2,
.rufales-build-contact h2,
.rufales-build-detail h2 {
	margin: .5rem 0 0;
	font: 600 var(--rufales-font-size-2xl)/var(--rufales-line-heading) var(--rufales-font-sans);
	letter-spacing: -.02em;
}
.rufales-build-intro h2 {
	max-width: 10ch;
	margin: 0;
	font-size: clamp(2.1rem, 3.2vw, 3rem);
}
.rufales-build-intro__kicker {
	margin: 0 0 .9rem;
	color: #667067;
	font-size: .73rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.rufales-build-intro__copy {
	position: relative;
	max-width: 46rem;
	padding-left: clamp(1.5rem, 3vw, 2.75rem);
	font-size: clamp(1rem, 1.2vw, 1.1rem);
	line-height: 1.68;
}
.rufales-build-intro__copy::before {
	position: absolute;
	inset: .2rem auto .15rem 0;
	width: 1px;
	background: rgba(40, 78, 56, .24);
	content: "";
}
.rufales-build-intro__copy p { margin: 0; }
.rufales-build-intro__copy p + p { margin-top: 1rem; }
.rufales-build-intro__points {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem 1.45rem;
	margin: 1.45rem 0 0;
	padding: 1.15rem 0 0;
	border-top: 1px solid rgba(23, 32, 25, .12);
	list-style: none;
}
.rufales-build-intro__points li {
	display: inline-flex;
	gap: .55rem;
	align-items: center;
	font-size: .78rem;
	font-weight: 700;
	line-height: 1.35;
}
.rufales-build-intro__points li::before {
	width: .85rem;
	height: 1px;
	background: #356044;
	content: "";
}






.rufales-build-realizations { padding-block: var(--rufales-space-3xl); background: #e9e5da; }
.rufales-build-realizations__heading { display: grid; grid-template-columns: 1fr minmax(15rem, 28rem); gap: 2rem; align-items: end; margin-bottom: 2rem; }
.rufales-build-realizations__heading > p { margin: 0; color: #5b625c; line-height: 1.6; }
.rufales-build-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 4.5rem) clamp(1.2rem, 3vw, 2.2rem); }
.rufales-build-card { min-width: 0; }
.rufales-build-card__image { display: block; overflow: hidden; border-radius: .35rem; background: #cfd2c8; }
.rufales-build-card__image img,
.rufales-build-card__placeholder { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.rufales-build-card__image:hover img { transform: scale(1.025); }
.rufales-build-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.38fr) minmax(17rem, .62fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; padding-bottom: clamp(2rem, 5vw, 4rem); border-bottom: 1px solid var(--build-line); }
.rufales-build-card--featured .rufales-build-card__image img,
.rufales-build-card--featured .rufales-build-card__placeholder { aspect-ratio: 16 / 10; }
.rufales-build-card__body { padding-top: 1.15rem; }
.rufales-build-card--featured .rufales-build-card__body { padding-top: 0; }
.rufales-build-card__meta { margin: 0 0 .65rem; color: #666d67; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.rufales-build-card h3 {
	margin: 0 0 .75rem;
	font: 600 var(--rufales-font-size-xl)/var(--rufales-line-heading) var(--rufales-font-sans);
	letter-spacing: -.02em;
}
.rufales-build-card h3 a { color: inherit; }
.rufales-build-card__body > p:not(.rufales-build-card__meta) { margin: 0; color: #555d57; line-height: 1.62; }
.rufales-build-card__link { display: inline-flex; gap: .7rem; align-items: center; margin-top: 1rem; border-bottom: 1px solid currentColor; color: inherit; font-weight: 700; }
.rufales-build-card__link span { transition: transform .2s ease; }
.rufales-build-card__link:hover span { transform: translateX(.25rem); }

.rufales-build-contact { padding-block: var(--rufales-space-3xl); background: var(--rufales-color-ink); color: var(--rufales-color-canvas); }
.rufales-build-contact h2 { max-width: 20ch; color: inherit; }
.rufales-build-contact__inner > div:last-child { max-width: 36rem; font-size: 1.08rem; line-height: 1.7; }
.rufales-build-contact__details { margin-top: 1.6rem; }
.rufales-build-contact__details a { color: inherit; }

.rufales-build-detail__hero { min-height: min(43rem, 74vh); }
.rufales-build-detail__article { padding-block: clamp(4.5rem, 9vw, 8rem); }
.rufales-build-detail__lead h2 { max-width: 10ch; }
.rufales-build-detail__story { max-width: 46rem; font-size: clamp(1.05rem, 1.5vw, 1.18rem); line-height: 1.76; }
.rufales-build-detail__story p + p { margin-top: 1.1rem; }
.rufales-build-detail__gallery { padding-block: 0 clamp(4.5rem, 9vw, 8rem); }
.rufales-build-detail__gallery .rufales-section-heading { margin-bottom: 2rem; }
.rufales-build-detail__gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.7rem, 2vw, 1.4rem); }
.rufales-build-detail__gallery-grid figure { margin: 0; overflow: hidden; border-radius: .35rem; background: #d9d7cf; }
.rufales-build-detail__gallery-grid img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.rufales-build-detail__gallery-grid figure:first-child { grid-column: 1 / -1; }
.rufales-build-detail__gallery-grid figure:first-child img { aspect-ratio: 16 / 9; }
.rufales-build-detail__back { padding-block: 0 clamp(4rem, 8vw, 7rem); }
.rufales-build-detail__back a { display: inline-flex; gap: .65rem; color: inherit; font-weight: 700; }

@media (max-width: 760px) {
	.rufales-build-hero,
	.rufales-build-detail__hero { min-height: 30rem; }
	.rufales-build-hero > img { object-position: 46% 50%; transform: scale(1.04); transform-origin: 46% 50%; }
	.rufales-build-hero h1,
	.rufales-build-detail__title h1 {

	font: 600 var(--rufales-font-size-3xl)/var(--rufales-line-heading) var(--rufales-font-sans);
	letter-spacing: -.02em;
}
	.rufales-build-intro,
	.rufales-build-detail__article,
	.rufales-build-contact__inner,
	.rufales-build-realizations__heading,
	.rufales-build-card--featured { grid-template-columns: 1fr; }
	.rufales-build-intro { gap: 1.45rem; padding-block: 3rem; }
	.rufales-build-intro h2 { font-size: clamp(2rem, 10vw, 2.7rem); }
	.rufales-build-intro__copy { max-width: 36rem; padding-left: 1.15rem; line-height: 1.64; }
	.rufales-build-intro__points { display: grid; gap: .65rem; margin-top: 1.25rem; padding-top: 1rem; }
	.rufales-build-grid { grid-template-columns: 1fr; }
	.rufales-build-card--featured { grid-column: auto; gap: 0; }
	.rufales-build-card--featured .rufales-build-card__body { padding-top: 1.15rem; }
	.rufales-build-card--featured .rufales-build-card__image img,
	.rufales-build-card--featured .rufales-build-card__placeholder { aspect-ratio: 4 / 3; }
	.rufales-build-detail__gallery-grid { grid-template-columns: 1fr; }
	.rufales-build-detail__gallery-grid figure:first-child { grid-column: auto; }
	.rufales-build-detail__gallery-grid figure:first-child img { aspect-ratio: 4 / 3; }
}

@media (prefers-reduced-motion: reduce) {
	.rufales-build-card__image img,
	.rufales-build-card__link span { transition: none; }
}
