/* Bowman Founding Members Sale, mobile only.

   Ported from the approved 390px phone mockup with the mockup's generic class
   names namespaced under bowman-founders. The mockup shipped bare .founders,
   .ember, .smoke, .h2-wrap and friends; none of those may enter a 7,800 line
   stylesheet shared by every template in the theme.

   Every selector carries .single-locations .location-mobile-page so it sits at
   least one class heavier than this rule in style.css:

       .single-locations .location-mobile-page h1,
       .single-locations .location-mobile-page h2 { color: inherit; letter-spacing: 0; }

   That rule is 0,2,1. A two-class override loses to it and the headline would
   silently fall back to inherited colour with no tracking. Writing every rule
   at three classes or more means the cascade here does not depend on which
   stylesheet the browser happens to load first.

   No media query wraps any of this. .location-mobile-page is display:none by
   default and only becomes visible inside the theme's mobile query
   (max-width: 767px, or the short landscape phone condition), so nothing below
   can paint on desktop. */

/* ---------- section shell ---------- */

.single-locations .location-mobile-page .bowman-founders {
	position: relative;
	overflow: hidden;
	/* Keeps the smoke and charcoal mix-blend-mode blending against this
	   section's own background instead of whatever an ancestor painted. */
	isolation: isolate;
	padding: 56px 24px 52px;
	background:
		radial-gradient(120% 90% at 108% 62%, rgba(52, 140, 140, 0.45) 0%, rgba(52, 140, 140, 0) 52%),
		radial-gradient(100% 40% at 50% 106%, rgba(255, 84, 20, 0.22) 0%, rgba(255, 84, 20, 0) 62%),
		radial-gradient(80% 55% at -6% 100%, rgba(170, 40, 40, 0.2) 0%, rgba(170, 40, 40, 0) 58%),
		radial-gradient(150% 130% at 45% -5%, #081212 0%, #030c0c 45%, #010505 80%);
}

/* charcoal texture */
.single-locations .location-mobile-page .bowman-founders::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.11' numOctaves='4' seed='11'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.08  0 0 0 0 0.2  0 0 0 0 0.19  0 0 0.85 0 -0.32'/%3E%3C/filter%3E%3Crect width='360' height='360' filter='url(%23c)'/%3E%3C/svg%3E"),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
	background-size: 360px, 300px;
	opacity: 0.42;
	mix-blend-mode: screen;
	pointer-events: none;
}

/* vignette to crush the corners */
.single-locations .location-mobile-page .bowman-founders::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(115% 100% at 50% 45%, transparent 55%, rgba(0, 0, 0, 0.55) 100%);
	pointer-events: none;
	z-index: 1;
}

/* The SVG heat-shimmer filters are defined inline in the markup. The element
   must stay in the render tree for the filter references to resolve, so it is
   collapsed rather than hidden. */
.single-locations .location-mobile-page .bowman-founders__filters {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
	pointer-events: none;
}

/* ---------- drifting smoke wisps ---------- */

.single-locations .location-mobile-page .bowman-founders__smoke {
	position: absolute;
	border-radius: 50%;
	filter: blur(34px);
	pointer-events: none;
	mix-blend-mode: screen;
}

.single-locations .location-mobile-page .bowman-founders__smoke--s1 {
	width: 340px;
	height: 220px;
	left: -90px;
	bottom: -40px;
	background: radial-gradient(closest-side, rgba(120, 150, 152, 0.22), transparent 70%);
	animation: bowman-founders-smoke-drift 16s ease-in-out infinite alternate;
}

.single-locations .location-mobile-page .bowman-founders__smoke--s2 {
	width: 280px;
	height: 420px;
	right: -120px;
	top: 8%;
	border-radius: 45%;
	background:
		radial-gradient(60% 45% at 40% 30%, rgba(120, 220, 225, 0.35), transparent 70%),
		radial-gradient(70% 60% at 55% 65%, rgba(70, 170, 175, 0.3), transparent 72%);
	transform: rotate(18deg);
	animation: bowman-founders-smoke-drift 21s ease-in-out infinite alternate-reverse;
}

.single-locations .location-mobile-page .bowman-founders__smoke--s2b {
	width: 160px;
	height: 300px;
	right: -30px;
	top: 34%;
	border-radius: 45%;
	background: radial-gradient(closest-side, rgba(140, 235, 238, 0.22), transparent 70%);
	transform: rotate(30deg);
	filter: blur(22px);
	animation: bowman-founders-smoke-drift 14s ease-in-out infinite alternate;
}

.single-locations .location-mobile-page .bowman-founders__smoke--s3 {
	width: 260px;
	height: 180px;
	left: 14%;
	top: -60px;
	background: radial-gradient(closest-side, rgba(150, 160, 162, 0.14), transparent 70%);
	animation: bowman-founders-smoke-drift 26s ease-in-out infinite alternate;
}

@keyframes bowman-founders-smoke-drift {
	0% {
		transform: translate(0, 0) scale(1);
	}

	100% {
		transform: translate(46px, -30px) scale(1.25);
	}
}

/* ---------- embers ---------- */

.single-locations .location-mobile-page .bowman-founders__ember {
	position: absolute;
	border-radius: 50%;
	background: radial-gradient(circle at 40% 40%, #ffd9a8, #ff7a2f 60%);
	filter: blur(0.8px);
	box-shadow: 0 0 12px 3px rgba(255, 122, 47, 0.9), 0 0 30px 8px rgba(255, 96, 26, 0.35);
	animation: bowman-founders-ember-drift linear infinite, bowman-founders-ember-flicker 1.4s ease-in-out infinite;
	pointer-events: none;
	z-index: 1;
}

.single-locations .location-mobile-page .bowman-founders__ember--b {
	background: radial-gradient(circle at 40% 40%, #fff2df, #ffb066 65%);
	box-shadow: 0 0 10px 3px rgba(255, 176, 102, 0.85), 0 0 26px 7px rgba(255, 150, 70, 0.3);
}

.single-locations .location-mobile-page .bowman-founders__ember--streak {
	border-radius: 40%;
	filter: blur(2px);
}

.single-locations .location-mobile-page .bowman-founders__ember--r {
	background: radial-gradient(circle at 40% 40%, #ff9d9d, #e6403f 65%);
	box-shadow: 0 0 8px 2px rgba(230, 64, 63, 0.8), 0 0 20px 5px rgba(230, 64, 63, 0.3);
}

.single-locations .location-mobile-page .bowman-founders__ember--e1 {
	width: 6px;
	height: 6px;
	left: 8%;
	bottom: 12%;
	animation-duration: 8s, 1.4s;
}

.single-locations .location-mobile-page .bowman-founders__ember--e2 {
	width: 3px;
	height: 3px;
	left: 22%;
	bottom: -2%;
	animation-duration: 6s, 1.1s;
	animation-delay: 1.2s, 0s;
}

.single-locations .location-mobile-page .bowman-founders__ember--e3 {
	width: 10px;
	height: 4px;
	left: 70%;
	bottom: 6%;
	transform: rotate(35deg);
	animation-duration: 9s, 1.6s;
	animation-delay: 0.6s, 0.3s;
}

.single-locations .location-mobile-page .bowman-founders__ember--e4 {
	width: 5px;
	height: 5px;
	left: 86%;
	bottom: -4%;
	animation-duration: 7s, 1.2s;
	animation-delay: 2s, 0.5s;
}

.single-locations .location-mobile-page .bowman-founders__ember--e5 {
	width: 3px;
	height: 3px;
	left: 48%;
	bottom: -2%;
	animation-duration: 10s, 1s;
	animation-delay: 3s, 0.2s;
}

.single-locations .location-mobile-page .bowman-founders__ember--e6 {
	width: 12px;
	height: 5px;
	left: 12%;
	bottom: 55%;
	transform: rotate(-25deg);
	animation-duration: 11s, 1.8s;
	animation-delay: 1.8s, 0.7s;
}

.single-locations .location-mobile-page .bowman-founders__ember--e7 {
	width: 4px;
	height: 4px;
	left: 60%;
	bottom: -3%;
	animation-duration: 7.5s, 1.3s;
	animation-delay: 4.2s, 0.4s;
}

.single-locations .location-mobile-page .bowman-founders__ember--e8 {
	width: 8px;
	height: 3px;
	left: 34%;
	bottom: 4%;
	transform: rotate(18deg);
	animation-duration: 12s, 1.7s;
	animation-delay: 2.6s, 0.1s;
}

.single-locations .location-mobile-page .bowman-founders__ember--e9 {
	width: 3px;
	height: 3px;
	left: 92%;
	bottom: 30%;
	animation-duration: 9.5s, 1.2s;
	animation-delay: 5s, 0.6s;
}

.single-locations .location-mobile-page .bowman-founders__ember--e10 {
	width: 5px;
	height: 5px;
	left: 5%;
	bottom: -4%;
	animation-duration: 8.5s, 1.5s;
	animation-delay: 3.6s, 0.9s;
}

.single-locations .location-mobile-page .bowman-founders__ember--e11 {
	width: 4px;
	height: 4px;
	left: 38%;
	bottom: 2%;
	animation-duration: 9s, 1.3s;
	animation-delay: 1s, 0.2s;
}

.single-locations .location-mobile-page .bowman-founders__ember--e12 {
	width: 3px;
	height: 3px;
	left: 55%;
	bottom: -2%;
	animation-duration: 11s, 1.6s;
	animation-delay: 4.5s, 0.8s;
}

.single-locations .location-mobile-page .bowman-founders__ember--e13 {
	width: 6px;
	height: 3px;
	left: 28%;
	bottom: -3%;
	transform: rotate(-40deg);
	animation-duration: 10s, 1.4s;
	animation-delay: 2.2s, 0.5s;
}

@keyframes bowman-founders-ember-drift {
	0% {
		transform: translateY(0) translateX(0);
		opacity: 0;
	}

	8% {
		opacity: 1;
	}

	75% {
		opacity: 0.8;
	}

	100% {
		transform: translateY(-460px) translateX(34px);
		opacity: 0;
	}
}

@keyframes bowman-founders-ember-flicker {
	0%,
	100% {
		filter: blur(0.8px) brightness(1);
	}

	50% {
		filter: blur(1.4px) brightness(1.6);
	}
}

/* ---------- content ---------- */

.single-locations .location-mobile-page .bowman-founders__inner {
	position: relative;
	z-index: 3;
}

.single-locations .location-mobile-page .bowman-founders__kicker {
	color: #9fd3d6;
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	font-size: 13px;
	line-height: normal;
	letter-spacing: 3px;
	text-transform: uppercase;
	text-align: center;
	text-shadow: 0 0 14px rgba(46, 111, 115, 0.9);
}

/* Three stacked copies of the same wordmark: the blurred glow, the dark
   extrusion, then the masked face on top. */
.single-locations .location-mobile-page .bowman-founders__title-wrap {
	position: relative;
	filter: url(#bowmanFoundersHeat);
	will-change: filter;
}

.single-locations .location-mobile-page .bowman-founders__title {
	font-family: "Archivo Black", sans-serif;
	font-weight: 700;
	font-size: 52px;
	line-height: 0.94;
	text-transform: uppercase;
	color: #fff;
	text-align: center;
	margin: 18px 0 22px;
	padding: 0;
	transform: skewX(-9deg) rotate(-2deg);
	letter-spacing: -1px;
	/* coarse speckle grain in the fill; edges stay clean */
	-webkit-mask-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='3' seed='4'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0.95 0.95 0.95 0 0.3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)'/%3E%3C/svg%3E");
	mask-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='3' seed='4'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0.95 0.95 0.95 0 0.3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)'/%3E%3C/svg%3E");
	-webkit-mask-size: 200px;
	mask-size: 200px;
}

.single-locations .location-mobile-page .bowman-founders__title span {
	display: block;
}

/* soft glow behind the type, since the mask eats text-shadow */
.single-locations .location-mobile-page .bowman-founders__title-glow {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	filter: blur(26px);
	opacity: 0.35;
	pointer-events: none;
}

.single-locations .location-mobile-page .bowman-founders__title-glow .bowman-founders__title {
	-webkit-mask-image: none;
	mask-image: none;
	color: #dff4f5;
	margin: 18px 0 22px;
}

/* dark 3D extrusion beneath the letters */
.single-locations .location-mobile-page .bowman-founders__title-depth {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	pointer-events: none;
}

.single-locations .location-mobile-page .bowman-founders__title-depth .bowman-founders__title {
	-webkit-mask-image: none;
	mask-image: none;
	color: transparent;
	text-shadow:
		2px 3px 0 #020a0b,
		4px 6px 0 #020a0b,
		6px 9px 2px rgba(0, 0, 0, 0.85);
}

.single-locations .location-mobile-page .bowman-founders__sub {
	color: #c8d4d5;
	font-family: "Poppins", sans-serif;
	font-size: 17px;
	line-height: 1.65;
	text-align: center;
	max-width: 28ch;
	margin: 0 auto;
	padding: 0;
}

.single-locations .location-mobile-page .bowman-founders__sub strong {
	color: #fff;
}

.single-locations .location-mobile-page .bowman-founders__cta {
	display: block;
	width: 100%;
	margin: 30px 0 0;
	background: #c24435;
	color: #fff;
	border: none;
	cursor: pointer;
	font-family: "Poppins", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: normal;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	padding: 20px;
	border-radius: 32px 32px 32px 6px;
	box-shadow: 0 0 28px rgba(194, 68, 53, 0.5), 0 6px 20px rgba(0, 0, 0, 0.5);
}

.single-locations .location-mobile-page .bowman-founders__cta:hover,
.single-locations .location-mobile-page .bowman-founders__cta:focus {
	background: #a93a2d;
	color: #fff;
}

.single-locations .location-mobile-page .bowman-founders__note {
	text-align: center;
	color: #8fa0a1;
	font-family: "Poppins", sans-serif;
	font-size: 13.5px;
	line-height: normal;
	margin: 14px 0 0;
	padding: 0;
}

.single-locations .location-mobile-page .bowman-founders__note strong {
	color: #fff;
}

/* ---------- reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {

	.single-locations .location-mobile-page .bowman-founders__ember,
	.single-locations .location-mobile-page .bowman-founders__smoke {
		animation: none;
	}

	.single-locations .location-mobile-page .bowman-founders__ember {
		opacity: 0.6;
	}

	.single-locations .location-mobile-page .bowman-founders__title-wrap {
		filter: url(#bowmanFoundersHeatStatic);
	}
}
