.os-pb-builder {
	--os-pb-container: 1140px;
	--os-pb-text: #1f2937;
	--os-pb-muted: #6b7280;
	--os-pb-light: #f8fafc;
	--os-pb-dark: #0f172a;
	--os-pb-accent: #0ea5e9;
}

.os-pb-section {
	color: var(--os-pb-text);
}

.os-pb-inner {
	max-width: var(--os-pb-container);
	margin: 0 auto;
	padding: 0 20px;
}

.os-pb-container-full .os-pb-inner {
	max-width: 100%;
}

.os-pb-bg-light {
	background: var(--os-pb-light);
}

.os-pb-bg-dark {
	background: var(--os-pb-dark);
	color: #fff;
}

.os-pb-bg-transparent {
	background: transparent;
}

.os-pb-pt-none {
	padding-top: 0;
}

.os-pb-pt-sm {
	padding-top: 24px;
}

.os-pb-pt-md {
	padding-top: 0;
}

.os-pb-pt-lg {
	padding-top: 72px;
}

.os-pb-pt-xl {
	padding-top: 96px;
}

.os-pb-pb-none {
	padding-bottom: 0;
}

.os-pb-pb-sm {
	padding-bottom: 24px;
}

.os-pb-pb-md {
	padding-bottom: 0;
}

.os-pb-pb-lg {
	padding-bottom: 72px;
}

.os-pb-pb-xl {
	padding-bottom: 96px;
}

.os-pb-title {
	margin: 0 0 12px;
	font-size: clamp(1.75rem, 2.5vw, 2.5rem);
}

.os-pb-subtitle {
	margin: 0 0 18px;
	color: var(--os-pb-muted);
}

.os-pb-grid {
	display: grid;
	gap: 24px;
}

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

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

.os-pb-grid-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.os-pb-btn {
	display: inline-block;
	padding: 11px 18px;
	background: var(--os-pb-accent);
	color: #fff;
	text-decoration: none;
	border-radius: 6px;
}

.os-pb-faq-answer {
	display: none;
	margin-top: 12px;
}

.os-pb-faq-item.is-open .os-pb-faq-answer {
	display: block;
}

@media (max-width: 992px) {

	.os-pb-grid-3,
	.os-pb-grid-4,
	.os-pb-grid-2 {
		grid-template-columns: 1fr;
	}
}

.os-pb-section.os-pb-logo_carousel {
	position: relative;
	background: transparent;
	z-index: 3;
	overflow: hidden;
}

.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel {
	padding-top: 0;
	padding-bottom: 2px;
}

.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__viewport {
	position: relative;
	overflow: hidden;
	margin: 0 -20px;
	padding: 0 20px;
}

.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__viewport::before,
.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__viewport::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 140px;
	pointer-events: none;
	z-index: 2;
}

.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__viewport::before {
	left: 0;
	background: linear-gradient(90deg, #f6f3ed 0%, rgba(246, 243, 237, 0.96) 18%, rgba(246, 243, 237, 0) 100%);
}

.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__viewport::after {
	right: 0;
	background: linear-gradient(270deg, #f6f3ed 0%, rgba(246, 243, 237, 0.96) 18%, rgba(246, 243, 237, 0) 100%);
}

.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__track {
	display: flex;
	align-items: center;
	gap: 18px;
	width: max-content;
	animation: os-pb-logo-marquee 28s linear infinite;
	will-change: transform;
}

.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__viewport:hover .os-pb-logo-carousel__track {
	animation-play-state: paused;
}

.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-width: 220px;
	min-height: 74px;
	padding: 0 10px;
	border-radius: 26px;
	text-decoration: none;
	transition: transform 0.25s ease;
}

.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__item:hover {
	transform: translateY(-2px);
}

.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__item-inner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 74px;
	padding: 0 32px;
	border-radius: 26px;
}

.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__image {
	display: block;
	max-width: 180px;
	max-height: 48px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__label {
	color: #28342c;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

@keyframes os-pb-logo-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(calc(-50% - 9px));
	}
}

.os-pb-section.os-pb-quote_banner {
	background: transparent;
}

.os-pb-section.os-pb-quote_banner {
	background: #1d4231;
	color: #ffffff;
}

.os-pb-section.os-pb-quote_banner .os-pb-quote-banner {
	position: relative;
	padding: 80px 0;
	overflow: hidden;
}

.os-pb-section.os-pb-quote_banner .os-pb-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	position: relative;
	z-index: 2;
}

.os-pb-section.os-pb-quote_banner .os-pb-quote-banner__mark {
	flex: 0 0 auto;
	color: rgba(255, 255, 255, 0.1);
	font-size: 140px;
	line-height: 1;
	margin-top: -40px;
}

.os-pb-section.os-pb-quote_banner .os-pb-quote-banner__content {
	max-width: 800px;
	text-align: center;
}

.os-pb-section.os-pb-quote_banner .os-pb-quote-banner__text {
	border: 0;
	margin: 0;
	padding: 0;
	font-size: clamp(20px, 2.8vw, 30px);
	font-weight: 800;
	line-height: 1.6;
	color: #ffffff;
	text-wrap: balance;
}

.os-pb-section.os-pb-quote_banner .os-pb-quote-banner__author {
	margin: 16px 0 0;
	font-size: 13px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.7);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}


.os-pb-section.os-pb-vision_policy {
	background: transparent;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-policy {
	padding-top: 18px;
	padding-bottom: 18px;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-policy__intro {
	max-width: 980px;
	margin-bottom: 30px;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-policy__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	color: #ba2d2d;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-policy__eyebrow::before {
	content: "";
	width: 36px;
	height: 2px;
	border-radius: 999px;
	background: #ba2d2d;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-policy__heading {
	margin: 0 0 14px;
	color: #000000;
	font-size: clamp(34px, 4vw, 44px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.04em;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-policy__lead {
	margin: 0;
	max-width: 900px;
	color: #3f4d45;
	font-size: 20px;
	line-height: 1.8;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-policy__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card {
	padding: 18px 18px 20px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(22, 63, 49, 0.08);
	border-radius: 30px;
	box-shadow: 0 18px 44px rgba(15, 61, 46, 0.07);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 24px 56px rgba(15, 61, 46, 0.1);
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__header {
	display: flex;
	align-items: center;
	gap: 12px;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__number-icon {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: #e9f4ee;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	line-height: 1;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__number-text {
	color: #0f3d2e;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__toggle {
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid rgba(22, 63, 49, 0.12);
	border-radius: 999px;
	background: #fff;
	color: #163f31;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__toggle-icon {
	font-size: 22px;
	line-height: 1;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__title {
	margin: 0 0 10px;
	color: #163f31;
	font-size: 24px;
	line-height: 1.35;
	letter-spacing: -0.02em;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__summary {
	margin: 0;
	color: #4a554f;
	font-size: 16px;
	line-height: 1.82;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__details {
	display: none;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid rgba(22, 63, 49, 0.08);
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card.is-open .os-pb-vision-card__details {
	display: grid;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__detail-box {
	padding: 16px 16px 18px;
	border-radius: 18px;
	border: 1px solid rgba(0, 0, 0, 0.03);
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__detail-box:nth-child(1) {
	background: #fff5f5;
	/* Soft Red */
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__detail-box:nth-child(2) {
	background: #f2f7f4;
	/* Soft Green */
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__detail-box h4 {
	margin: 0 0 10px;
	color: #ba2d2d;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.4;
}

.os-pb-section.os-pb-vision_policy .os-pb-vision-card__detail-box p {
	margin: 0;
	color: #4a554f;
	font-size: 14px;
	line-height: 1.6;
}


.os-pb-section.os-pb-hero {
	--os-pb-hero-green-900: #0f3d2e;
	--os-pb-hero-green-800: #174d3b;
	--os-pb-hero-red-600: #ba2d2d;
	--os-pb-hero-white: #ffffff;
	--os-pb-hero-container: 1200px;
	color: var(--os-pb-hero-white);
}

.os-pb-section.os-pb-hero .os-pb-inner.os-pb-hero__full {
	max-width: none;
	padding: 0px;
}

.os-pb-hero__wrap {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
	gap: 0;
	min-height: clamp(580px, 78vh, 760px);
	background: linear-gradient(135deg, #0f3d2e 0%, #174d3b 52%, #0b2f24 100%);
	border-radius: 0 0 44px 44px;
	overflow: hidden;
	/* box-shadow: 0 28px 80px rgba(7, 31, 23, 0.24); */
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	isolation: isolate;
	background-size: cover;
	background-position: center;
}

.os-pb-hero__wrap::before,
.os-pb-hero__wrap::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	filter: blur(8px);
	opacity: 0.9;
	z-index: -1;
}

.os-pb-hero__wrap::before {
	width: 380px;
	height: 380px;
	top: -110px;
	left: -120px;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 68%);
}

.os-pb-hero__wrap::after {
	width: 340px;
	height: 340px;
	right: -80px;
	bottom: -100px;
	background: radial-gradient(circle, rgba(186, 45, 45, 0.28) 0%, rgba(186, 45, 45, 0) 70%);
}

.os-pb-hero__wrap.has-strong-overlay .os-pb-hero__visual::before {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0)),
		radial-gradient(circle at 65% 40%, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 42%);
}

.os-pb-hero__content {
	padding: 96px 52px 72px max(24px, calc((100vw - var(--os-pb-hero-container)) / 2 + 16px));
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.os-pb-hero__eyebrow {
	display: inline-flex;
	width: fit-content;
	align-self: flex-start;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.84);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.06em;
	margin-bottom: 20px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(8px);
}

.os-pb-hero__title {
	margin: 0 0 18px;
	font-size: clamp(42px, 6vw, 78px);
	line-height: 0.95;
	letter-spacing: -0.04em;
	color: var(--os-pb-hero-white);
	max-width: 760px;
}

.os-pb-hero__lead {
	font-size: 20px;
	color: rgba(255, 255, 255, 0.9);
	max-width: 760px;
	margin: 0 0 18px;
}

.os-pb-hero__storyline {
	max-width: 700px;
	margin: 0 0 30px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 17px;
}

.os-pb-hero__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.os-pb-hero__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 0 22px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 15px;
	border: 1px solid transparent;
	transition: 0.25s ease;
	cursor: pointer;
	white-space: nowrap;
	text-decoration: none;
}

.os-pb-hero__btn-primary {
	background: var(--os-pb-hero-red-600);
	color: var(--os-pb-hero-white);
	border-color: rgba(255, 255, 255, 0.08);
	box-shadow: 0 16px 36px rgba(97, 11, 11, 0.28);
}

.os-pb-hero__btn-primary:hover {
	transform: translateY(-1px);
	background: #0f3d2e;
	color: #fff !important;
}

.os-pb-hero__btn-secondary {
	background: rgba(186, 45, 45, 0.18);
	color: var(--os-pb-hero-white);
	border-color: rgba(255, 255, 255, 0.16);
}

.os-pb-hero__btn-secondary:hover {
	transform: translateY(-1px);
	background: rgba(15, 61, 46, 0.3);
	border-color: rgba(15, 61, 46, 0.24);
}

.os-pb-hero__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 72px max(24px, calc((100vw - var(--os-pb-hero-container)) / 2 + 16px)) 72px 24px;
}

.os-pb-hero__visual::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0)),
		radial-gradient(circle at 65% 40%, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 42%);
	pointer-events: none;
}

.os-pb-hero__map-shell {
	position: relative;
	width: min(100%, 620px);
	aspect-ratio: 0.88;
	z-index: 1;
}

.os-pb-hero__map {
	position: absolute;
	inset: 0;
	border-radius: 34px;
	overflow: hidden;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 247, 245, 0.96)), rgba(255, 255, 255, 0.98);
	border: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow: 0 32px 60px rgba(0, 0, 0, 0.2);
	backdrop-filter: blur(12px);
	cursor: zoom-in;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.os-pb-hero__map:hover {
	transform: translateY(-4px);
	box-shadow: 0 40px 74px rgba(0, 0, 0, 0.24);
}

.os-pb-hero__map::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 61, 46, 0.03), rgba(15, 61, 46, 0));
	pointer-events: none;
}

.os-pb-hero__map img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 30px;
}

.os-pb-hero__wrap.is-align-center .os-pb-hero__content {
	align-items: center;
	text-align: center;
}

.os-pb-hero__wrap.is-align-center .os-pb-hero__eyebrow {
	align-self: center;
}

.os-pb-hero__wrap.is-align-center .os-pb-hero__actions {
	justify-content: center;
}

.os-pb-hero__wrap.is-align-right .os-pb-hero__content {
	align-items: flex-end;
	text-align: right;
}

.os-pb-hero__wrap.is-align-right .os-pb-hero__eyebrow {
	align-self: flex-end;
}

.os-pb-hero__wrap.is-align-right .os-pb-hero__actions {
	justify-content: flex-end;
}

.os-pb-hero-modal {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: flex;
	align-items: end;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.28s ease;
}

.os-pb-hero-modal.is-open {
	opacity: 1;
	pointer-events: auto;
}

.os-pb-hero-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(7, 20, 16, 0.72);
	backdrop-filter: blur(6px);
}

.os-pb-hero-modal__dialog {
	position: relative;
	width: min(1100px, 100%);
	max-height: calc(100vh - 48px);
	background: linear-gradient(180deg, #ffffff 0%, #f3f6f4 100%);
	border-radius: 30px;
	overflow: hidden;
	box-shadow: 0 38px 90px rgba(0, 0, 0, 0.28);
	transform: translateY(120px) scale(0.76);
	transform-origin: center bottom;
	opacity: 0;
	transition: transform 0.42s cubic-bezier(0.2, 0.9, 0.18, 1), opacity 0.32s ease;
}

.os-pb-hero-modal.is-open .os-pb-hero-modal__dialog {
	transform: translateY(0) scale(1);
	opacity: 1;
}

.os-pb-hero-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 20px 22px;
	border-bottom: 1px solid rgba(15, 61, 46, 0.08);
	background: rgba(255, 255, 255, 0.84);
}

.os-pb-hero-modal__head strong {
	display: block;
	font-size: 20px;
	color: var(--os-pb-hero-green-900);
	line-height: 1.2;
}

.os-pb-hero-modal__close {
	width: 46px;
	height: 46px;
	min-width: 46px;
	min-height: 46px;
	padding: 0;
	border-radius: 100%;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: var(--os-pb-hero-red-600);
	color: var(--os-pb-hero-white);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 14px 28px rgba(97, 11, 11, 0.22);
	transition: transform 0.24s ease, background 0.24s ease;
}

.os-pb-hero-modal__close:hover {
	transform: translateY(-1px);
	background: #a12626;
}

.os-pb-hero-modal__body {
	padding: 20px;
	overflow: auto;
	max-height: calc(100vh - 132px);
}

.os-pb-hero-modal__body img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 22px;
	background: #fff;
	border: 1px solid rgba(15, 61, 46, 0.08);
}

@media (max-width: 1100px) {
	.os-pb-hero__wrap {
		grid-template-columns: 1fr;
	}

	.os-pb-hero__content {
		padding-right: 36px;
	}

	.os-pb-hero__visual {
		padding: 0 max(24px, calc((100vw - var(--os-pb-hero-container)) / 2 + 16px)) 56px;
	}
}

@media (max-width: 860px) {
	.os-pb-section.os-pb-quote_banner .os-pb-quote-banner {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.os-pb-section.os-pb-quote_banner .os-pb-quote-banner__card {
		min-height: 0;
		padding: 28px 28px 30px;
		gap: 18px;
	}

	.os-pb-section.os-pb-vision_policy .os-pb-vision-policy {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.os-pb-section.os-pb-vision_policy .os-pb-vision-policy__grid {
		grid-template-columns: 1fr;
	}

	.os-pb-section.os-pb-vision_policy .os-pb-vision-policy__lead {
		font-size: 17px;
	}

	.os-pb-hero__content {
		padding: 52px 26px 28px;
	}

	.os-pb-hero__visual {
		min-height: auto;
		padding: 0 26px 26px;
	}
}

@media (max-width: 560px) {
	.os-pb-section.os-pb-quote_banner .os-pb-quote-banner__card {
		display: block;
		padding: 24px 18px 26px;
	}

	.os-pb-section.os-pb-quote_banner .os-pb-quote-banner__mark {
		margin-bottom: 8px;
		font-size: 78px;
	}

	.os-pb-section.os-pb-quote_banner .os-pb-quote-banner__content {
		text-align: left;
	}

	.os-pb-section.os-pb-quote_banner .os-pb-quote-banner__text {
		font-size: 18px;
		line-height: 1.72;
	}

	.os-pb-section.os-pb-quote_banner .os-pb-quote-banner__author {
		font-size: 13px;
	}

	.os-pb-section.os-pb-vision_policy .os-pb-vision-policy__heading {
		font-size: 34px;
	}

	.os-pb-section.os-pb-vision_policy .os-pb-vision-card {
		padding: 16px 16px 18px;
		border-radius: 24px;
	}

	.os-pb-section.os-pb-vision_policy .os-pb-vision-card__title {
		font-size: 21px;
	}

	.os-pb-section.os-pb-vision_policy .os-pb-vision-card__summary {
		font-size: 15px;
	}

	.os-pb-section.os-pb-vision_policy .os-pb-vision-card__details {
		grid-template-columns: 1fr;
	}

	.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel {
		padding-top: 2px;
		padding-bottom: 4px;
	}

	.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__viewport::before,
	.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__viewport::after {
		width: 64px;
	}

	.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__item {
		min-width: 170px;
		min-height: 62px;
	}

	.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__item-inner {
		min-height: 62px;
		padding: 0 22px;
		border-radius: 22px;
	}

	.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__label {
		font-size: 15px;
	}

	.os-pb-section.os-pb-logo_carousel .os-pb-logo-carousel__image {
		max-width: 144px;
		max-height: 36px;
	}

	.os-pb-hero__title {
		font-size: 38px;
	}

	.os-pb-hero__lead {
		font-size: 16px;
	}

	.os-pb-hero__storyline {
		font-size: 15px;
	}

	.os-pb-hero__map-shell {
		aspect-ratio: auto;
		min-height: 520px;
	}

	.os-pb-hero-modal {
		padding: 12px;
		align-items: end;
	}

	.os-pb-hero-modal__dialog {
		border-radius: 24px 24px 18px 18px;
	}

	.os-pb-hero-modal__head,
	.os-pb-hero-modal__body {
		padding-left: 14px;
		padding-right: 14px;
	}

	.os-pb-hero-modal__body {
		padding-bottom: 14px;
	}
}

.os-pb-section.os-pb-about {
	background: linear-gradient(180deg, #f6f3ed 0%, #fbf8f3 100%);
	position: relative;
	overflow: hidden;
}

.os-pb-section.os-pb-about::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -120px;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(15, 61, 46, 0.08) 0%, rgba(15, 61, 46, 0) 70%);
	pointer-events: none;
}

.os-pb-section.os-pb-about .os-about {
	padding: 60px 0;
	position: relative;
	z-index: 1;
}

.os-pb-section.os-pb-about .os-about__container {
	width: min(1200px, calc(100% - 32px));
	margin: 0 auto;
}

.os-pb-section.os-pb-about .os-about__shell {
	position: relative;
	padding: 0;
}

.os-pb-section.os-pb-about .os-about__grid {
	display: grid;
	grid-template-columns: minmax(320px, 0.86fr) minmax(0, 1.14fr);
	gap: 22px;
	align-items: stretch;
}

.os-pb-section.os-pb-about .os-about__profile,
.os-pb-section.os-pb-about .os-about__content {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(21, 32, 24, 0.08);
	border-radius: 30px;
	padding: 34px;
	box-shadow: 0 20px 52px rgba(15, 61, 46, 0.07);
	backdrop-filter: blur(12px);
}

.os-pb-section.os-pb-about .os-about__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #ba2d2d;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 24px;
}

.os-pb-section.os-pb-about .os-about__eyebrow::before {
	content: "";
	width: 34px;
	height: 2px;
	border-radius: 999px;
	background: #ba2d2d;
	flex: 0 0 auto;
}

.os-pb-section.os-pb-about .os-about__photo-shell {
	position: relative;
	margin-bottom: 22px;
	width: min(100%, 220px);
	margin-left: auto;
	margin-right: auto;
	border-radius: 28px;
	overflow: hidden;
	background: linear-gradient(180deg, #e7f0eb 0%, #f8faf9 100%);
	border: 1px solid rgba(15, 61, 46, 0.08);
	box-shadow: 0 20px 44px rgba(15, 61, 46, 0.12);
}

.os-pb-section.os-pb-about .os-about__photo {
	display: block;
	width: 100%;
	aspect-ratio: 0.9;
	object-fit: cover;
}

.os-pb-section.os-pb-about .os-about__photo--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, #174d3b 0%, #0f3d2e 100%);
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(48px, 8vw, 88px);
	font-weight: 800;
	letter-spacing: -0.04em;
}

.os-pb-section.os-pb-about .os-about__profile-copy {
	position: relative;
	padding-top: 4px;
}

.os-pb-section.os-pb-about .os-about__name {
	margin: 0 0 14px;
	font-size: clamp(32px, 2vw, 52px);
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: #0f3d2e;
}

.os-pb-section.os-pb-about .os-about__summary {
	margin: 0;
	font-size: 16px;
	line-height: 1.82;
	color: #203126;
	font-weight: 500;
}

.os-pb-section.os-pb-about .os-about__content {
	padding-top: 42px;
	justify-content: center;
}

.os-pb-section.os-pb-about .os-about__content-accent {
	position: absolute;
	top: 26px;
	left: 34px;
	width: 72px;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, #ba2d2d 0%, rgba(186, 45, 45, 0.18) 100%);
}

.os-pb-section.os-pb-about .os-about__content-title {
	margin: 0 0 22px;
	max-width: 720px;
	color: #4d5550;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.8;
}

.os-pb-section.os-pb-about .os-about__text p {
	margin: 0 0 20px;
	color: #48514b;
	font-size: 18px;
	line-height: 1.95;
	text-wrap: pretty;
}

.os-pb-section.os-pb-about .os-about__text p:last-child {
	margin-bottom: 0;
}

.os-pb-section.os-pb-about .os-about__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 30px;
}

.os-pb-section.os-pb-about .os-about__highlights-wrap {
	margin-top: 28px;
	padding: 8px 4px 4px;
}

.os-pb-section.os-pb-about .os-about__highlights-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.os-pb-section.os-pb-about .os-about__highlight-card {
	position: relative;
	min-height: 100%;
	padding: 26px 24px 28px;
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(21, 32, 24, 0.08);
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 18px 44px rgba(15, 61, 46, 0.06);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.os-pb-section.os-pb-about .os-about__highlight-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	border-radius: 24px 24px 0 0;
	background: #0f3d2e;
	opacity: 0;
	transform: scaleX(0.35);
	transform-origin: center;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.os-pb-section.os-pb-about .os-about__highlight-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 56px rgba(15, 61, 46, 0.1);
	border-color: rgba(15, 61, 46, 0.16);
}

.os-pb-section.os-pb-about .os-about__highlight-card:hover::before {
	opacity: 1;
	transform: scaleX(1);
}

.os-pb-section.os-pb-about .os-about__highlight-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: linear-gradient(180deg, #d8efda 0%, #c7e8ca 100%);
	font-size: 21px;
	margin-bottom: 16px;
}

.os-pb-section.os-pb-about .os-about__highlight-label {
	margin-bottom: 10px;
	color: #8a918b;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.os-pb-section.os-pb-about .os-about__highlight-title {
	margin: 0 0 14px;
	color: #20271f;
	font-size: 20px;
	line-height: 1.4;
	letter-spacing: -0.02em;
}

.os-pb-section.os-pb-about .os-about__highlight-text {
	margin: 0;
	color: #5f6862;
	font-size: 16px;
	line-height: 1.85;
}

.os-pb-section.os-pb-about .os-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: 0.25s ease;
	border: 1px solid transparent;
}

.os-pb-section.os-pb-about .os-btn--primary {
	background: #0f3d2e;
	color: #fff;
	box-shadow: 0 18px 34px rgba(15, 61, 46, 0.16);
}

.os-pb-section.os-pb-about .os-btn--primary:hover {
	transform: translateY(-2px);
	background: #ba2d2d;
}

.os-pb-section.os-pb-about .os-btn--secondary {
	background: #fff;
	color: #0f3d2e;
	border-color: rgba(15, 61, 46, 0.14);
}

.os-pb-section.os-pb-about .os-btn--secondary:hover {
	background: #fff5f5;
	border-color: rgba(186, 45, 45, 0.3);
	transform: translateY(-2px);
}

.os-pb-section.os-pb-about .os-about__profile,
.os-pb-section.os-pb-about .os-about__content,
.os-pb-section.os-pb-about .os-about__highlight-card {
	opacity: 0;
	transform: translateY(24px);
}

.os-pb-section.os-pb-about .os-about__profile.is-visible,
.os-pb-section.os-pb-about .os-about__content.is-visible,
.os-pb-section.os-pb-about .os-about__highlight-card.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 1024px) {
	.os-pb-section.os-pb-about .os-about__shell {
		padding: 18px;
	}

	.os-pb-section.os-pb-about .os-about__grid {
		grid-template-columns: 1fr;
	}

	.os-pb-section.os-pb-about .os-about__highlights-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.os-pb-section.os-pb-about .os-about {
		padding: 68px 0;
	}

	.os-pb-section.os-pb-about .os-about__shell {
		padding: 14px;
		border-radius: 28px;
	}

	.os-pb-section.os-pb-about .os-about__content-title {
		font-size: 16px;
		line-height: 1.75;
	}

	.os-pb-section.os-pb-about .os-about__shell::before {
		inset: 12px;
		border-radius: 22px;
	}

	.os-pb-section.os-pb-about .os-about__profile,
	.os-pb-section.os-pb-about .os-about__content {
		padding: 26px;
		border-radius: 24px;
	}

	.os-pb-section.os-pb-about .os-about__eyebrow {
		font-size: 12px;
	}

	.os-pb-section.os-pb-about .os-about__content {
		padding-top: 36px;
	}

	.os-pb-section.os-pb-about .os-about__content-accent {
		top: 22px;
		left: 26px;
		width: 56px;
	}

	.os-pb-section.os-pb-about .os-about__summary {
		font-size: 17px;
	}

	.os-pb-section.os-pb-about .os-about__text p {
		font-size: 15px;
		line-height: 1.8;
	}

	.os-pb-section.os-pb-about .os-about__highlights-wrap {
		margin-top: 22px;
		padding-left: 0;
		padding-right: 0;
	}

	.os-pb-section.os-pb-about .os-about__highlights-intro {
		font-size: 15px;
		line-height: 1.8;
		margin-bottom: 18px;
	}

	.os-pb-section.os-pb-about .os-about__highlights-grid {
		grid-template-columns: 1fr;
	}

	.os-pb-section.os-pb-about .os-about__highlight-card {
		padding: 22px 20px 24px;
		border-radius: 20px;
	}

	.os-pb-section.os-pb-about .os-about__highlight-title {
		font-size: 18px;
	}

	.os-pb-section.os-pb-about .os-about__highlight-text {
		font-size: 15px;
		line-height: 1.8;
	}
}

/* Manifesto Section */
.os-pb-section.os-pb-manifesto {
	background: #1d4231;
	color: rgba(255, 255, 255, 0.9);
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 60px;
	align-items: center;
	padding: 60px 0;
}

@media (max-width: 992px) {
	.os-pb-section.os-pb-manifesto .os-pb-manifesto-wrap {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, 0.7);
	margin-bottom: 24px;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-eyebrow::before {
	content: "";
	width: 32px;
	height: 2px;
	background: #ba2d2d;
	border-radius: 2px;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-heading {
	font-size: clamp(34px, 4vw, 44px);
	line-height: 1.15;
	color: #ffffff;
	margin: 0 0 24px;
	font-weight: 800;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-highlight {
	color: #d13030;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-desc {
	font-size: 16px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 40px;
	max-width: 92%;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 40px;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	max-width: 92%;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-stat__value {
	display: block;
	font-size: 42px;
	line-height: 1;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 8px;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-stat__suffix {
	color: #d13030;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-stat__label {
	display: block;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.7);
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-action {
	margin-top: 10px;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 34px;
	border-radius: 999px;
	/* Pill shape requested */
	background: #ba2d2d;
	color: #ffffff;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.2s ease;
	border: none;
	cursor: pointer;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-btn:hover {
	background: #0f3d2e;
	transform: translateY(-2px);
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-card {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 24px;
	padding: 36px 42px;
	backdrop-filter: blur(12px);
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-card__title {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.6);
	margin: 0 0 24px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-list li {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-list li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-list li:first-child {
	padding-top: 0;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-list__icon {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	flex: 0 0 auto;
}

.os-pb-section.os-pb-manifesto .os-pb-manifesto-list__text {
	font-size: 15px;
	color: #ffffff;
	font-weight: 600;
	line-height: 1.5;
}

/* Latest Posts (Blog) Section */
.os-pb-section.os-pb-latest_posts {
	background: #F6F3ED;
}

.os-pb-latest-posts-wrap {
	display: flex;
	flex-direction: column;
}

.os-pb-latest-posts-header {
	margin-bottom: 40px;
}

.os-pb-latest-posts-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.1em;
	color: #d13030;
	margin-bottom: 12px;
}

.os-pb-latest-posts-eyebrow::before {
	content: "";
	width: 32px;
	height: 2px;
	background: #d13030;
	border-radius: 2px;
}

.os-pb-latest-posts-heading {
	font-size: clamp(34px, 4vw, 44px);
	line-height: 1.15;
	color: #1a1a1a;
	margin: 0;
	font-weight: 800;
}

.os-pb-latest-posts-grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 30px;
	align-items: stretch;
}

@media (max-width: 992px) {
	.os-pb-latest-posts-grid {
		grid-template-columns: 1fr;
	}
}

/* Featured Post (Left) */
.os-pb-latest-posts-featured {
	background: #ffffff;
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	border: 1px solid rgba(0, 0, 0, 0.05);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.os-pb-latest-posts-featured-img {
	position: relative;
	height: 380px;
	width: 100%;
}

.os-pb-latest-posts-featured-img img,
.os-pb-latest-posts-fallback-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.os-pb-latest-posts-fallback-img {
	background-color: #27523d;
	background-image: linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
	background-size: 30px 30px;
}

.os-pb-latest-posts-featured-badge {
	position: absolute;
	bottom: 24px;
	left: 24px;
	background: #c32026;
	color: #ffffff;
	padding: 6px 16px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 700;
}

.os-pb-latest-posts-featured-content {
	padding: 32px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.os-pb-latest-posts-meta {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
	font-size: 13px;
	font-weight: 600;
	color: #888888;
}

.os-pb-latest-posts-tag {
	background: #e6f0eb;
	color: #27523d;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}

.os-pb-latest-posts-featured-title {
	font-size: 28px;
	line-height: 1.35;
	margin: 0 0 16px;
	font-weight: 800;
}

.os-pb-latest-posts-featured-title a {
	color: #222222;
	text-decoration: none;
	transition: color 0.2s ease;
}

.os-pb-latest-posts-featured-title a:hover {
	color: #c32026;
}

.os-pb-latest-posts-featured-excerpt {
	font-size: 16px;
	line-height: 1.7;
	color: #555555;
	margin: 0 0 30px;
	flex-grow: 1;
}

.os-pb-latest-posts-read-more {
	display: inline-block;
	color: #27523d;
	font-weight: 800;
	font-size: 14px;
	text-decoration: none;
	transition: color 0.2s ease;
}

.os-pb-latest-posts-read-more:hover {
	color: #1a3c2b;
}

/* Post List (Right) */
.os-pb-latest-posts-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.os-pb-latest-posts-item {
	display: flex;
	align-items: flex-start;
	background: #ffffff;
	border-radius: 12px;
	padding: 24px;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	border: 1px solid rgba(0, 0, 0, 0.03);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.os-pb-latest-posts-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}

.os-pb-latest-posts-item-num {
	font-size: 14px;
	font-weight: 700;
	color: #aaaaaa;
	margin-right: 20px;
	padding-top: 4px;
	min-width: 24px;
}

.os-pb-latest-posts-item-content {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.os-pb-latest-posts-item-cat {
	font-size: 12px;
	font-weight: 800;
	color: #c32026;
	letter-spacing: 0.05em;
}

.os-pb-latest-posts-item-title {
	font-size: 17px;
	line-height: 1.5;
	font-weight: 800;
	color: #222222;
	margin: 0;
	transition: color 0.2s ease;
}

.os-pb-latest-posts-item:hover .os-pb-latest-posts-item-title {
	color: #c32026;
}

.os-pb-latest-posts-item-date {
	font-size: 13px;
	color: #999999;
	margin-top: 4px;
}

/* Community Section */
.os-pb-section.os-pb-community {
	background: #faf8f5;
}

.os-pb-community-wrap {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	/* Image shows right card a bit wider/equal, wait screenshot is left 1fr right 1fr roughly, let's do 1fr 1fr */
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	padding: 80px 0;
}

@media (max-width: 992px) {
	.os-pb-community-wrap {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

.os-pb-community-header {
	margin-bottom: 40px;
}

.os-pb-community-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.1em;
	color: #c32026;
	margin-bottom: 12px;
}

.os-pb-community-eyebrow::before {
	content: "";
	width: 32px;
	height: 2px;
	background: #c32026;
	border-radius: 2px;
}

.os-pb-community-heading {
	font-size: clamp(34px, 4vw, 44px);
	line-height: 1.15;
	color: #222222;
	margin: 0 0 20px;
	font-weight: 800;
}

.os-pb-community-intro {
	font-size: 16px;
	line-height: 1.7;
	color: #555555;
	margin: 0;
	max-width: 95%;
}

.os-pb-community-platforms {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 40px;
}

.os-pb-community-platform-card {
	display: flex;
	align-items: center;
	background: #ffffff;
	border-radius: 12px;
	padding: 16px 24px;
	text-decoration: none;
	border: 1px solid rgba(0, 0, 0, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.os-pb-community-platform-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.04);
}

.os-pb-community-platform-icon {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 20px;
	font-size: 28px;
	background: #f0f4f8;
	border-radius: 12px;
}

.os-pb-community-platform-icon img {
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.os-pb-community-emoji {
	line-height: 1;
}

.os-pb-community-platform-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex-grow: 1;
}

.os-pb-community-platform-title {
	font-size: 16px;
	font-weight: 800;
	color: #222222;
}

.os-pb-community-platform-sub {
	font-size: 13px;
	color: #888888;
}

.os-pb-community-platform-arrow {
	color: #cccccc;
	font-size: 18px;
	transition: color 0.2s ease, transform 0.2s ease;
}

.os-pb-community-platform-card:hover .os-pb-community-platform-arrow {
	color: #27523d;
	transform: translateX(4px);
}

.os-pb-community-actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.os-pb-community-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
	transition: all 0.2s ease;
	cursor: pointer;
}

.os-pb-community-btn--solid {
	background: #1d4231;
	color: #ffffff;
	border: 2px solid #1d4231;
}

.os-pb-community-btn--solid:hover {
	background: #ba2d2d;
	border-color: #ba2d2d;
	color: #ffffff;
}

.os-pb-community-btn--outline {
	background: transparent;
	color: #1d4231;
	border: 2px solid #1d4231;
}

.os-pb-community-btn--outline:hover {
	background: rgba(186, 45, 45, 0.05);
	color: #ba2d2d;
}

/* Right Card */
.os-pb-community-card {
	background: #1d4231;
	border-radius: 16px;
	color: #ffffff;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 50px;
	height: 100%;
}

.os-pb-community-card-eyebrow {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, 0.6);
	margin-bottom: 24px;
}

.os-pb-community-card-title {
	font-size: 32px;
	line-height: 1.25;
	margin: 0 0 24px;
	font-weight: 800;
	color: #fff;
}

.os-pb-community-card-desc {
	font-size: 16px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 40px;
}

.os-pb-community-stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	padding-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.os-pb-community-stat {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.os-pb-community-stat-num {
	font-size: 32px;
	font-weight: 800;
	line-height: 1;
}

.os-pb-community-stat-label {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
	font-weight: 600;
}

.os-pb-section.os-pb-contact {
	background: #F6F3ED;
}

.os-pb-contact-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	padding: 80px 0;
	align-items: start;
}

@media (max-width: 992px) {
	.os-pb-contact-wrap {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

.os-pb-contact-header {
	margin-bottom: 40px;
}

.os-pb-contact-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.1em;
	color: #c32026;
	margin-bottom: 12px;
}

.os-pb-contact-eyebrow::before {
	content: "";
	width: 32px;
	height: 2px;
	background: #c32026;
	border-radius: 2px;
}

.os-pb-contact-heading {
	font-size: clamp(34px, 4vw, 44px);
	line-height: 1.15;
	color: #222222;
	margin: 0 0 20px;
	font-weight: 800;
}

.os-pb-contact-desc {
	font-size: 16px;
	line-height: 1.7;
	color: #555555;
	margin: 0;
}

.os-pb-contact-items {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.os-pb-contact-item-card {
	display: flex;
	align-items: center;
	background: #ffffff;
	border-radius: 12px;
	padding: 16px 24px;
	text-decoration: none;
	border: 1px solid rgba(0, 0, 0, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.os-pb-contact-item-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.04);
}

.os-pb-contact-item-icon {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 20px;
	font-size: 24px;
	/* background: #e6f0eb; */
	border-radius: 12px;
	flex-shrink: 0;
}

.os-pb-contact-item-text {
	display: flex;
	flex-direction: column;
}

.os-pb-contact-item-label {
	font-size: 12px;
	font-weight: 700;
	color: #999999;
	margin-bottom: 2px;
}

.os-pb-contact-item-value {
	font-size: 14px;
	font-weight: 600;
	color: #222222;
}

/* Form Card */
.os-pb-contact-form-card {
	background: #ffffff;
	border-radius: 16px;
	padding: 40px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.os-pb-contact-form-title {
	font-size: 24px;
	font-weight: 800;
	margin: 0 0 30px;
	color: #222222;
}

.os-pb-form-field {
	margin-bottom: 24px;
}

.os-pb-form-field label {
	display: block;
	font-size: 13px;
	font-weight: 800;
	color: #222222;
	margin-bottom: 8px;
}

.os-pb-form-field input,
.os-pb-form-field textarea {
	width: 100%;
	background: #f9f9f9;
	border: 1px solid #eeeeee;
	border-radius: 8px;
	padding: 12px 16px;
	font-size: 14px;
	color: #333333;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.os-pb-form-field input:focus,
.os-pb-form-field textarea:focus {
	outline: none;
	border-color: #1d4231;
	background: #ffffff;
}

.os-pb-form-field textarea {
	min-height: 120px;
	resize: vertical;
}

.os-pb-contact-form-submit {
	width: 100%;
	background: #1d4231;
	color: #ffffff;
	border: none;
	border-radius: 8px;
	padding: 16px;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	transition: background 0.2s ease;
}

.os-pb-contact-form-submit:hover {
	background: #ba2d2d;
}

/* WP CF7 / Gravity Forms compatibility */
.os-pb-contact-form-body .wpcf7-form-control-wrap {
	display: block;
	margin-bottom: 15px;
}

.os-pb-contact-form-body input[type="text"],
.os-pb-contact-form-body input[type="email"],
.os-pb-contact-form-body input[type="tel"],
.os-pb-contact-form-body textarea {
	width: 100%;
	background: #f9f9f9;
	border: 1px solid #eeeeee;
	border-radius: 8px;
	padding: 12px 16px;
	font-size: 14px;
}

.os-pb-contact-form-body input[type="submit"] {
	width: 100%;
	background: #1d4231;
	color: #ffffff;
	border: none;
	border-radius: 8px;
	padding: 16px;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
}

/* Global Footer Section */
.site-footer {
	background: #1D4231;
	color: #ffffff;
	padding: 80px 0 40px;
	font-family: inherit;
}

.footer-top {
	display: grid;
	grid-template-columns: 1.4fr 0.8fr 0.8fr;
	gap: 60px;
	margin-bottom: 80px;
}

@media (max-width: 992px) {
	.footer-top {
		grid-template-columns: 1fr;
		gap: 40px;
		margin-bottom: 60px;
	}
}

.footer-col-brand h3 {
	font-size: 20px;
	color: #ffffff;
	margin: 0 0 20px;
	font-weight: 800;
}

.footer-col-brand p {
	font-size: 14px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.65);
	margin: 0;
	max-width: 440px;
}

.footer-col-label {
	display: block;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #fff;
	margin-bottom: 24px;
	font-weight: 700;
}

.footer-nav-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.footer-nav-list a {
	color: rgba(255, 255, 255, 0.7);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	transition: color 0.2s ease;
}

.footer-nav-list a:hover {
	color: #ffffff;
}

.footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.footer-copy {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.4);
}

.footer-tagline {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.4);
	font-weight: 600;
}

/* Announcement Bar */
.os-pb-announcement-bar {
	width: 100%;
	padding: clamp(6px, 1.5vw, 10px) clamp(10px, 3vw, 20px);
	font-size: clamp(10px, 3.2vw, 14px);
	line-height: 1.5;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	box-sizing: border-box;
	display: block;
	z-index: 99999;
}

.os-pb-announcement-bar-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: clamp(8px, 2.5vw, 15px);
	flex-wrap: nowrap;
}

.os-pb-announcement-bar-text {
	display: inline-flex;
	align-items: center;
	gap: clamp(4px, 1.2vw, 8px);
	font-weight: 500;
}

.os-pb-announcement-bar-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(12px, 3.5vw, 18px);
	height: clamp(12px, 3.5vw, 18px);
	flex-shrink: 0;
}

.os-pb-announcement-bar-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.os-pb-announcement-bar-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: clamp(4px, 1vw, 6px) clamp(10px, 2.5vw, 18px);
	border: 1px solid;
	border-radius: 30px;
	text-decoration: none;
	font-size: clamp(9px, 3vw, 13px);
	font-weight: 600;
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
	flex-shrink: 0;
}

.os-pb-announcement-bar-btn:hover {
	opacity: 0.85;
}

.os-pb-announcement-bar-btn .arrow {
	display: inline-block;
	transition: transform 0.2s ease;
}

.os-pb-announcement-bar-btn:hover .arrow {
	transform: translateX(3px);
}

@media (max-width: 768px) {
	.os-pb-announcement-bar {
		padding: 8px 12px;
	}
}

.os-pb-announcement-bar-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

/* Full width page builder container overrides for Astra */
body.os-pb-active-page #content.site-content .ast-container {
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.os-pb-active-page #content.site-content {
	padding: 0 !important;
}

body.os-pb-active-page .ast-row {
	margin: 0 !important;
}

body.os-pb-active-page .ast-row .ast-col-md-12 {
	padding: 0 !important;
}

/* Custom Header Overlay & Sticky styles */
.os-pb-custom-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	background-color: var(--os-pb-header-bg);
	transition: background-color 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease;
}

/* When the header is sticky on scroll */
.os-pb-custom-header.is-sticky {
	position: fixed;
	top: 0 !important;
	left: 0;
	background-color: var(--os-pb-header-sticky-bg, #292929);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.os-pb-header-inner {
	width: 94%;
	max-width: 1440px;
	margin: 0 auto;
	padding: 12px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	transition: padding 0.3s ease;
}

.os-pb-custom-header.is-sticky .os-pb-header-inner {
	padding: 8px 20px;
}

.os-pb-header-logo {
	display: flex;
	align-items: center;
}

.os-pb-header-logo a {
	text-decoration: none;
	display: block;
}

.os-pb-header-logo img {
	max-height: 45px;
	width: auto;
	display: block;
}

.os-pb-header-logo .site-title {
	font-size: 22px;
	font-weight: 800;
	color: var(--os-pb-header-link);
}

.os-pb-header-nav {
	display: flex;
	align-items: center;
}

.os-pb-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

.os-pb-menu li {
	position: relative;
}

.os-pb-menu a {
	text-decoration: none;
	color: var(--os-pb-header-link);
	font-weight: 600;
	font-size: 14px;
	padding: 8px 16px;
	display: inline-block;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.os-pb-menu a:hover {
	color: var(--os-pb-header-link-hover);
}

/* Active menu item styling - Pill background */
.os-pb-menu .current-menu-item>a {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 30px;
}

.os-pb-custom-header.is-sticky .os-pb-menu .current-menu-item>a {
	background: rgba(255, 255, 255, 0.08);
}

/* Submenu / Dropdown rendering */
.os-pb-menu li ul {
	position: absolute;
	top: 100%;
	left: 0;
	background: #ffffff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	list-style: none;
	margin: 0;
	padding: 10px 0;
	display: none;
	min-width: 180px;
	z-index: 100;
	border-radius: 4px;
}

.os-pb-menu li ul li a {
	color: #1f2937 !important;
	padding: 8px 20px;
	display: block;
	font-size: 13px;
	font-weight: 500;
}

.os-pb-menu li ul li a:hover {
	background: #f3f4f6;
	color: var(--os-pb-header-link-hover) !important;
}

.os-pb-menu li:hover>ul {
	display: block;
}

/* CTA Header button styling */
.os-pb-header-actions-wrap {
	display: flex;
	align-items: center;
	gap: 15px;
}

.os-pb-header-btn {
	display: inline-flex;
	align-items: center;
	padding: 10px 24px;
	background-color: var(--os-pb-header-btn-bg);
	color: var(--os-pb-header-btn-text);
	border: 1px solid var(--os-pb-header-btn-bg);
	border-radius: 15px 0 15px 15px;
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	transition: all 0.3s ease;
}

.os-pb-header-btn:hover {
	background-color: var(--os-pb-header-btn-hover-bg);
	color: var(--os-pb-header-btn-hover-text);
	border-color: var(--os-pb-header-btn-hover-bg);
}

/* Hamburger mobile toggle icon - fully reset */
.os-pb-menu-toggle {
	display: none;
	background: transparent !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 24px !important;
	height: 24px !important;
	cursor: pointer;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
}

.hamburger-bar {
	display: block;
	width: 22px;
	height: 2px;
	background-color: var(--os-pb-header-link);
	transition: transform 0.3s ease, opacity 0.3s ease;
}

@media (max-width: 1024px) {
	.os-pb-menu-toggle {
		display: flex;
	}

	.os-pb-header-inner {
		padding: 8px 15px;
	}

	.os-pb-header-nav {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background-color: #0c0c0b !important;
		display: none;
		flex-direction: column;
		padding: 20px 0;
		box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
		box-sizing: border-box;
		border-top: 1px solid rgba(255, 255, 255, 0.05);
		z-index: 999999 !important;
	}

	.os-pb-header-nav.is-active {
		display: flex;
	}

	.os-pb-menu {
		flex-direction: column;
		gap: 0;
		width: 100%;
	}

	.os-pb-menu li {
		width: 100%;
		text-align: center;
	}

	.os-pb-menu a {
		display: block;
		padding: 12px 20px;
		width: 100%;
		box-sizing: border-box;
	}

	.os-pb-menu li ul {
		position: static;
		width: 100%;
		box-shadow: none;
		background: rgba(0, 0, 0, 0.2);
		border-radius: 0;
		padding: 5px 0;
	}

	.os-pb-menu li ul li a {
		color: rgba(255, 255, 255, 0.8) !important;
		padding-left: 20px;
	}

	.os-pb-menu-toggle.is-active .hamburger-bar:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.os-pb-menu-toggle.is-active .hamburger-bar:nth-child(2) {
		opacity: 0;
	}

	.os-pb-menu-toggle.is-active .hamburger-bar:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}
}

/* Premium Barber Hero Section Styles */
.os-pb-barber-hero {
	background: radial-gradient(circle at 60% 40%, var(--os-pb-hero-bg-start, #1a1712) 0%, var(--os-pb-hero-bg-end, #080807) 100%);
	padding: clamp(100px, 15vw, 160px) 0 0 0;
	color: #ffffff;
	position: relative;
	overflow: hidden;
	min-height: 95vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-sizing: border-box;
}

.os-pb-barber-hero-inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px 60px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
	box-sizing: border-box;
	flex-grow: 1;
}


/* Left: Content Column */
.os-pb-barber-hero-content {
	flex: 1.1;
	min-width: 0;
	z-index: 5;
}

.os-pb-hero-eyebrow {
	font-size: clamp(11px, 2.5vw, 13px);
	color: var(--os-pb-hero-cursive, #c28e47);
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	display: block;
	margin-bottom: 12px;
	font-family: 'Montserrat', sans-serif;
}

.os-pb-hero-title {
	font-family: 'Anton', 'Impact', sans-serif;
	font-size: clamp(55px, 9.5vw, 105px);
	line-height: 0.88;
	margin: 0 0 12px 0;
	text-transform: uppercase;
	letter-spacing: -1px;
}

.os-pb-hero-title .title-white {
	color: var(--os-pb-hero-title-white, #ffffff);
	display: block;
	letter-spacing: .2rem;
	font-size: 12rem;
}

.os-pb-hero-title .title-gold {
	color: var(--os-pb-hero-title-gold, #c28e47);
	display: block;
	margin-top: 20px;
	font-size: 14rem;
}

.os-pb-hero-cursive {
	font-family: 'Yellowtail', 'Playball', cursive;
	font-size: clamp(32px, 5.5vw, 52px);
	color: var(--os-pb-hero-cursive, #c28e47);
	margin-bottom: 22px;
	line-height: 1.1;
	font-weight: 400;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

/* Split cursive first word to gold/white dynamically inside template if needed, but styling here applies universally */
.os-pb-hero-cursive::first-line {
	color: #ffffff;
}

.os-pb-hero-description {
	font-family: 'Montserrat', sans-serif;
	font-size: clamp(14px, 3vw, 16px);
	color: var(--os-pb-hero-desc, rgba(255, 255, 255, 0.7));
	line-height: 1.6;
	margin: 0 0 35px 0;
	max-width: 480px;
}

.os-pb-hero-buttons {
	display: flex;
	gap: 15px;
	align-items: center;
}

/* Premium Buttons Styling */
.os-pb-btn-flat-gold,
.os-pb-btn-flat-gold:visited,
.os-pb-btn-flat-gold:focus,
.os-pb-btn-flat-gold:active {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	background-color: var(--os-pb-hero-b1-bg, #c28e47);
	color: var(--os-pb-hero-b1-text, #0c0c0b);
	border: 1px solid var(--os-pb-hero-b1-bg, #c28e47);
	border-radius: 15px 0 15px 15px;
	text-decoration: none !important;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 1px;
	line-height: 1.2;
	transition: all 0.3s ease;
	font-family: 'Montserrat', sans-serif;
	outline: none !important;
}

.os-pb-btn-flat-gold:hover {
	background-color: var(--os-pb-hero-b1-h-bg, #ffffff);
	border-color: var(--os-pb-hero-b1-h-bg, #ffffff);
	color: var(--os-pb-hero-b1-h-text, #0c0c0b);
	transform: translateY(-2px);
}

.os-pb-btn-outline-gold {
	display: inline-flex;
	align-items: center;
	padding: 13px 28px;
	background-color: transparent;
	color: var(--os-pb-hero-b2-text, #c28e47);
	border: 2px solid var(--os-pb-hero-b2-border, #c28e47);
	border-radius: 15px 0 15px 15px;
	text-decoration: none;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 1px;
	line-height: 1.2;
	transition: all 0.3s ease;
	font-family: 'Montserrat', sans-serif;
}

.os-pb-btn-outline-gold:hover {
	background-color: var(--os-pb-hero-b2-h-bg, #c28e47);
	border-color: var(--os-pb-hero-b2-h-bg, #c28e47);
	color: var(--os-pb-hero-b2-h-text, #0c0c0b);
	transform: translateY(-2px);
}

/* Right: Visual Column */
.os-pb-barber-hero-visual {
	flex: 0.9;
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 4;
}

.barber-img-wrap {
	position: relative;
	max-width: 440px;
	width: 100%;
}

.barber-portrait-img {
	width: 100%;
	height: auto;
	border-radius: 40px 0 40px 40px;
	box-shadow: 0 20px 45px rgba(0, 0, 0, 0.6);
	display: block;
	border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Floating Experience Circle Badge */
.floating-badge-experience {
	position: absolute;
	top: 15%;
	left: -40px;
	width: clamp(100px, 12vw, 125px);
	height: clamp(100px, 12vw, 125px);
	border: 2px solid #c28e47;
	background: rgba(10, 10, 9, 0.92);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 10;
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4);
}

.badge-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.badge-tag {
	font-size: clamp(7px, 2vw, 9px);
	color: rgba(255, 255, 255, 0.5);
	font-weight: 600;
	letter-spacing: 1px;
}

.badge-val {
	font-size: clamp(22px, 3.5vw, 28px);
	color: #c28e47;
	font-family: 'Anton', sans-serif;
	font-weight: 700;
	margin: 2px 0;
}

.badge-lbl {
	font-size: clamp(7px, 2vw, 9px);
	color: #ffffff;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.5px;
}

.badge-stars {
	font-size: clamp(7px, 2vw, 9px);
	color: #c28e47;
	margin-top: 4px;
	letter-spacing: 1px;
}

/* Floating Google Rating Card */
.floating-badge-rating {
	position: absolute;
	bottom: 22%;
	right: -30px;
	background: rgba(12, 12, 11, 0.88);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-radius: 12px;
	padding: 10px 15px;
	display: flex;
	align-items: center;
	gap: 12px;
	z-index: 10;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.rating-g-logo {
	background: #ffffff;
	border-radius: 50%;
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.rating-g-logo svg {
	display: block;
}

.rating-text-wrap {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.rating-val {
	font-size: 15px;
	color: #ffffff;
	font-weight: 800;
	font-family: 'Montserrat', sans-serif;
}

.rating-stars {
	color: #ffb703;
	font-size: 10px;
	margin: 1px 0;
	letter-spacing: 0.5px;
}

.rating-reviews {
	font-size: 9px;
	color: rgba(255, 255, 255, 0.5);
	font-weight: 500;
}

/* Bottom: 3-column features bar */
.os-pb-barber-hero-features {
	background: linear-gradient(90deg, var(--os-pb-hero-feat-bg-start, #070707) 0%, var(--os-pb-hero-feat-bg-end, #10100f) 100%);
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	padding: 25px 0;
	width: 100%;
	z-index: 6;
	position: relative;
}

.features-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	justify-content: space-around;
	align-items: center;
	gap: 30px;
	box-sizing: border-box;
}

.feature-col {
	display: flex;
	align-items: center;
	gap: 15px;
}

.feature-icon-box {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 1px solid rgba(194, 142, 71, 0.25);
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(194, 142, 71, 0.05);
	flex-shrink: 0;
}

.feature-icon {
	display: block;
}

.feature-icon-box img {
	max-width: 60%;
	max-height: 60%;
	object-fit: contain;
	display: block;
}

.feature-text-box {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.feature-title {
	font-size: clamp(13px, 2.5vw, 15px);
	color: var(--os-pb-hero-feat-title, #c28e47);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-family: 'Montserrat', sans-serif;
}

.feature-subtitle {
	font-size: clamp(9px, 2vw, 10px);
	color: var(--os-pb-hero-feat-sub, rgba(255, 255, 255, 0.5));
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-top: 2px;
	font-family: 'Montserrat', sans-serif;
}

/* Responsiveness */
@media (max-width: 991px) {
	.os-pb-barber-hero {
		padding-top: 80px;
	}

	.os-pb-barber-hero-inner {
		justify-content: center;
		padding: 0 15px 30px 15px;
	}

	.os-pb-barber-hero-content {
		flex: 0 1 800px;
		text-align: center;
		margin: 0 auto;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.os-pb-barber-hero-visual {
		display: none !important;
	}

	.os-pb-hero-title {
		font-size: clamp(105px, 8vw, 55px);
		margin-bottom: 8px;
	}

	.os-pb-hero-title .title-gold {
		margin-top: 10px;
	}

	.os-pb-hero-cursive {
		font-size: clamp(24px, 5vw, 34px);
		margin-bottom: 15px;
	}

	.os-pb-hero-description {
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20px;
		font-size: 13px;
	}

	.os-pb-hero-buttons {
		margin-bottom: 25px;
		justify-content: center;
	}

	.os-pb-btn-flat-gold {
		padding: 10px 20px;
		font-size: 11px;
	}

	.os-pb-btn-outline-gold {
		padding: 9px 20px;
		font-size: 11px;
	}

	.os-pb-barber-hero-features {
		padding: 15px 0;
	}

	.features-inner {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: 15px;
	}

	.feature-col {
		gap: 8px;
	}

	.feature-icon-box {
		width: 32px;
		height: 32px;
	}

	.feature-icon-box svg {
		width: 16px;
		height: 16px;
	}

	.feature-title {
		font-size: 11px;
	}

	.feature-subtitle {
		font-size: 8px;
	}
}


/* Center layout when portrait image is hidden */
.os-pb-barber-hero.hide-portrait-img .os-pb-barber-hero-inner {
	justify-content: center;
}

.os-pb-barber-hero.hide-portrait-img .os-pb-barber-hero-content {
	flex: 0 1 800px;
	text-align: center;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.os-pb-barber-hero.hide-portrait-img .os-pb-hero-description {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.os-pb-barber-hero.hide-portrait-img .os-pb-hero-buttons {
	justify-content: center;
}

/* Premium Barber About / Experience Section Styles */
.os-pb-barber-about {
	background-color: var(--os-pb-about-bg, #ffffff);
	padding: 90px 0 30px 0;
	color: #334155;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
}

.os-pb-about-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

.os-pb-about-header {
	text-align: center;
	margin-bottom: 60px;
	margin-top: 60px;
}

.about-eyebrow {
	font-size: 14px;
	font-weight: 700;
	color: var(--os-pb-about-eyebrow, #c28e47);
	text-transform: uppercase;
	letter-spacing: 3px;
	display: block;
	margin-bottom: 12px;
	font-family: 'Montserrat', sans-serif;
}

.about-title {
	font-size: clamp(36px, 5vw, 56px);
	font-weight: 900;
	color: var(--os-pb-about-title, #1c1c1c);
	font-family: 'Anton', 'Impact', sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 18px 0;
	line-height: 1.1;
}

.os-pb-about-grid {
	display: flex;
	align-items: flex-start;
	gap: 60px;
	box-sizing: border-box;
}

.about-grid-left {
	flex: 1;
	position: relative;
	box-sizing: border-box;
	overflow: visible;
	padding-bottom: 30px;
	padding-left: 60px;
}

.about-grid-right {
	flex: 1.1;
	min-width: 0;
	box-sizing: border-box;
}

/* Left column media & circular rotating badge */
.about-main-image-wrapper {
	position: relative;
	border-radius: 12px;
	overflow: visible;
	display: inline-block;
	width: 100%;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.about-main-image {
	width: 100%;
	height: auto;
	max-height: 520px;
	object-fit: cover;
	border-radius: 12px;
	display: block;
}

.rotating-circle-badge {
	position: absolute;
	width: 130px;
	height: 130px;
	border-radius: 50%;
	background: var(--os-pb-about-badge-bg, #c28e47);
	color: var(--os-pb-about-badge-txt, #ffffff);
	/* Bottom-left corner of the image, partially overlapping */
	bottom: -20px;
	left: -50px;
	z-index: 10;
	box-shadow: 0 10px 30px rgba(194, 142, 71, 0.35);
}

.rotating-badge-text {
	position: absolute;
	width: 100%;
	height: 100%;
	animation: spin-clockwise 18s linear infinite;
}

.rotating-badge-text span {
	position: absolute;
	/* Center each character on the radius */
	left: 50%;
	margin-left: -5px;
	top: 4px;
	width: 10px;
	height: calc(50% - 4px);
	transform-origin: bottom center;
	text-transform: uppercase;
	font-size: 8.5px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
	font-family: 'Montserrat', sans-serif;
	display: inline-block;
	text-align: center;
}

@keyframes spin-clockwise {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

.rotating-badge-center {
	position: absolute;
	width: 50px;
	height: 50px;
	background: #ffffff;
	border-radius: 50%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--os-pb-about-badge-bg, #c28e47);
	box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.12);
	z-index: 12;
}

/* Right Column details */
.about-subheading {
	font-size: clamp(20px, 3vw, 24px);
	font-weight: 800;
	color: var(--os-pb-about-subheading, #c28e47);
	line-height: 1.35;
	margin: 0 0 22px 0;
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.about-description {
	font-size: 15px;
	color: var(--os-pb-about-desc, #4a4a4a);
	line-height: 1.75;
	margin-bottom: 35px;
	font-family: 'Montserrat', sans-serif;
}

.about-description p {
	margin: 0;
}

/* CTA Row (Learn More Outline & Call badge) */
.about-cta-row {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-bottom: 45px;
	flex-wrap: wrap;
}

.os-pb-btn-outline-brown,
.os-pb-btn-outline-brown:visited,
.os-pb-btn-outline-brown:focus,
.os-pb-btn-outline-brown:active {
	display: inline-flex;
	align-items: center;
	padding: 13px 30px;
	background-color: transparent;
	color: var(--os-pb-about-btn, #c28e47);
	border: 2px solid var(--os-pb-about-btn, #c28e47);
	border-radius: 15px 0 15px 15px;
	text-decoration: none !important;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 1px;
	line-height: 1.2;
	transition: all 0.3s ease;
	font-family: 'Montserrat', sans-serif;
	outline: none !important;
}

.os-pb-btn-outline-brown:hover {
	background-color: var(--os-pb-about-btn-h-bg, #c28e47);
	color: var(--os-pb-about-btn-h-txt, #ffffff);
	border-color: var(--os-pb-about-btn-h-bg, #c28e47);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(194, 142, 71, 0.2);
}

.about-phone-box {
	display: flex;
	align-items: center;
	gap: 12px;
}

.about-phone-icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(194, 142, 71, 0.06);
	border: 1px solid rgba(194, 142, 71, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--os-pb-about-eyebrow, #c28e47);
	flex-shrink: 0;
}

.about-phone-text {
	display: flex;
	flex-direction: column;
	line-height: 1.25;
}

.phone-label {
	font-size: 10px;
	font-weight: 600;
	color: #747d8c;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-family: 'Montserrat', sans-serif;
}

.phone-num,
.phone-num:visited,
.phone-num:focus,
.phone-num:active {
	font-size: clamp(16px, 2.5vw, 19px);
	font-weight: 800;
	color: var(--os-pb-about-phone, #1c1c1c);
	text-decoration: none !important;
	font-family: 'Montserrat', sans-serif;
	transition: color 0.2s ease;
	outline: none !important;
}

.phone-num:hover {
	color: var(--os-pb-about-eyebrow, #c28e47);
}

/* Bottom: Wash image wrapper and checklist */
.about-bottom-row {
	display: flex;
	align-items: flex-start;
	gap: 40px;
	box-sizing: border-box;
}

.about-wash-wrapper {
	position: relative;
	flex: 1;
	max-width: 240px;
	border-radius: 8px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
}

.about-wash-image {
	width: 100%;
	height: 150px;
	object-fit: cover;
	border-radius: 8px;
	display: block;
}

.about-years-badge {
	position: absolute;
	bottom: -15px;
	right: -20px;
	background: var(--os-pb-about-badge-bg, #c28e47);
	color: var(--os-pb-about-badge-txt, #ffffff);
	padding: 10px 18px;
	border-radius: 12px 0 12px 12px;
	display: flex;
	align-items: center;
	gap: 10px;
	box-shadow: 0 8px 24px rgba(194, 142, 71, 0.3);
	z-index: 5;
	max-width: 170px;
	box-sizing: border-box;
}

.years-val {
	font-size: 28px;
	font-weight: 900;
	line-height: 1;
	font-family: 'Anton', 'Impact', sans-serif;
}

.years-lbl {
	font-size: 8px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.2;
	letter-spacing: 0.5px;
	font-family: 'Montserrat', sans-serif;
}

.about-checklist {
	list-style: none;
	padding: 0;
	margin: 0;
	flex: 1.2;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-top: 5px;
}

.about-checklist li {
	display: flex;
	align-items: center;
	gap: 12px;
}

.check-icon {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(194, 142, 71, 0.06);
	border: 1px solid rgba(194, 142, 71, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--os-pb-about-bullet-icon, #c28e47);
	flex-shrink: 0;
}

.check-text {
	font-size: 13px;
	font-weight: 700;
	color: var(--os-pb-about-bullet-txt, #4a4a4a);
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Responsiveness overrides */
@media (max-width: 991px) {
	.os-pb-barber-about {
		padding: 60px 0;
	}

	.os-pb-about-grid {
		flex-direction: column;
		gap: 40px;
	}

	.about-grid-left {
		width: 100%;
		max-width: 480px;
		margin: 0 auto;
		padding-left: 50px;
		padding-bottom: 30px;
	}

	.rotating-circle-badge {
		width: 100px;
		height: 100px;
		bottom: -15px;
		left: -40px;
	}

	.rotating-badge-text span {
		font-size: 7px;
	}

	.rotating-badge-center {
		width: 40px;
		height: 40px;
	}

	.about-grid-right {
		width: 100%;
	}

	.about-cta-row {
		gap: 20px;
	}

	.about-bottom-row {
		flex-direction: column;
		gap: 30px;
		align-items: center;
		width: 100%;
	}

	.about-wash-wrapper {
		max-width: 320px;
		width: 100%;
	}

	.about-wash-image {
		height: 180px;
	}

	.about-years-badge {
		right: 10px;
	}

	.about-checklist {
		width: 100%;
		max-width: 320px;
	}
}

/* ============================================
   Premium Grooming Services Section
   ============================================ */
.os-pb-barber-services {
	background-color: var(--svc-bg, #f5f0eb);
	padding: 90px 0;
	width: 100%;
	box-sizing: border-box;
	position: relative;
}

.os-pb-svc-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
	z-index: 2;
}

/* Shape Dividers */
.os-pb-svc-shape-top,
.os-pb-svc-shape-bottom {
	position: absolute;
	left: -1px;
	width: calc(100% + 2px);
	line-height: 0;
	z-index: 1;
	pointer-events: none;
}

.os-pb-svc-shape-top {
	top: -1px;
}

.os-pb-svc-shape-bottom {
	bottom: -1px;
	transform: rotateX(180deg);
}

.os-pb-svc-shape-top img,
.os-pb-svc-shape-bottom img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	max-height: 120px;
}

/* Section Header */
.os-pb-svc-header {
	text-align: center;
	margin-bottom: 40px;
}

.svc-title {
	font-size: clamp(36px, 5vw, 56px);
	font-weight: 900;
	color: var(--svc-title, #1c1c1c);
	font-family: 'Anton', 'Impact', sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 18px 0;
	line-height: 1.1;
}

.svc-desc {
	font-size: 15px;
	color: var(--svc-desc, #555555);
	line-height: 1.7;
	max-width: 680px;
	margin: 0 auto;
	font-family: 'Montserrat', sans-serif;
}

.svc-desc .svc-highlight {
	color: var(--svc-highlight, #c28e47);
	font-weight: 600;
}

/* Icon Badges Row */
.os-pb-svc-badges {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 30px 0 60px;
}

.svc-badge-item {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--svc-badge-bg, #ffffff);
	border: 1px solid rgba(194, 142, 71, 0.15);
	border-radius: 8px;
	padding: 10px 18px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.svc-badge-item:hover {
	box-shadow: 0 6px 20px rgba(194, 142, 71, 0.15);
	transform: translateY(-2px);
}

.svc-badge-icon {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--svc-highlight, #c28e47);
	flex-shrink: 0;
}

.svc-badge-icon img {
	width: 28px;
	height: 28px;
	object-fit: contain;
}

.svc-badge-label {
	font-size: 11px;
	font-weight: 800;
	color: var(--svc-badge-txt, #1c1c1c);
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-family: 'Montserrat', sans-serif;
	white-space: nowrap;
}

/* Service Cards Grid */
.os-pb-svc-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.svc-card {
	background: var(--svc-card-bg, #ffffff);
	border-radius: 12px;
	overflow: visible;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	position: relative;
	display: flex;
	flex-direction: column;
}

.svc-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.1);
}

/* Card Top Image */
.svc-card-img-wrap {
	position: relative;
	border-radius: 12px 12px 0 0;
	overflow: visible;
}

.svc-card-img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
	border-radius: 12px 12px 0 0;
	overflow: hidden;
	filter: sepia(0.3) saturate(1.3);
	transition: filter 0.3s ease;
}

.svc-card:hover .svc-card-img {
	filter: sepia(0.1) saturate(1.5);
}

/* Floating icon circle */
.svc-card-icon-circle {
	position: absolute;
	bottom: -22px;
	left: 24px;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--svc-icon-bg, #ffffff);
	border: 2px solid rgba(194, 142, 71, 0.2);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--svc-highlight, #c28e47);
	z-index: 5;
}

.svc-card-icon-circle img {
	width: 28px;
	height: 28px;
	object-fit: contain;
}

/* Card Body */
.svc-card-body {
	padding: 40px 24px 28px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.svc-card-title {
	font-size: 18px;
	font-weight: 800;
	color: var(--svc-card-title, #1c1c1c);
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 0 0 10px 0;
}

.svc-card-desc {
	font-size: 14px;
	color: var(--svc-card-desc, #555555);
	line-height: 1.65;
	font-family: 'Montserrat', sans-serif;
	margin: 0 0 18px 0;
}

/* Checklist */
.svc-card-items {
	list-style: none;
	padding: 0;
	margin: 0 0 24px 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	flex: 1;
}

.svc-card-items li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	font-size: 14px;
	color: var(--svc-item-text, #1c1c1c);
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
}

.svc-card-items li:last-child {
	border-bottom: none;
}

.svc-check {
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--svc-item-icon, #c28e47);
	flex-shrink: 0;
}

.svc-check svg {
	width: 16px;
	height: 16px;
}

/* CTA Button */
.svc-card-btn,
.svc-card-btn:visited,
.svc-card-btn:focus,
.svc-card-btn:active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 28px;
	border: 2px solid var(--svc-btn, #c28e47);
	color: var(--svc-btn, #c28e47);
	background: transparent;
	border-radius: 15px 0 15px 15px;
	text-decoration: none !important;
	font-size: 12px;
	font-weight: 700;
	outline: none;
	letter-spacing: 0.8px;
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	transition: all 0.3s ease;
	align-self: flex-start;
}

.svc-card-btn:hover {
	background: var(--svc-btn-h-bg, #c28e47);
	color: var(--svc-btn-h-txt, #ffffff);
	border-color: var(--svc-btn-h-bg, #c28e47);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(194, 142, 71, 0.25);
}

/* Responsive */
@media (max-width: 991px) {
	.os-pb-barber-services {
		padding: 60px 0;
	}

	.os-pb-svc-cards {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.os-pb-svc-badges {
		gap: 8px;
	}
}

@media (max-width: 640px) {
	.os-pb-svc-cards {
		grid-template-columns: 1fr;
		max-width: 420px;
		margin: 0 auto;
	}

	.svc-badge-item {
		padding: 8px 14px;
	}

	.svc-badge-label {
		font-size: 10px;
	}
}

/* ============================================
   Pricing Packages Section
   ============================================ */
.os-pb-svc-packages {
	margin-top: 50px;
}

.svc-pkg-group {
	margin-bottom: 32px;
}

.svc-pkg-group-title {
	font-size: 15px;
	font-weight: 700;
	color: var(--svc-pkg-group, #c28e47);
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 14px 0;
}

.svc-pkg-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Package Row */
.svc-pkg-row {
	display: flex;
	align-items: stretch;
	background: var(--svc-pkg-card-bg, #ffffff);
	border-radius: 10px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
	position: relative;
}

.svc-pkg-row:hover {
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.09);
	transform: translateY(-2px);
}

/* Popular Badge — vertical strip on left */
.svc-popular-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--svc-pop-bg, #c28e47);
	width: 28px;
	flex-shrink: 0;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	transform: rotate(180deg);
}

.svc-popular-badge span {
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--svc-pop-txt, #ffffff);
	font-family: 'Montserrat', sans-serif;
}

/* Inner flex row (name | divider | features | price | button) */
.svc-pkg-inner {
	display: flex;
	align-items: center;
	flex: 1;
	padding: 18px 22px;
	gap: 20px;
	flex-wrap: wrap;
}

.svc-pkg-name {
	font-size: 20px;
	font-weight: 800;
	color: var(--svc-pkg-name, #1c1c1c);
	font-family: 'Montserrat', sans-serif;
	white-space: nowrap;
	min-width: 160px;
}

/* Vertical divider */
.svc-pkg-divider {
	width: 1px;
	height: 36px;
	background: rgba(0, 0, 0, 0.12);
	flex-shrink: 0;
	align-self: center;
}

/* Feature pills */
.svc-pkg-features {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 18px;
	flex: 1;
}

.svc-pkg-feat-item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 14px;
	color: var(--svc-pkg-feat, #555555);
	font-family: 'Montserrat', sans-serif;
	white-space: nowrap;
	font-weight: 500;
}

.svc-pkg-feat-item svg {
	color: var(--svc-pkg-check, #c28e47);
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}

/* Price */
.svc-pkg-price {
	font-size: 26px;
	font-weight: 900;
	color: var(--svc-pkg-price, #1c1c1c);
	font-family: 'Montserrat', sans-serif;
	white-space: nowrap;
	margin-left: auto;
}

/* Book Now Button — matches .svc-card-btn style */
.svc-pkg-btn,
.svc-pkg-btn:visited,
.svc-pkg-btn:focus,
.svc-pkg-btn:active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 28px;
	border: 2px solid var(--svc-pkg-btn, #c28e47);
	color: var(--svc-pkg-btn, #c28e47);
	background: transparent;
	border-radius: 15px 0 15px 15px;
	text-decoration: none !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.8px;
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	transition: all 0.3s ease;
	white-space: nowrap;
	flex-shrink: 0;
	outline: none;
}

.svc-pkg-btn:hover {
	background: var(--svc-pkg-btn, #c28e47);
	color: #ffffff;
	border-color: var(--svc-pkg-btn, #c28e47);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(194, 142, 71, 0.25);
}

/* Responsive */
@media (max-width: 767px) {
	.svc-pkg-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding: 16px 18px;
	}

	.svc-pkg-divider {
		width: 100%;
		height: 1px;
	}

	.svc-pkg-name {
		font-size: 17px;
	}

	.svc-pkg-price {
		font-size: 22px;
		margin-left: 0;
	}

	.svc-pkg-features {
		gap: 8px 12px;
	}
}

/* ============================================
   Testimonials Slider Section
   ============================================ */
.os-pb-barber-testimonials {
	background-color: var(--testi-bg, #ffffff);
	padding: 90px 0;
	position: relative;
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

.testi-quote-mark {
	position: absolute;
	opacity: 0.15;
	pointer-events: none;
	max-width: 200px;
	z-index: 1;
}

.testi-quote-left {
	top: 50%;
	left: 5%;
	transform: translateY(-50%);
}

.testi-quote-right {
	top: 50%;
	right: 5%;
	transform: translateY(-50%);
}

.testi-container {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
	z-index: 2;
	text-align: center;
}

.testi-title {
	font-size: clamp(36px, 5vw, 56px);
	font-weight: 900;
	color: var(--testi-title, #1c1c1c);
	font-family: 'Anton', 'Impact', sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 18px 0;
	line-height: 1.1;
}

.testi-slider {
	position: relative;
}

/* Content Area (Quotes) */
.testi-content-wrap {
	position: relative;
	min-height: 180px;
	margin-bottom: 30px;
}

.testi-slide-item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0.4s ease;
}

.testi-slide-item.is-active {
	position: relative;
	opacity: 1;
	visibility: visible;
}

.testi-stars {
	display: flex;
	justify-content: center;
	gap: 4px;
	color: var(--testi-star, #ba8a56);
	margin-bottom: 15px;
}

.testi-quote {
	font-size: 16px;
	line-height: 1.7;
	color: var(--testi-quote, #7a7a7a);
	font-family: 'Montserrat', sans-serif;
	margin-bottom: 25px;
	font-style: italic;
}

.testi-name {
	font-size: 18px;
	font-weight: 700;
	color: var(--testi-name, #000000);
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.testi-desig {
	font-size: 12px;
	color: var(--testi-desig, #8f8f8f);
	font-family: 'Montserrat', sans-serif;
	margin-top: 4px;
}

/* Navigation (Avatars + Arrows) */
.testi-nav-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

.testi-nav-arrow {
	background: transparent;
	border: 1px solid transparent;
	border-radius: 50%;
	color: var(--testi-arrow, #000000);
	cursor: pointer;
	padding: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	width: 40px;
	height: 40px;
}

.testi-nav-arrow:hover {
	background-color: #c58a42;
	border-color: #c58a42;
	color: #ffffff;
}

.testi-avatars {
	display: flex;
	gap: 15px;
	align-items: center;
}

.testi-avatar-item {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	cursor: pointer;
	overflow: visible;
	position: relative;
	transition: transform 0.3s ease;
}

.testi-avatar-item::after {
	content: '';
	position: absolute;
	top: -4px;
	left: -4px;
	right: -4px;
	bottom: -4px;
	border: 1px solid transparent;
	border-radius: 50%;
	transition: border-color 0.3s ease;
	pointer-events: none;
}

.testi-avatar-item.is-active::after {
	border-color: var(--testi-border, #ba8a56);
}

.testi-avatar-item img,
.testi-avatar-placeholder {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	background: #f0f0f0;
}

.testi-avatar-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
}

.testi-avatar-item:hover {
	transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 768px) {
	.os-pb-barber-testimonials {
		padding: 60px 0;
	}

	.testi-quote-mark {
		max-width: 120px;
		opacity: 0.1;
	}

	.testi-quote {
		font-size: 15px;
	}

	.testi-nav-wrap {
		gap: 12px;
	}

	.testi-avatars {
		gap: 10px;
	}

	.testi-avatar-item {
		width: 38px;
		height: 38px;
	}
}

/* ============================================
   Contact / Visit Us Section
   ============================================ */
.os-pb-barber-contact {
	background-color: var(--contact-bg, #ffffff);
	padding: 90px 0;
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.contact-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.contact-header {
	text-align: center;
	margin-bottom: 60px;
}

.contact-title {
	font-size: clamp(36px, 5vw, 56px);
	font-weight: 900;
	color: var(--contact-title, #000000);
	font-family: 'Anton', 'Impact', sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 18px 0;
	line-height: 1.1;
}

.contact-desc {
	font-size: 16px;
	color: var(--contact-desc, #7a7a7a);
	line-height: 1.6;
	max-width: 700px;
	margin: 0 auto;
}

.contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	align-items: stretch;
}

.contact-map {
	border: 15px solid var(--contact-map-border, #2b2b2b);
	position: relative;
	min-height: 400px;
	display: flex;
	box-sizing: border-box;
}

.contact-map-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eee;
	color: #666;
}

.contact-details-card {
	background-color: var(--contact-card, #f5f0eb);
	padding: 50px;
	box-sizing: border-box;
}

.contact-item {
	display: flex;
	align-items: flex-start;
	margin-bottom: 35px;
}

.contact-item:last-child {
	margin-bottom: 0;
}

.contact-icon {
	width: 60px;
	height: 60px;
	background-color: var(--contact-icon-bg, #ffffff);
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 25px;
	color: var(--contact-icon-svg, #000000);
}

.contact-icon img {
	max-width: 30px;
	max-height: 30px;
	object-fit: contain;
}

.contact-info {
	padding-top: 3px;
}

.contact-item-title {
	font-size: 24px;
	font-weight: 900;
	margin: 0 0 8px 0;
	color: var(--contact-item-title, #000000);
	font-family: 'Montserrat', sans-serif;
}

.contact-item-text {
	font-size: 15px;
	color: var(--contact-item-text, #555555);
	line-height: 1.6;
}

.contact-hours {
	margin-top: 50px;
}

.contact-hours .contact-item-title {
	margin-bottom: 12px;
}

@media (max-width: 991px) {
	.contact-grid {
		grid-template-columns: 1fr;
	}

	.contact-details-card {
		padding: 40px 30px;
	}

	.contact-map {
		min-height: 350px;
	}
}

@media (max-width: 767px) {
	.os-pb-barber-contact {
		padding: 60px 0;
	}

	.contact-icon {
		width: 50px;
		height: 50px;
		margin-right: 15px;
	}
}

/* ============================================
   Contact Form Section (CF7 Integration)
   ============================================ */
.os-pb-barber-cf {
	background-color: var(--cf-bg, #f5f0eb);
	padding: 90px 0 30px 0;
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.os-pb-barber-cf .cf-container {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 20px;
}

.os-pb-barber-cf .cf-header {
	text-align: center;
	margin-bottom: 50px;
}

.os-pb-barber-cf .cf-title {
	font-size: clamp(36px, 5vw, 56px);
	font-weight: 900;
	color: var(--cf-title, #1c1c1c);
	font-family: 'Anton', 'Impact', sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 18px 0;
	line-height: 1.1;
	margin-top: 60px;
}

.os-pb-barber-cf .cf-desc {
	font-size: 16px;
	color: var(--cf-desc, #7a7a7a);
	line-height: 1.6;
	max-width: 600px;
	margin: 0 auto;
}

/* Contact Form 7 Overrides */
.os-pb-barber-cf .wpcf7 {
	margin: 0;
}

.os-pb-barber-cf .wpcf7-form p {
	margin-bottom: 25px;
}

.os-pb-barber-cf .wpcf7-form label {
	display: block;
	font-weight: 700;
	font-size: 14px;
	color: var(--cf-title, #000000);
	margin-bottom: 10px;
	font-family: 'Montserrat', sans-serif;
}

.os-pb-barber-cf .wpcf7-form-control.wpcf7-text,
.os-pb-barber-cf .wpcf7-form-control.wpcf7-textarea,
.os-pb-barber-cf .wpcf7-form-control.wpcf7-select {
	width: 100%;
	box-sizing: border-box;
	background-color: var(--cf-input-bg, #ffffff);
	border: 1px solid var(--cf-input-border, #e2e8f0);
	color: var(--cf-input-text, #000000);
	padding: 16px 20px;
	font-size: 16px;
	border-radius: 4px;
	transition: all 0.3s ease;
	font-family: 'Inter', sans-serif;
}

.os-pb-barber-cf .wpcf7-form-control.wpcf7-textarea {
	min-height: 150px;
	resize: vertical;
}

.os-pb-barber-cf .wpcf7-form-control.wpcf7-text:focus,
.os-pb-barber-cf .wpcf7-form-control.wpcf7-textarea:focus {
	outline: none;
	border-color: var(--cf-btn-bg, #000000);
	box-shadow: 0 0 0 1px var(--cf-btn-bg, #000000);
}

.os-pb-barber-cf .wpcf7-submit {
	background-color: var(--cf-btn-bg, #000000) !important;
	color: var(--cf-btn-text, #ffffff) !important;
	padding: 18px 40px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	border: none !important;
	cursor: pointer;
	border-radius: 4px;
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: background-color 0.3s ease !important;
	width: 100%;
	display: block;
}

.os-pb-barber-cf .wpcf7-submit:hover {
	background-color: var(--cf-btn-hover, #c28e47) !important;
}

.os-pb-barber-cf .wpcf7-not-valid-tip {
	font-size: 13px;
	margin-top: 5px;
	color: #e53e3e;
}

.os-pb-barber-cf .wpcf7 form.invalid .wpcf7-response-output,
.os-pb-barber-cf .wpcf7 form.unaccepted .wpcf7-response-output,
.os-pb-barber-cf .wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #e53e3e;
	color: #e53e3e;
}

.os-pb-barber-cf .wpcf7 form.sent .wpcf7-response-output {
	border-color: #38a169;
	color: #38a169;
	background: #f0fff4;
}

@media (max-width: 767px) {
	.os-pb-barber-cf {
		padding: 60px 0;
	}
}

/* ============================================
   Image Marquee Section
   ============================================ */
.os-pb-barber-marquee {
	background-color: var(--marquee-bg, #ffffff);
	padding: 60px 0;
	width: 100%;
	overflow: hidden;
	position: relative;
	box-sizing: border-box;
}

.os-pb-barber-marquee .marquee-track {
	display: flex;
	width: max-content;
	gap: var(--marquee-gap, 20px);
}

.os-pb-barber-marquee .marquee-content {
	display: flex;
	flex-shrink: 0;
	gap: var(--marquee-gap, 20px);
	align-items: center;
	width: max-content;
	animation: osPbMarqueeScroll var(--marquee-speed, 30s) linear infinite;
	will-change: transform;
}

.os-pb-barber-marquee:hover .marquee-content,
body.os-pb-lightbox-open .os-pb-barber-marquee .marquee-content {
	animation-play-state: paused;
}

.os-pb-barber-marquee .marquee-item {
	width: 350px;
	height: 350px;
	border-radius: 12px;
	overflow: hidden;
	flex-shrink: 0;
	position: relative;
}

.os-pb-barber-marquee .marquee-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.os-pb-barber-marquee .marquee-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.os-pb-barber-marquee .marquee-item:hover .marquee-overlay {
	opacity: 1;
}

.os-pb-barber-marquee .marquee-overlay svg {
	transform: scale(0.5);
	transition: transform 0.3s ease;
}

.os-pb-barber-marquee .marquee-item:hover .marquee-overlay svg {
	transform: scale(1);
}

@keyframes osPbMarqueeScroll {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(calc(-100% - var(--marquee-gap, 20px)));
	}
}

@media (max-width: 767px) {
	.os-pb-barber-marquee {
		padding: 40px 0;
	}

	.os-pb-barber-marquee .marquee-item {
		width: 250px;
		height: 250px;
	}
}

/* Lightbox */
.os-pb-marquee-lightbox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.os-pb-marquee-lightbox.active {
	opacity: 1;
	pointer-events: auto;
}

.os-pb-marquee-lightbox .os-pb-lightbox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.85);
	cursor: pointer;
}

.os-pb-marquee-lightbox .os-pb-lightbox-img {
	position: relative;
	max-width: 90%;
	max-height: 90vh;
	object-fit: contain;
	z-index: 2;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.os-pb-marquee-lightbox .os-pb-lightbox-close {
	position: absolute;
	top: 30px;
	right: 40px;
	color: #fff;
	font-size: 40px;
	cursor: pointer;
	z-index: 3;
	line-height: 1;
}

.os-pb-marquee-lightbox .os-pb-lightbox-close:hover {
	color: #c28e47;
}

/* Premium Barber Loyalty Section */
.os-pb-barber-loyalty {
	background-color: #111;
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	padding: 100px 0;
	position: relative;
	overflow: hidden;
}

.os-pb-loyalty-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: center;
	gap: 60px;
	position: relative;
	z-index: 2;
}

.os-pb-loyalty-left {
	flex: 1;
	display: flex;
	justify-content: center;
	position: relative;
}

.os-pb-loyalty-circle {
	width: 400px;
	height: 400px;
	border-radius: 50%;
	background-color: #c28e47;
	/* The solid circle */
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.os-pb-loyalty-circle::before {
	content: "";
	position: absolute;
	top: -20px;
	left: -20px;
	right: -20px;
	bottom: -20px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	pointer-events: none;
}

.os-pb-loyalty-portrait {
	max-width: none;
	width: 120%;
	height: auto;
	position: relative;
	bottom: -80px;
	/* Overflows the bottom */
	z-index: 2;
}

.os-pb-loyalty-right {
	flex: 1;
	color: #fff;
}

.os-pb-loyalty-heading {
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	font-size: clamp(60px, 8vw, 100px);
	line-height: 0.9;
	margin: 0 0 20px 0;
	text-transform: uppercase;
	color: #ffffff;
	position: relative;
	/* Create the outline/shadow offset effect */
	text-shadow:
		-1px -1px 0 #000,
		1px -1px 0 #000,
		-1px 1px 0 #000,
		1px 1px 0 #000,
		3px 3px 0 #000,
		5px 5px 0 #c28e47,
		6px 6px 0 #c28e47;
	letter-spacing: -2px;
}

.os-pb-loyalty-subtitle {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #e2e8f0;
	margin-bottom: 30px;
	max-width: 500px;
}

.os-pb-loyalty-subtitle span,
.os-pb-loyalty-subtitle b,
.os-pb-loyalty-subtitle strong {
	color: #c28e47;
	font-weight: 700;
}

.os-pb-loyalty-features {
	list-style: none;
	padding: 0;
	margin: 0 0 40px 0;
}

.os-pb-loyalty-features li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	color: #fff;
	font-weight: 500;
}

.os-pb-loyalty-features li svg {
	width: 16px;
	height: 16px;
	color: #c28e47;
	flex-shrink: 0;
}

.os-pb-loyalty-action .os-pb-btn-outline {
	display: inline-block;
	padding: 14px 30px;
	border: 1px solid #c28e47;
	color: #c28e47;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none;
	border-radius: 4px;
	transition: all 0.3s ease;
	background: transparent;
	font-size: 14px;
}

.os-pb-loyalty-action .os-pb-btn-outline:hover {
	background: #c28e47;
	color: #111;
}

@media (max-width: 991px) {
	.os-pb-loyalty-container {
		flex-direction: column;
		text-align: center;
		gap: 80px;
	}

	.os-pb-loyalty-circle {
		width: 300px;
		height: 300px;
	}

	.os-pb-loyalty-subtitle {
		margin-left: auto;
		margin-right: auto;
	}

	.os-pb-loyalty-features li {
		justify-content: center;
	}
}

/* ==========================================================================
   Global Custom Footer
   ========================================================================== */
.os-pb-custom-footer {
	position: relative;
	color: #fff;
	padding-top: 100px;
	/* padding-bottom: 20px; */
	/* margin-top: 100px; */
}

.os-pb-footer-divider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	pointer-events: none;
	line-height: 0;
}

.os-pb-footer-divider img {
	width: 100%;
	height: auto;
	display: block;
}

.os-pb-footer-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
	position: relative;
	z-index: 2;
	flex-wrap: wrap;
}

.os-pb-footer-col {
	flex: 1 1 200px;
	max-width: 100%;
}

.os-pb-footer-logo {
	margin-bottom: 25px;
}

.os-pb-footer-logo img {
	max-width: 180px;
	height: auto;
	display: block;
}

.os-pb-footer-title {
	font-family: 'Anton', 'Impact', sans-serif;
	font-weight: 400;
	/* Anton doesn't need 800 */
	font-size: 20px;
	margin: 0 0 20px 0;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Newsletter */
.os-pb-footer-newsletter form:not(.wpcf7-form) {
	display: flex;
	align-items: center;
	margin: 0 0 15px 0;
	border: 1px solid #555;
	border-radius: 2px;
	background: transparent;
	padding: 5px;
}

.os-pb-footer-newsletter .wpcf7-form p:first-of-type {
	display: flex;
	align-items: center;
	margin: 0 0 15px 0;
	border: 1px solid #555;
	border-radius: 2px;
	background: transparent;
	padding: 5px;
}

.os-pb-footer-newsletter input[type="email"],
.os-pb-footer-newsletter input[type="text"] {
	flex: 1;
	background: transparent;
	border: none;
	color: #fff;
	padding: 10px 15px;
	font-size: 14px;
	outline: none;
	width: 100%;
}

.os-pb-footer-newsletter input::placeholder {
	color: #aaa;
	opacity: 1;
}

.os-pb-footer-newsletter input[type="submit"] {
	background: #c28e47;
	color: #fff;
	border: none;
	padding: 12px 25px;
	font-weight: 700;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.3s ease;
	border-radius: 2px;
}

.os-pb-footer-newsletter input[type="submit"]:hover {
	background: #a97735;
}

/* Fix for CF7 if used */
.os-pb-footer-newsletter .wpcf7-form-control-wrap {
	flex: 1;
}

.os-pb-footer-newsletter .wpcf7-acceptance {
	font-size: 13px;
	color: #bbb;
}

.os-pb-footer-newsletter .wpcf7-acceptance input {
	margin-right: 8px;
}

.os-pb-footer-newsletter .wpcf7-acceptance a {
	color: #c28e47;
	text-decoration: none !important;
}

/* Navigation */
.os-pb-footer-nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.os-pb-footer-nav ul li {
	margin-bottom: 12px;
}

.os-pb-footer-nav ul li a {
	color: #bbb;
	text-decoration: none !important;
	font-size: 14px;
	transition: color 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.os-pb-footer-nav ul li a::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	background-color: #c28e47;
	border-radius: 50%;
}

.os-pb-footer-nav ul li a:hover {
	color: #c28e47;
}

/* Contact List */
.os-pb-footer-contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.os-pb-footer-contact-list li {
	display: flex;
	gap: 12px;
	margin-bottom: 15px;
	font-size: 14px;
	color: #bbb;
	line-height: 1.5;
}

.os-pb-footer-contact-list li .os-pb-fc-icon {
	color: #c28e47;
	flex-shrink: 0;
	margin-top: 3px;
}

/* Social */
.os-pb-footer-social {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.os-pb-footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #444;
	color: #bbb;
	text-decoration: none !important;
	transition: all 0.3s ease;
}

.os-pb-footer-social a:hover {
	background: #c28e47;
	border-color: #c28e47;
	color: #fff;
	transform: translateY(-3px);
}

/* Bottom Bar */
.os-pb-footer-bottom {
	margin-top: 60px;
	border-top: 1px solid #333;
	padding: 25px 0;
}

.os-pb-footer-copyright {
	text-align: center;
	font-size: 13px;
	color: #888;
}

/* Back to Top */
.os-pb-back-to-top {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 44px;
	height: 44px;
	background: #007bff;
	/* Standard blue as requested in image */
	color: #fff;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 999;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	text-decoration: none !important;
}

.os-pb-back-to-top.visible {
	opacity: 1;
	visibility: visible;
}

.os-pb-back-to-top:hover {
	background: #0056b3;
	color: #fff;
}

/* Responsive */
@media (max-width: 991px) {
	.os-pb-footer-col {
		flex: 1 1 40%;
	}
}

@media (max-width: 767px) {
	.os-pb-footer-col {
		flex: 1 1 100%;
	}

	.os-pb-footer-newsletter form {
		flex-direction: column;
	}
}