.ir-picture {
	display: contents;
}

section.relative.min-h-screen {
	background-color: #1c1a17;
}

section.relative.min-h-screen > .relative.z-10 {
	background-color: transparent;
}

section.relative.min-h-screen > .absolute.inset-0,
section.relative.min-h-screen > .absolute.inset-0 img {
	width: 100%;
	height: 100%;
	max-width: none;
}

section.relative.min-h-screen > .absolute.inset-0 img {
	object-fit: cover;
	object-position: center center;
}

.home-hero-overlay {
	background:
		linear-gradient(90deg, rgba(18, 17, 15, 0.58) 0%, rgba(24, 21, 18, 0.34) 40%, rgba(35, 29, 22, 0.08) 76%),
		linear-gradient(0deg, rgba(18, 16, 13, 0.20) 0%, rgba(25, 22, 18, 0.05) 48%, transparent 78%);
}

.home-hero-image {
	animation: ir-hero-settle 900ms ease-out 120ms both;
	transform-origin: center center;
}

.ir-value-separator {
	display: inline-block;
	width: 0.34em;
	height: 0.34em;
	margin: 0 0.42em 0.08em;
	border-radius: 999px;
	background: currentColor;
	opacity: 0.48;
	vertical-align: middle;
}

.font-serif cite,
.tag-pill,
.pill-badge,
.process-proof-strip {
	font-family: var(--font-sans), "Poppins", system-ui, sans-serif;
}

.image-shell,
.portfolio-card-image,
.portfolio-project-tile,
.site-protection-figure .image-shell {
	border-radius: 6px;
}

.image-shell,
.portfolio-card-image,
.portfolio-project-tile {
	box-shadow: 0 18px 34px rgba(16, 28, 53, 0.09);
}

.what-we-build-card {
	overflow: visible;
	margin-top: 1.15rem;
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.what-we-build-card-image {
	width: calc(100% - 1.5rem);
	margin: -1.15rem auto 0;
	border-radius: 6px;
	box-shadow: 0 18px 34px rgba(16, 28, 53, 0.12);
}

.what-we-build-card-body {
	padding-top: 1.45rem;
}

.noel-portrait-image {
	object-position: center 18%;
}

@media (min-width: 1024px) {
	#kitchen-remodels .grid > .reveal:last-child {
		padding-top: 0 !important;
	}
}

.portfolio-project-group {
	position: relative;
}

.portfolio-project-row {
	display: grid;
	gap: clamp(0.8rem, 1.35vw, 1.1rem);
	height: auto !important;
}

.portfolio-project-tile {
	width: 100%;
	height: auto;
	min-height: 0;
	box-shadow: 0 20px 38px rgba(16, 28, 53, 0.1);
}

.portfolio-project-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	padding: 0.22rem;
	background: #fff;
}

.portfolio-project-tile:hover .portfolio-project-image {
	transform: none;
}

.portfolio-project-spine {
	display: grid;
	grid-template-columns: minmax(3.25rem, 4.5rem) minmax(0, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: stretch;
}

.portfolio-project-spine .portfolio-project-label {
	align-self: stretch;
	justify-content: flex-end;
	margin: 0;
	padding: 0 0 0 0.7rem;
	border-bottom: 0;
	border-left: 1px solid rgba(21, 39, 72, 0.28);
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.portfolio-project-spine .portfolio-project-row {
	grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr));
}

.portfolio-project-spine .portfolio-project-tile {
	aspect-ratio: 4 / 3;
}

.portfolio-project-tile:has(.ir-image-portrait) {
	aspect-ratio: 3 / 4;
}

.portfolio-project-tile:has(.ir-image-landscape) {
	aspect-ratio: 4 / 3;
}

.portfolio-project-featured .portfolio-project-label {
	margin-bottom: 1.15rem;
}

.portfolio-project-featured .portfolio-project-row {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: auto;
}

.portfolio-project-featured .portfolio-project-tile:first-child {
	grid-row: auto;
}

.portfolio-card-image img {
	padding: 0.2rem;
}

html.ir-reveal-ready .reveal {
	opacity: 1;
	transform: none;
	transition: none;
}

html.ir-reveal-ready .reveal.revealed {
	opacity: 1;
	transform: none;
}

@media (hover: hover) and (pointer: fine) {
	.what-we-build-card:hover,
	.portfolio-project-tile:hover {
		transform: translateY(-4px);
	}

	.what-we-build-card:hover {
		box-shadow: 0 24px 44px rgba(16, 28, 53, 0.12);
	}

	.portfolio-project-tile:hover {
		box-shadow: 0 26px 44px rgba(16, 28, 53, 0.13);
	}
}

@keyframes ir-hero-settle {
	from {
		opacity: 0.01;
		transform: scale(1.012);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	html.ir-reveal-ready .reveal,
	html.ir-reveal-ready .reveal.revealed {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.home-hero-image {
		animation: none;
	}
}

@media (max-width: 768px) {
	.what-we-build-card {
		margin-top: 0.75rem;
	}

	.portfolio-project-spine {
		display: block;
	}

	.portfolio-project-spine .portfolio-project-label {
		display: inline-flex;
		margin-bottom: 1rem;
		padding: 0 0 0.35rem;
		border-left: 0;
		border-bottom: 1px solid rgba(21, 39, 72, 0.28);
		writing-mode: horizontal-tb;
		transform: none;
	}

	.portfolio-project-featured .portfolio-project-row,
	.portfolio-project-spine .portfolio-project-row {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
	}

	.portfolio-project-featured .portfolio-project-tile:first-child,
	.portfolio-project-spine .portfolio-project-tile {
		grid-row: auto;
		aspect-ratio: auto;
	}

	.portfolio-project-image {
		height: auto;
	}
}
