.bshc-homepage-projects-stage,
.e-con:has(> .elementor-widget-bshc-homepage-projects) {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--gap: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	max-width: none;
	padding: 0;
	gap: 0;
}

.bshc-homepage-projects-stage.e-con-boxed > .e-con-inner,
.e-con.e-con-boxed:has(> .elementor-widget-bshc-homepage-projects) > .e-con-inner,
.bshc-homepage-projects-stage > .elementor-element,
.e-con:has(> .elementor-widget-bshc-homepage-projects) > .elementor-element,
.bshc-homepage-projects-stage .elementor-widget-container,
.e-con:has(> .elementor-widget-bshc-homepage-projects) .elementor-widget-container {
	width: 100%;
	max-width: none;
}

.bshc-homepage-projects {
	position: relative;
	padding-block: 176px;
	overflow: clip;
	background: #f1f0ec;
	color: #131316;
}

.bshc-homepage-projects__heading {
	display: grid;
	grid-template-columns: minmax(220px, 0.72fr) minmax(0, 2.28fr);
	gap: clamp(42px, 5vw, 96px);
	margin-bottom: 138px;
}

.bshc-homepage-projects__eyebrow {
	grid-column: 1;
	margin: 0;
	padding-top: 17px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bshc-homepage-projects__title {
	grid-column: 2;
	max-width: 910px;
	margin: 0;
	font-size: clamp(52px, 6.4vw, 96px);
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: -0.045em;
	text-wrap: balance;
}

.bshc-homepage-projects__intro {
	grid-column: 2;
	max-width: 760px;
	margin: 18px 0 0;
	color: #616166;
	font-size: 20px;
	line-height: 1.45;
}

.bshc-homepage-projects__stack {
	position: relative;
	padding-bottom: 72px;
}

.bshc-homepage-projects__card {
	position: sticky;
	top: calc(26px + var(--bshc-project-index) * 18px);
	min-height: 650px;
	margin-bottom: 68px;
	padding: 30px;
	display: grid;
	grid-template-columns: minmax(400px, 0.84fr) minmax(0, 1.16fr);
	gap: clamp(44px, 4.2vw, 80px);
	overflow: hidden;
	border: 1px solid rgb(247 247 243 / 18%);
	border-radius: 24px;
	background: #1a1a1e;
	color: #f7f7f3;
	box-shadow: 0 -8px 28px rgb(19 19 22 / 12%);
	transform-origin: center top;
}

.bshc-homepage-projects__card:nth-child(2) { background: #242428; }
.bshc-homepage-projects__card:nth-child(3) { background: #151518; }

.bshc-homepage-projects__media {
	position: relative;
	z-index: 2;
	min-height: 100%;
	margin: 0;
	overflow: hidden;
	isolation: isolate;
	border-radius: 15px;
	background: #2d2d31;
}

.bshc-homepage-projects__frame {
	position: absolute;
	z-index: 1;
	inset: -3%;
	width: 106%;
	height: 106%;
	object-fit: cover;
	object-position: 50% 50%;
	opacity: 0;
	filter: saturate(0.78) contrast(0.96) brightness(0.88);
	transform: translate3d(0, 2.4%, 0) scale(1.035);
	transition: opacity 900ms cubic-bezier(0.23, 1, 0.32, 1), filter 550ms ease, transform 7200ms linear;
	will-change: opacity, transform;
}

.bshc-homepage-projects__frame.is-active {
	z-index: 2;
	opacity: 1;
	filter: saturate(0.92) contrast(1) brightness(0.95);
	transform: translate3d(0, -2.4%, 0) scale(1.055);
}

.bshc-homepage-projects__media.is-video {
	display: grid;
	place-items: center;
	background: transparent;
}

.bshc-homepage-projects__media.is-video::after {
	display: none;
}

.bshc-homepage-projects__video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	background: transparent;
}

.bshc-homepage-projects__card:nth-child(2) .bshc-homepage-projects__frame { object-position: 68% 50%; }
.bshc-homepage-projects__media::after {
	content: "";
	position: absolute;
	z-index: 3;
	inset: 0;
	background: linear-gradient(180deg, rgb(10 10 12 / 5%), transparent 52%, rgb(10 10 12 / 42%));
	pointer-events: none;
}

.bshc-homepage-projects__media figcaption {
	position: absolute;
	z-index: 4;
	left: 18px;
	right: 18px;
	bottom: 16px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 10px;
	color: rgb(255 255 255 / 72%);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.bshc-homepage-projects__media figcaption span:nth-child(2) { display: flex; align-items: center; gap: 10px; }
.bshc-homepage-projects__media figcaption span:nth-child(2)::before,
.bshc-homepage-projects__media figcaption span:nth-child(2)::after { content: ""; height: 1px; flex: 1; background: rgb(255 255 255 / 28%); }

.bshc-homepage-projects__main { position: relative; z-index: 2; min-width: 0; padding: 12px 18px 12px 0; }
.bshc-homepage-projects__top { display: flex; justify-content: space-between; gap: 20px; color: rgb(247 247 243 / 55%); font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.bshc-homepage-projects__top a { color: #f7f7f3; }
.bshc-homepage-projects__top a span { margin-left: 6px; }
.bshc-homepage-projects__main h3 { margin: 34px 0 18px; font-size: clamp(68px, 6.5vw, 104px); font-weight: 700; line-height: 0.84; letter-spacing: -0.055em; overflow-wrap: anywhere; }
.bshc-homepage-projects__description { max-width: 840px; margin: 0; color: rgb(247 247 243 / 67%); font-size: 18px; line-height: 1.42; }

.bshc-homepage-projects__services { display: flex; flex-wrap: wrap; gap: 7px; margin: 26px 0 0; padding: 0; list-style: none; }
.bshc-homepage-projects__services li { display: inline-flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 14px; border: 1px solid rgb(247 247 243 / 22%); border-radius: 999px; color: rgb(247 247 243 / 80%); font-size: 14px; font-weight: 700; }

.bshc-homepage-projects blockquote { position: relative; margin: 42px 0 0; padding: 30px 34px 30px 40px; overflow: hidden; border: 1px solid rgb(247 247 243 / 16%); border-left: 5px solid #e02255; border-radius: 14px; background: linear-gradient(135deg, rgb(247 247 243 / 8%), rgb(247 247 243 / 3%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%), 0 18px 46px rgb(0 0 0 / 18%); color: #fff; font-size: clamp(27px, 2.25vw, 38px); font-weight: 600; line-height: 1.16; letter-spacing: -0.025em; }
.bshc-homepage-projects blockquote::before { content: "“"; position: absolute; top: -18px; right: 18px; color: rgb(224 34 85 / 28%); font-size: 128px; font-weight: 700; line-height: 1; pointer-events: none; }
.bshc-homepage-projects cite { position: relative; display: block; margin-top: 20px; color: rgb(247 247 243 / 64%); font-size: 13px; font-style: normal; font-weight: 700; line-height: 1.35; letter-spacing: 0.1em; text-transform: uppercase; }

.bshc-homepage-projects__shade { position: absolute; z-index: 4; inset: 0; border-radius: inherit; background: radial-gradient(circle at 78% 20%, rgb(200 22 69 / 8%), transparent 38%), #050506; opacity: 0; pointer-events: none; will-change: opacity; }
.bshc-homepage-projects__cta { width: 100%; min-height: 136px; padding: 0 38px; display: flex; align-items: center; justify-content: space-between; border: 1px solid rgb(19 19 22 / 24%); border-radius: 10px; background: transparent; color: #131316; font-family: var(--bshc-font-display); font-size: clamp(40px, 4.2vw, 81px); font-weight: 700; line-height: 1; letter-spacing: -0.045em; text-decoration: none; transition: color 220ms ease, border-color 220ms ease; }
.bshc-homepage-projects__cta span { color: inherit; }
.bshc-homepage-projects__cta span:last-child { transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1); }
.bshc-homepage-projects__cta:hover, .bshc-homepage-projects__cta:focus-visible { border-color: #c81645; background: transparent; color: #c81645; transform: none; }
.bshc-homepage-projects__cta:hover span:last-child, .bshc-homepage-projects__cta:focus-visible span:last-child { transform: rotate(45deg); }
.bshc-homepage-projects__cta:focus-visible { outline: 3px solid #131316; outline-offset: 4px; }

@media (min-width: 1441px) { .bshc-homepage-projects__shell.bshc-shell { width: 100%; max-width: none; margin-inline: 0; } }
@media (min-width: 701px) { .bshc-homepage-projects__shell.bshc-shell { width: calc(100% - (clamp(28px, 3.35vw, 72px) * 2)); max-width: none; margin-inline: auto; padding-inline: 0; } }
@media (min-width: 701px) { .bshc-homepage-projects__card.has-video .bshc-homepage-projects__media { min-height: 100%; height: auto; align-self: stretch; } }
.bshc-homepage-projects{font-family:var(--bshc-font-display);font-size:18px;line-height:1.45}
@media (max-width: 1024px) {
	.bshc-homepage-projects { padding-block: 120px; }
	.bshc-homepage-projects__heading { grid-template-columns: 1fr; }
	.bshc-homepage-projects__eyebrow, .bshc-homepage-projects__title, .bshc-homepage-projects__intro { grid-column: 1; }
	.bshc-homepage-projects__eyebrow { padding-top: 0; }
	.bshc-homepage-projects__card { grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr); min-height: 720px; }
	.bshc-homepage-projects__main h3 { font-size: 72px; }
}
@media (max-width: 700px) {
	.bshc-homepage-projects { padding-block: 110px; font-size:16px; }
	.bshc-homepage-projects__heading { gap: 25px; margin-bottom: 70px; }
	.bshc-homepage-projects__title { font-size: clamp(46px, 13vw, 62px); }
	.bshc-homepage-projects__intro { font-size: 17px; }
	.bshc-homepage-projects__stack { padding-bottom: 50px; }
	.bshc-homepage-projects__card { position: relative; top: auto; min-height: 0; margin-bottom: 28px; padding: 10px; grid-template-columns: 1fr; gap: 34px; border-radius: 16px; }
	.bshc-homepage-projects__shade { display: none; }
	.bshc-homepage-projects__media { height: 360px; }
	.bshc-homepage-projects__media.is-video { height: min(150vw, 640px); aspect-ratio: 9 / 16; }
	.bshc-homepage-projects__frame, .bshc-homepage-projects__frame.is-active { inset: 0; width: 100%; height: 100%; transform: none; }
	.bshc-homepage-projects__frame { transition: opacity 650ms cubic-bezier(0.23, 1, 0.32, 1); }
	.bshc-homepage-projects__main { padding: 0 12px 20px; }
	.bshc-homepage-projects__top { font-size: 10px; }
	.bshc-homepage-projects__main h3 { margin: 30px 0 18px; font-size: clamp(48px, 14vw, 55px); }
	.bshc-homepage-projects__description { font-size: 16px; }
	.bshc-homepage-projects__services li { min-height: 44px; padding: 0 11px; font-size: 12px; }
	.bshc-homepage-projects blockquote { margin-top: 36px; padding: 25px 20px 24px 25px; border-left-width: 4px; border-radius: 12px; font-size: 25px; line-height: 1.2; }
	.bshc-homepage-projects blockquote::before { top: -11px; right: 10px; font-size: 90px; }
	.bshc-homepage-projects cite { margin-top: 16px; font-size: 11px; }
	.bshc-homepage-projects__cta { min-height: 88px; padding: 0 20px; font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
	.bshc-homepage-projects__card { position: relative; top: auto !important; transform: none !important; }
	.bshc-homepage-projects__shade { display: none !important; }
	.bshc-homepage-projects__frame, .bshc-homepage-projects__frame.is-active { transition: none !important; transform: none !important; }
	.bshc-homepage-projects__frame:not(:first-of-type) { display: none !important; }
	.bshc-homepage-projects__cta { transition: none; }
}

/* Every service pill links to its canonical root service page. */
.bshc-homepage-projects__services{gap:12px}
.bshc-homepage-projects__services li{display:flex;min-height:0;padding:0;border:0;background:none}
.bshc-homepage-projects__services li a{display:inline-flex;align-items:center;min-height:56px;padding:0 10px 0 22px;border:1px solid rgb(247 247 243 / 28%);border-radius:999px;gap:18px;color:#f7f7f3;background:transparent;box-shadow:none;font-size:16px;font-weight:700;line-height:1;text-decoration:none;transform:none;transition:border-color 220ms ease,color 220ms ease,background-color 220ms ease}
.bshc-homepage-projects__services li a span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#c81645;font-size:20px;font-weight:500;line-height:1;transition:background-color 220ms ease,transform 220ms cubic-bezier(.22,1,.36,1)}
.bshc-homepage-projects__services li a:hover,.bshc-homepage-projects__services li a:focus-visible{border-color:#c81645;color:#fff;background:rgb(200 22 69 / 12%);box-shadow:none;transform:none}
.bshc-homepage-projects__services li a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.bshc-homepage-projects__services li a:hover span,.bshc-homepage-projects__services li a:focus-visible span{color:#fff;background:#a90f37;transform:rotate(45deg)}
@media(max-width:700px){.bshc-homepage-projects__cta{min-height:88px;padding-inline:18px;font-size:30px}.bshc-homepage-projects__services{gap:8px}.bshc-homepage-projects__services li{min-height:0;padding:0}.bshc-homepage-projects__services li a{min-height:50px;padding:0 8px 0 14px;gap:12px;font-size:14px}.bshc-homepage-projects__services li a span{width:34px;height:34px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.bshc-homepage-projects__services li a,.bshc-homepage-projects__services li a span{transition:none}.bshc-homepage-projects__services li a:hover,.bshc-homepage-projects__services li a:focus-visible{transform:none}.bshc-homepage-projects__services li a:hover span,.bshc-homepage-projects__services li a:focus-visible span,.bshc-homepage-projects__cta:hover span:last-child,.bshc-homepage-projects__cta:focus-visible span:last-child{transform:none}}
