/**
 * FlowState NYC Theme - Core Frontend Stylesheet
 * Hand-crafted, lightweight, accessible CSS (<35KB unminified, zero dependencies)
 */

/* ==================================================
   1. RESET & CSS VARIABLES
================================================== */
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

:root {
	--fs-primary: #0c4a4f;
	--fs-secondary: #0d5c63;
	--fs-accent: #48bca6;
	--fs-accent-lime: #84cc16;
	--fs-navy: #0b1a28;
	--fs-bg: #ffffff;
	--fs-bg-light: #f4f9f8;
	--fs-bg-dark: #091522;
	--fs-body: #334155;
	--fs-border: #e2e8f0;
	--fs-radius-sm: 6px;
	--fs-radius-md: 12px;
	--fs-radius-lg: 20px;
	--fs-shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
	--fs-shadow-md: 0 4px 14px rgba(12,74,79,0.08);
	--fs-shadow-lg: 0 10px 30px rgba(11,26,40,0.12);
	--fs-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--fs-container-max: 1360px;
	--fs-transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

html {
	font-size: 16px;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}

body {
	font-family: var(--fs-font-sans);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--fs-body);
	background-color: var(--fs-bg);
	overflow-x: hidden;
}

/* Accessibility: Focus visible */
:focus-visible {
	outline: 2px solid var(--fs-accent);
	outline-offset: 3px;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.flowstate-skip-link:focus {
	background-color: var(--fs-primary);
	color: #ffffff;
	clip: auto !important;
	clip-path: none;
	display: block;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	left: 10px;
	top: 10px;
	padding: 12px 20px;
	position: fixed !important;
	text-decoration: none;
	width: auto;
	z-index: 999999;
	border-radius: var(--fs-radius-sm);
	box-shadow: var(--fs-shadow-lg);
}

/* ==================================================
   2. TYPOGRAPHY
================================================== */
h1, h2, h3, h4, h5, h6 {
	color: var(--fs-navy);
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 0.85rem;
}

h1 { font-size: clamp(2.1rem, 4.5vw, 3.4rem); letter-spacing: -0.02em; }
h2 { font-size: clamp(1.75rem, 3.2vw, 2.4rem); letter-spacing: -0.015em; }
h3 { font-size: clamp(1.3rem, 2.2vw, 1.75rem); }
h4 { font-size: 1.2rem; }
h5 { font-size: 1.05rem; }
h6 { font-size: 0.95rem; }

p {
	margin-bottom: 1.2rem;
}

p:last-child {
	margin-bottom: 0;
}

a {
	color: var(--fs-primary);
	text-decoration: none;
	transition: var(--fs-transition);
}

a:hover {
	color: var(--fs-secondary);
}

img, svg, video, canvas, audio, iframe, embed, object {
	max-width: 100%;
}

img {
	height: auto;
	display: block;
}

input, select, textarea {
	max-width: 100%;
	box-sizing: border-box;
}

table {
	max-width: 100%;
	border-collapse: collapse;
}

.flowstate-table-wrap, .entry-content table, .flowstate-entry-content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* ==================================================
   3. LAYOUT & CONTAINERS
================================================== */
.flowstate-container {
	width: 100%;
	max-width: var(--fs-container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.flowstate-section {
	padding: clamp(3.5rem, 6vw, 6rem) 0;
}

.flowstate-section--light {
	background-color: var(--fs-bg-light);
}

.flowstate-section--dark {
	background-color: var(--fs-bg-dark);
	color: #e2e8f0;
}

.flowstate-section--dark h1,
.flowstate-section--dark h2,
.flowstate-section--dark h3 {
	color: #ffffff;
}

.flowstate-section-header {
	text-align: center;
	max-width: 780px;
	margin: 0 auto clamp(2.5rem, 4vw, 4rem) auto;
}

.flowstate-eyebrow {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--fs-primary);
	background: rgba(72, 188, 166, 0.15);
	padding: 4px 14px;
	border-radius: 20px;
	margin-bottom: 0.75rem;
}

.flowstate-section--dark .flowstate-eyebrow {
	color: var(--fs-accent);
	background: rgba(72, 188, 166, 0.2);
}

.flowstate-lead {
	font-size: 1.15rem;
	line-height: 1.7;
	color: #475569;
}

.flowstate-section--dark .flowstate-lead {
	color: #cbd5e1;
}

/* ==================================================
   4. BUTTONS & UI COMPONENTS
================================================== */
.flowstate-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 26px;
	font-size: 0.95rem;
	font-weight: 600;
	border-radius: var(--fs-radius-sm);
	text-align: center;
	cursor: pointer;
	border: 1px solid transparent;
	transition: var(--fs-transition);
	white-space: nowrap;
}

.flowstate-btn--primary {
	background-color: var(--fs-primary);
	color: #ffffff;
}

.flowstate-btn--primary:hover {
	background-color: var(--fs-secondary);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: var(--fs-shadow-md);
}

.flowstate-btn--secondary {
	background-color: transparent;
	color: var(--fs-primary);
	border-color: var(--fs-primary);
}

.flowstate-btn--secondary:hover {
	background-color: rgba(12, 74, 79, 0.05);
	color: var(--fs-secondary);
	transform: translateY(-2px);
}

.flowstate-btn--white {
	background-color: #ffffff;
	color: var(--fs-primary);
}

.flowstate-btn--white:hover {
	background-color: #f1f5f9;
	color: var(--fs-secondary);
	transform: translateY(-2px);
	box-shadow: var(--fs-shadow-lg);
}

.flowstate-btn--outline-white {
	background-color: transparent;
	color: #ffffff;
	border-color: #ffffff;
}

.flowstate-btn--outline-white:hover {
	background-color: rgba(255, 255, 255, 0.1);
	color: #ffffff;
	transform: translateY(-2px);
}

.flowstate-btn--pill {
	border-radius: 9999px;
	padding: 13px 28px;
}

.flowstate-icon {
	width: 1.1em;
	height: 1.1em;
	display: inline-block;
	vertical-align: middle;
}

/* ==================================================
   5. HEADER & TOPBAR
================================================== */
.flowstate-topbar {
	background-color: #0a3d40;
	color: #ffffff;
	font-size: 0.81rem;
	padding: 7px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.flowstate-topbar .flowstate-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
}

.flowstate-topbar a {
	color: #ffffff;
}

.flowstate-topbar a:hover {
	color: #5ce1e6;
}

.flowstate-topbar-left {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #ffffff;
	font-weight: 500;
	line-height: 1;
}

.flowstate-topbar-left svg,
.flowstate-topbar-left .flowstate-icon {
	width: 15px;
	height: 15px;
	color: #ffffff;
	flex-shrink: 0;
	display: block;
	margin: 0;
	padding: 0;
}

.flowstate-topbar-center {
	text-align: center;
}

.flowstate-topbar-slogan {
	color: #ffffff;
	font-size: 0.81rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.flowstate-topbar-right {
	display: flex;
	align-items: center;
	gap: 18px;
}

.flowstate-topbar-phone {
	color: #ffffff !important;
	font-weight: 600;
	font-size: 0.84rem;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	letter-spacing: 0.02em;
	transition: color 0.2s ease;
}

.flowstate-topbar-phone:hover {
	color: #5ce1e6 !important;
}

.flowstate-topbar-phone .flowstate-icon,
.flowstate-topbar-phone svg {
	width: 14px;
	height: 14px;
	color: #5ce1e6;
	flex-shrink: 0;
	display: block;
}

.flowstate-topbar-book-btn {
	display: inline-flex;
	align-items: center;
	background: #5ce1e6;
	color: #0a3d40 !important;
	font-size: 0.76rem;
	font-weight: 700;
	padding: 3px 12px;
	border-radius: 9999px;
	text-decoration: none;
	transition: background-color 0.2s, transform 0.2s;
	line-height: 1.4;
	white-space: nowrap;
}

.flowstate-topbar-book-btn:hover {
	background: #ffffff;
	transform: translateY(-1px);
}

.flowstate-topbar-socials {
	display: flex;
	align-items: center;
	gap: 12px;
}

.flowstate-topbar-socials a {
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.9;
	transition: opacity 0.2s, color 0.2s;
}

.flowstate-topbar-socials a:hover {
	opacity: 1;
	color: #5ce1e6;
}

.flowstate-topbar-socials svg {
	width: 16px;
	height: 16px;
}

.flowstate-site-header {
	position: sticky;
	top: 0;
	background-color: #ffffff;
	z-index: 1000;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	transition: var(--fs-transition);
}

.flowstate-site-header.is-scrolled {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.flowstate-navbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 72px;
}

.flowstate-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}

.flowstate-brand img {
	max-height: 64px;
	height: auto;
	width: auto;
	object-fit: contain;
	display: block;
}

.flowstate-brand__text {
	font-size: 1.45rem;
	font-weight: 800;
	color: #0a3d40;
	letter-spacing: -0.03em;
}

.flowstate-brand__sub {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #64748b;
	display: block;
	font-weight: 600;
}

.flowstate-nav-menu {
	display: flex;
	align-items: center;
	gap: 24px;
	list-style: none;
}

.flowstate-nav-menu li {
	position: relative;
}

.flowstate-nav-menu a {
	color: #1e293b;
	font-weight: 600;
	font-size: 0.92rem;
	padding: 8px 4px;
	position: relative;
	text-decoration: none;
}

.flowstate-nav-menu a:hover,
.flowstate-nav-menu li.current-menu-item > a,
.flowstate-nav-menu li[aria-current="page"] > a {
	color: #2a7e78;
}

.flowstate-nav-menu a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 2px;
	background: #2a7e78;
	transition: var(--fs-transition);
}

.flowstate-nav-menu a:hover::after,
.flowstate-nav-menu li.current-menu-item > a::after {
	width: 100%;
}

.flowstate-header-actions {
	display: flex;
	align-items: center;
	gap: 16px;
}

.flowstate-search-toggle {
	background: transparent;
	border: none;
	color: #1e293b;
	cursor: pointer;
	padding: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.2s;
}

.flowstate-search-toggle:hover {
	color: #2a7e78;
}

.flowstate-search-toggle svg {
	width: 20px;
	height: 20px;
}

/* Header Search Popup */
.flowstate-header-search-popup {
	position: absolute;
	top: calc(100% + 14px);
	right: 0;
	width: 380px;
	max-width: calc(100vw - 32px);
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 16px 36px rgba(10, 61, 64, 0.18), 0 4px 12px rgba(0, 0, 0, 0.08);
	border: 1px solid #c8e4e0;
	padding: 8px 12px;
	z-index: 9999;
	animation: flowstateSearchFadeDown 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes flowstateSearchFadeDown {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.flowstate-header-search-popup::before {
	content: '';
	position: absolute;
	top: -6px;
	right: 18px;
	width: 12px;
	height: 12px;
	background: #ffffff;
	transform: rotate(45deg);
	border-left: 1px solid #c8e4e0;
	border-top: 1px solid #c8e4e0;
}

.flowstate-header-search-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
}

.flowstate-header-search-icon {
	color: #0c7075;
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.flowstate-header-search-input {
	flex: 1;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	font-size: 0.95rem;
	color: #0a3d40;
	background: transparent;
	padding: 8px 4px;
}

.flowstate-header-search-input::placeholder {
	color: #94a3b8;
}

.flowstate-header-search-submit {
	background: #0a3d40;
	color: #ffffff;
	border: none;
	border-radius: 8px;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 0.2s, transform 0.15s;
	flex-shrink: 0;
}

.flowstate-header-search-submit:hover {
	background: #072b2d;
	transform: scale(1.04);
}

.flowstate-header-search-close {
	background: transparent;
	border: none;
	color: #64748b;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	padding: 0 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.2s;
	flex-shrink: 0;
}

.flowstate-header-search-close:hover {
	color: #0f172a;
}

.flowstate-header-actions .flowstate-btn--primary,
.flowstate-header-actions .flowstate-btn {
	background-color: #0a3d40;
	color: #ffffff !important;
	border-radius: 8px;
	padding: 10px 22px;
	font-weight: 600;
	font-size: 0.9rem;
	text-decoration: none;
	border: none;
	transition: background-color 0.2s, transform 0.2s;
}

.flowstate-header-actions .flowstate-btn--primary:hover,
.flowstate-header-actions .flowstate-btn:hover {
	background-color: #072b2d;
}

/* Mobile Menu Toggle & Navigation Drawer */
.flowstate-mobile-toggle {
	display: none;
	background: transparent;
	border: none;
	cursor: pointer;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	color: #0a3d40;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 0.2s, color 0.2s;
}

.flowstate-mobile-toggle:hover,
.flowstate-mobile-toggle:focus-visible {
	background-color: rgba(10, 61, 64, 0.08);
	color: #2a7e78;
}

.flowstate-mobile-drawer {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	max-width: min(360px, 88vw);
	height: 100%;
	height: 100dvh;
	max-height: 100dvh;
	background: #ffffff;
	z-index: 9999;
	box-shadow: -6px 0 30px rgba(0, 0, 0, 0.18);
	padding: 20px 22px;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
}

.flowstate-mobile-drawer.is-open {
	transform: translateX(0);
}

.flowstate-drawer-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e2e8f0;
	flex-shrink: 0;
}

.flowstate-drawer-brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.flowstate-drawer-close {
	background: transparent;
	border: none;
	cursor: pointer;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #0a3d40;
	padding: 0;
	border-radius: 50%;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 0.2s, transform 0.2s;
}

.flowstate-drawer-close:hover,
.flowstate-drawer-close:focus-visible {
	background-color: rgba(10, 61, 64, 0.08);
	transform: scale(1.05);
}

.flowstate-mobile-nav {
	flex: 1;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding-right: 4px;
	margin-right: -4px;
}

.flowstate-mobile-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.flowstate-mobile-menu > li {
	margin-bottom: 4px;
	border-bottom: 1px solid rgba(226, 232, 240, 0.6);
}

.flowstate-mobile-menu > li:last-child {
	border-bottom: none;
}

.flowstate-mobile-menu-row,
.flowstate-mobile-dropdown-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: transparent;
	border: none;
	padding: 12px 0;
	min-height: 48px;
	cursor: pointer;
	text-align: left;
	font-family: inherit;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	transition: color 0.18s ease;
}

.flowstate-mobile-menu-label {
	font-size: 1.05rem;
	font-weight: 600;
	color: #0a3d40;
	transition: color 0.18s ease;
	flex: 1;
}

.flowstate-mobile-dropdown-trigger:hover .flowstate-mobile-menu-label,
.flowstate-mobile-dropdown-trigger:focus-visible .flowstate-mobile-menu-label,
.flowstate-mobile-menu .menu-item-has-children.is-open > .flowstate-mobile-dropdown-trigger .flowstate-mobile-menu-label {
	color: #0c7075;
}

.flowstate-mobile-menu-link,
.flowstate-mobile-menu > li > a {
	display: flex;
	align-items: center;
	flex: 1;
	font-size: 1.05rem;
	font-weight: 600;
	color: #0a3d40;
	padding: 12px 0;
	min-height: 48px;
	text-decoration: none;
	touch-action: manipulation;
	transition: color 0.18s ease;
}

.flowstate-mobile-menu-link:hover,
.flowstate-mobile-menu-link:focus,
.flowstate-mobile-menu > li > a:hover,
.flowstate-mobile-menu > li > a:focus {
	color: #0c7075;
}

.flowstate-mobile-menu-arrow,
.flowstate-mobile-submenu-toggle {
	width: 36px;
	height: 36px;
	min-width: 36px;
	min-height: 36px;
	border-radius: 50%;
	background-color: rgba(10, 61, 64, 0.05);
	color: #0a3d40;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	cursor: pointer;
	flex-shrink: 0;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 0.22s ease, color 0.22s ease, transform 0.28s ease;
}

.flowstate-mobile-dropdown-trigger:hover .flowstate-mobile-menu-arrow,
.flowstate-mobile-dropdown-trigger:focus-visible .flowstate-mobile-menu-arrow,
.flowstate-mobile-submenu-toggle:hover,
.flowstate-mobile-submenu-toggle:focus-visible {
	background-color: rgba(10, 61, 64, 0.12);
	color: #0c7075;
}

.flowstate-chevron-icon {
	transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
	flex-shrink: 0;
}

.flowstate-mobile-menu .menu-item-has-children.is-open > .flowstate-mobile-dropdown-trigger .flowstate-chevron-icon,
.flowstate-mobile-menu .menu-item-has-children.is-open > .flowstate-mobile-menu-row .flowstate-chevron-icon {
	transform: rotate(180deg);
}

.flowstate-mobile-menu .menu-item-has-children.is-open > .flowstate-mobile-dropdown-trigger .flowstate-mobile-menu-arrow,
.flowstate-mobile-menu .menu-item-has-children.is-open > .flowstate-mobile-menu-row .flowstate-mobile-menu-arrow {
	background-color: #0a3d40;
	color: #ffffff;
}

.flowstate-drawer-actions {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid #e2e8f0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-shrink: 0;
}

.flowstate-drawer-cta,
.flowstate-drawer-phone {
	width: 100%;
	justify-content: center;
	min-height: 44px;
	text-align: center;
	font-weight: 600;
	border-radius: 9999px;
	box-sizing: border-box;
}

.flowstate-mobile-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(10, 61, 64, 0.55);
	z-index: 9998;
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.flowstate-mobile-backdrop.is-open {
	display: block;
	opacity: 1;
}

/* ==================================================
   6. HERO SECTION
================================================== */
.flowstate-hero {
	background: linear-gradient(135deg, #ffffff 0%, #f4f9f8 100%);
	padding: clamp(3.5rem, 6vw, 6.5rem) 0 clamp(3rem, 5vw, 5rem) 0;
	border-bottom: 1px solid var(--fs-border);
}

.flowstate-hero__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}

.flowstate-hero__actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 1.8rem;
}

.flowstate-hero__card {
	background: #ffffff;
	border: 1px solid var(--fs-border);
	border-radius: var(--fs-radius-md);
	padding: clamp(1.8rem, 3vw, 2.5rem);
	box-shadow: var(--fs-shadow-md);
	position: relative;
}

.flowstate-hero__badges {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 1.5rem;
}

.flowstate-hero-badge {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--fs-navy);
}

.flowstate-hero-badge .flowstate-badge-icon {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(72, 188, 166, 0.15);
	color: var(--fs-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* ==================================================
   7. SERVICES & CONDITIONS CARDS
================================================== */
.flowstate-grid-2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 28px;
}

.flowstate-grid-3 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 26px;
}

.flowstate-card {
	background: #ffffff;
	border: 1px solid var(--fs-border);
	border-radius: var(--fs-radius-md);
	padding: clamp(1.6rem, 2.5vw, 2.2rem);
	box-shadow: var(--fs-shadow-sm);
	transition: var(--fs-transition);
	display: flex;
	flex-direction: column;
}

.flowstate-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--fs-shadow-md);
	border-color: var(--fs-accent);
}

.flowstate-card__icon {
	width: 50px;
	height: 50px;
	background: rgba(72, 188, 166, 0.15);
	color: var(--fs-primary);
	border-radius: var(--fs-radius-sm);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	margin-bottom: 1.2rem;
}

.flowstate-card__title {
	font-size: 1.3rem;
	margin-bottom: 0.6rem;
}

.flowstate-card__desc {
	color: #64748b;
	font-size: 0.95rem;
	margin-bottom: 1.2rem;
	flex: 1;
}

.flowstate-card__link {
	font-weight: 600;
	font-size: 0.9rem;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* ==================================================
   8. TESTIMONIALS
================================================== */
.flowstate-testimonial-card {
	background: #ffffff;
	border: 1px solid var(--fs-border);
	border-radius: var(--fs-radius-md);
	padding: 2rem;
	box-shadow: var(--fs-shadow-sm);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.flowstate-stars {
	color: #f59e0b;
	display: flex;
	gap: 3px;
	margin-bottom: 1rem;
}

.flowstate-testimonial-text {
	font-size: 1rem;
	line-height: 1.7;
	color: #334155;
	font-style: italic;
	margin-bottom: 1.4rem;
}

.flowstate-patient-meta {
	border-top: 1px solid var(--fs-border);
	padding-top: 1rem;
}

.flowstate-patient-name {
	font-weight: 700;
	color: var(--fs-navy);
	font-size: 1rem;
}

.flowstate-patient-location {
	font-size: 0.85rem;
	color: #64748b;
}

/* ==================================================
   9. FAQ ACCORDION
================================================== */
.flowstate-accordion {
	max-width: 820px;
	margin: 0 auto;
}

.flowstate-accordion-item {
	background: #ffffff;
	border: 1px solid var(--fs-border);
	border-radius: var(--fs-radius-sm);
	margin-bottom: 14px;
	overflow: hidden;
	transition: var(--fs-transition);
}

.flowstate-accordion-item:hover {
	border-color: #cbd5e1;
}

.flowstate-accordion-item.is-active {
	border-color: var(--fs-accent);
	box-shadow: var(--fs-shadow-sm);
}

.flowstate-accordion-trigger {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 18px 22px;
	background: transparent;
	border: none;
	text-align: left;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--fs-navy);
	cursor: pointer;
}

.flowstate-accordion-icon {
	color: var(--fs-primary);
	transition: transform 0.25s ease;
	flex-shrink: 0;
	margin-left: 14px;
}

.flowstate-accordion-item.is-active .flowstate-accordion-icon {
	transform: rotate(180deg);
}

.flowstate-accordion-body {
	display: none;
	padding: 0 22px 20px 22px;
	font-size: 0.95rem;
	line-height: 1.7;
	color: #475569;
	border-top: 1px solid #f1f5f9;
}

.flowstate-accordion-item.is-active .flowstate-accordion-body {
	display: block;
}

/* ==================================================
   10. LOCATION DUAL CARDS
================================================== */
.flowstate-location-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.flowstate-location-card {
	background: #ffffff;
	border: 1px solid var(--fs-border);
	border-radius: var(--fs-radius-md);
	padding: 2.2rem;
	box-shadow: var(--fs-shadow-sm);
}

.flowstate-location-card.is-featured {
	border-top: 4px solid var(--fs-primary);
}

.flowstate-location-details {
	list-style: none;
	margin: 1.4rem 0;
}

.flowstate-location-details li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 12px;
	font-size: 0.95rem;
	color: #475569;
}

.flowstate-location-details li .flowstate-icon {
	color: var(--fs-primary);
	margin-top: 4px;
	flex-shrink: 0;
}

/* ==================================================
   11. GLOBAL CTA BANNER
================================================== */
.flowstate-cta-banner {
	background: linear-gradient(135deg, var(--fs-primary) 0%, var(--fs-secondary) 100%);
	color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5rem) 0;
	text-align: center;
	border-radius: var(--fs-radius-lg);
	margin: clamp(2.5rem, 4vw, 4rem) 0;
}

.flowstate-cta-banner h2 {
	color: #ffffff;
	margin-bottom: 1rem;
}

.flowstate-cta-banner p {
	color: rgba(255, 255, 255, 0.9);
	max-width: 650px;
	margin: 0 auto 1.8rem auto;
	font-size: 1.15rem;
}

.flowstate-cta-banner__actions {
	display: flex;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
}

/* ==================================================
   12. BREADCRUMBS
================================================== */
.flowstate-breadcrumbs {
	background: #f8fafc;
	padding: 12px 0;
	font-size: 0.85rem;
	border-bottom: 1px solid var(--fs-border);
}

.flowstate-breadcrumb-list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
}

.flowstate-breadcrumb-sep {
	color: #94a3b8;
	margin-left: 6px;
}

.flowstate-breadcrumb-item.is-active {
	color: #64748b;
	font-weight: 500;
}

/* ==================================================
   13. BLOG & ARTICLES
================================================== */
.flowstate-post-card {
	background: #ffffff;
	border: 1px solid var(--fs-border);
	border-radius: var(--fs-radius-md);
	overflow: hidden;
	box-shadow: var(--fs-shadow-sm);
	transition: var(--fs-transition);
	display: flex;
	flex-direction: column;
}

.flowstate-post-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--fs-shadow-md);
}

.flowstate-post-card__thumb img {
	width: 100%;
	height: 220px;
	object-fit: cover;
}

.flowstate-post-card__content {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.flowstate-post-card__meta {
	font-size: 0.82rem;
	color: #64748b;
	margin-bottom: 0.6rem;
	display: flex;
	gap: 12px;
}

/* ==================================================
   14. FOOTER
================================================== */
.flowstate-site-footer {
	background-color: var(--fs-navy);
	color: #cbd5e1;
	padding-top: clamp(3.5rem, 5vw, 5rem);
	font-size: 0.92rem;
}

.flowstate-footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	padding-bottom: 3.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.flowstate-footer-col h4 {
	color: #ffffff;
	font-size: 1.1rem;
	margin-bottom: 1.2rem;
}

.flowstate-footer-col ul {
	list-style: none;
}

.flowstate-footer-col li {
	margin-bottom: 9px;
}

.flowstate-footer-col a {
	color: #94a3b8;
}

.flowstate-footer-col a:hover {
	color: var(--fs-accent);
}

.flowstate-footer-bottom {
	padding: 24px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.82rem;
	color: #64748b;
	flex-wrap: wrap;
	gap: 14px;
}

/* ==================================================
   15. MOCKUP-ALIGNED HOMEPAGE SECTIONS & BRANDING
================================================== */
:root {
	--fs-font-sans: 'Jost', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--fs-font-script: 'Caveat', cursive, sans-serif;
}

body {
	font-family: var(--fs-font-sans);
}

.flowstate-highlight {
	color: var(--fs-primary);
}

/* Cursive font classes */
.flowstate-doc-signature,
.flowstate-doctor-signature,
.flowstate-float-badge--script,
.flowstate-video-script-overlay,
.flowstate-script-accent,
.flowstate-cta-script {
	font-family: var(--fs-font-script);
}

/* Pill Buttons */
.flowstate-btn--pill {
	border-radius: 9999px;
	padding: 12px 28px;
	font-size: 0.95rem;
}

.flowstate-text-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	color: var(--fs-primary);
	text-decoration: none;
	transition: var(--fs-transition);
}

.flowstate-text-link:hover {
	color: var(--fs-secondary);
	transform: translateX(4px);
}

.flowstate-eyebrow--clean {
	background: rgba(12, 74, 79, 0.08);
	color: var(--fs-primary);
}

.flowstate-eyebrow--accent {
	background: rgba(72, 188, 166, 0.2);
	color: var(--fs-accent);
}

/* 01. Topbar 3-Column Layout */
.flowstate-topbar__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
}

.flowstate-topbar-center {
	text-align: center;
}

.flowstate-topbar-slogan {
	font-weight: 700;
	letter-spacing: 0.16em;
	font-size: 0.78rem;
	text-transform: uppercase;
	color: var(--fs-accent);
}

.flowstate-topbar-phone {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	color: #ffffff;
}

.flowstate-topbar-socials {
	display: inline-flex;
	gap: 12px;
	align-items: center;
	margin-left: 14px;
	padding-left: 14px;
	border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.flowstate-topbar-socials a {
	color: #cbd5e1;
	display: inline-flex;
	align-items: center;
	transition: var(--fs-transition);
}

.flowstate-topbar-socials a:hover {
	color: var(--fs-accent);
	transform: translateY(-1px);
}

/* Header Navbar Dropdown & Search */
.flowstate-nav-menu .nav-caret {
	font-size: 0.75rem;
	margin-left: 2px;
	opacity: 0.7;
}

.flowstate-nav-menu .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: #ffffff;
	min-width: 220px;
	box-shadow: var(--fs-shadow-lg);
	border-radius: 10px;
	padding: 10px 0;
	list-style: none;
	z-index: 100;
	border: 1px solid var(--fs-border);
}

.flowstate-nav-menu li:hover > .sub-menu,
.flowstate-nav-menu li.is-touch-open > .sub-menu {
	display: block;
}

.flowstate-nav-menu .sub-menu a {
	padding: 8px 18px;
	display: block;
	font-size: 0.88rem;
	color: var(--fs-navy);
}

.flowstate-nav-menu .sub-menu a:hover {
	background: rgba(12, 74, 79, 0.05);
	color: var(--fs-primary);
}

/* Mega Menu 3-Column Layout */
.flowstate-nav-menu li.menu-item-mega {
	position: relative;
}

.flowstate-nav-menu .sub-menu.mega-menu {
	min-width: 720px;
	left: 50%;
	transform: translateX(-50%);
	padding: 20px;
	border-radius: 12px;
	box-shadow: var(--fs-shadow-lg);
}

.flowstate-nav-menu li.menu-item-mega:hover > .sub-menu.mega-menu,
.flowstate-nav-menu li.menu-item-mega.is-touch-open > .sub-menu.mega-menu {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.mega-menu__col {
	display: flex;
	flex-direction: column;
}

.mega-menu__title {
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #0c4a4f;
	padding: 4px 8px 8px;
	margin-bottom: 6px;
	border-bottom: 2px solid rgba(12, 74, 79, 0.12);
}

.mega-menu__list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.mega-menu__list li {
	margin: 0;
}

.mega-menu__list a {
	padding: 6px 8px !important;
	font-size: 0.85rem !important;
	border-radius: 6px;
	line-height: 1.35;
	display: block;
	color: #0b1a28;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.mega-menu__list a:hover {
	background: rgba(12, 74, 79, 0.06) !important;
	color: #0c4a4f !important;
}

/* Mobile Navigation Sub-menu & Group Titles (Accordion Collapsible) */
.flowstate-mobile-menu .sub-menu {
	list-style: none;
	padding: 6px 0 10px 18px;
	margin: 0 0 8px 6px;
	border-left: 2px solid #bce1db;
	display: none;
	overflow: hidden;
}

.flowstate-mobile-menu .menu-item-has-children.is-open > .sub-menu {
	display: block;
	animation: flowstateSlideDown 0.24s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes flowstateSlideDown {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.flowstate-mobile-menu .sub-menu li {
	margin: 0;
	padding: 0;
	border: none;
}

.flowstate-mobile-menu .sub-menu a {
	font-size: 0.95rem;
	font-weight: 500;
	color: #334155;
	padding: 7px 0;
	min-height: 38px;
	display: flex;
	align-items: center;
	touch-action: manipulation;
	text-decoration: none;
	transition: color 0.15s ease, transform 0.15s ease;
}

.flowstate-mobile-menu .sub-menu a:hover,
.flowstate-mobile-menu .sub-menu a:focus-visible {
	color: #0a3d40;
	font-weight: 600;
	transform: translateX(3px);
}

.flowstate-mobile-menu .mobile-group-title {
	font-size: 0.74rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #0a3d40;
	margin-top: 12px;
	margin-bottom: 4px;
	padding-bottom: 2px;
	border-bottom: 1px solid rgba(210, 236, 231, 0.6);
}

.flowstate-search-toggle {
	background: transparent;
	border: none;
	color: var(--fs-navy);
	cursor: pointer;
	padding: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: var(--fs-transition);
}

.flowstate-search-toggle:hover {
	background: rgba(12, 74, 79, 0.08);
	color: var(--fs-primary);
}

/* 03. Hero Section */
.flowstate-hero {
	background: linear-gradient(135deg, #f0f7f6 0%, #ffffff 50%, #eaf4f2 100%);
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
	position: relative;
	overflow: hidden;
}

.flowstate-hero::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 500px;
	height: 100%;
	background-image: radial-gradient(rgba(12, 74, 79, 0.08) 1.5px, transparent 1.5px);
	background-size: 24px 24px;
	opacity: 0.7;
	pointer-events: none;
}

.flowstate-hero__title {
	font-size: clamp(2.3rem, 4.5vw, 3.6rem);
	line-height: 1.15;
	letter-spacing: -0.025em;
	margin-bottom: 1rem;
}

.flowstate-hero__subtitle {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--fs-primary);
	margin-bottom: 1.2rem;
	line-height: 1.45;
}

.flowstate-hero__desc {
	margin-bottom: 2rem;
	max-width: 580px;
}

.flowstate-hero__actions {
	display: flex;
	gap: 16px;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 2.2rem;
}

.flowstate-hero__feature-pills {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	max-width: 560px;
}

.flowstate-feature-pill {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #ffffff;
	padding: 10px 16px;
	border-radius: 9999px;
	box-shadow: 0 2px 8px rgba(12, 74, 79, 0.06);
	border: 1px solid rgba(12, 74, 79, 0.08);
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--fs-navy);
}

.flowstate-feature-pill__icon {
	color: var(--fs-primary);
	display: flex;
	align-items: center;
}

.flowstate-hero-image-wrapper {
	position: relative;
	max-width: 540px;
	margin: 0 auto;
}

.flowstate-hero-photo {
	width: 100%;
	border-radius: 24px;
	box-shadow: var(--fs-shadow-lg);
	object-fit: cover;
	aspect-ratio: 4 / 3.8;
}

/* Floating Badges on Hero */
.flowstate-float-badge {
	position: absolute;
	z-index: 2;
	box-shadow: var(--fs-shadow-md);
}

.flowstate-float-badge--script {
	top: -26px;
	right: 15px;
	font-size: 2.2rem;
	color: var(--fs-primary);
	font-weight: 700;
	transform: rotate(-6deg);
	text-shadow: 0 2px 6px rgba(255, 255, 255, 0.9);
	box-shadow: none;
}

.flowstate-float-badge--teal {
	top: 50%;
	right: -24px;
	transform: translateY(-50%);
	background: var(--fs-primary);
	color: #ffffff;
	padding: 11px 20px;
	border-radius: 9999px;
	font-size: 0.85rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 10px;
}

.flowstate-float-badge__dot {
	width: 8px;
	height: 8px;
	background: var(--fs-accent);
	border-radius: 50%;
}

.flowstate-float-badge--location {
	bottom: -22px;
	left: -20px;
	background: #ffffff;
	border-radius: 16px;
	padding: 14px 20px;
	display: flex;
	align-items: center;
	gap: 14px;
	border: 1px solid var(--fs-border);
}

.flowstate-float-badge__icon {
	background: rgba(12, 74, 79, 0.1);
	color: var(--fs-primary);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-float-badge__text strong {
	display: block;
	font-size: 0.76rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--fs-primary);
}

.flowstate-float-badge__text span {
	font-size: 0.88rem;
	color: var(--fs-navy);
	font-weight: 700;
}

/* 04. Meet Your Chiropractor Section (3 Columns) */
.flowstate-section--doctor-bio {
	background-color: #ffffff;
}

.flowstate-doctor-intro {
	display: grid;
	grid-template-columns: 1fr 1.25fr 1fr;
	gap: clamp(2rem, 3.5vw, 3.5rem);
	align-items: center;
}

.flowstate-photo-frame {
	position: relative;
	max-width: 420px;
	margin: 0 auto;
}

.flowstate-photo-frame__backdrop {
	position: absolute;
	top: 18px;
	left: -18px;
	width: 100%;
	height: 100%;
	border: 3px solid var(--fs-primary);
	border-radius: 20px;
	z-index: 1;
	pointer-events: none;
}

.flowstate-doctor-photo {
	position: relative;
	z-index: 2;
	width: 100%;
	border-radius: 20px;
	box-shadow: var(--fs-shadow-lg);
	object-fit: cover;
	aspect-ratio: 3.5 / 4.4;
}

.flowstate-doctor-intro__title {
	font-size: clamp(1.8rem, 3vw, 2.3rem);
	line-height: 1.25;
	margin-bottom: 1rem;
}

.flowstate-doctor-signature {
	font-size: 2.6rem;
	color: var(--fs-primary);
	font-weight: 700;
	line-height: 1;
}

.flowstate-circle-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 20px;
	background: #ffffff;
	border-radius: 16px;
	border: 1px solid rgba(12, 74, 79, 0.08);
	box-shadow: var(--fs-shadow-sm);
	margin-bottom: 16px;
	transition: var(--fs-transition);
}

.flowstate-circle-card:last-child {
	margin-bottom: 0;
}

.flowstate-circle-card:hover {
	transform: translateX(5px);
	box-shadow: var(--fs-shadow-md);
	border-color: rgba(72, 188, 166, 0.3);
}

.flowstate-circle-card__icon {
	width: 46px;
	height: 46px;
	min-width: 46px;
	border-radius: 50%;
	background: rgba(72, 188, 166, 0.15);
	color: var(--fs-primary);
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-circle-card__title {
	font-size: 0.95rem;
	font-weight: 700;
	margin-bottom: 3px;
	color: var(--fs-navy);
}

.flowstate-circle-card__desc {
	font-size: 0.82rem;
	color: #64748b;
	line-height: 1.45;
	margin-bottom: 0;
}

/* 05. Our Chiropractic Care (Dark Teal) */
.flowstate-section--dark-teal {
	background-color: #0a3d40;
	color: #ffffff;
}

.flowstate-section-header--split {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	text-align: left;
	max-width: 100%;
	margin-bottom: 3rem;
	gap: 20px;
}

.flowstate-service-card--white {
	background: #ffffff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: var(--fs-shadow-md);
	transition: var(--fs-transition);
	height: 100%;
	display: flex;
	flex-direction: column;
}

.flowstate-service-card--white:hover {
	transform: translateY(-6px);
	box-shadow: var(--fs-shadow-lg);
}

.flowstate-service-card__thumb {
	overflow: hidden;
	position: relative;
	background-color: #f1f5f9;
}

.flowstate-service-card__thumb img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	object-position: center top;
	display: block;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.flowstate-service-card--white:hover .flowstate-service-card__thumb img {
	transform: scale(1.04);
}

.flowstate-service-card__body {
	padding: 26px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.flowstate-service-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 0.75rem;
	color: var(--fs-navy);
}

.flowstate-service-card__title a {
	color: var(--fs-navy);
}

.flowstate-service-card__title a:hover {
	color: var(--fs-primary);
}

.flowstate-service-card__desc {
	font-size: 0.92rem;
	color: #64748b;
	line-height: 1.65;
	flex: 1;
	margin-bottom: 1.4rem;
}

/* 06. Conditions We Serve (Chips) */
.flowstate-section--mint {
	background-color: #f2f8f6;
}

.flowstate-conditions-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
}

.flowstate-chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #ffffff;
	border: 1px solid rgba(12, 74, 79, 0.12);
	padding: 13px 24px;
	border-radius: 9999px;
	font-size: 0.94rem;
	font-weight: 600;
	color: var(--fs-navy);
	transition: var(--fs-transition);
	box-shadow: var(--fs-shadow-sm);
	text-decoration: none;
}

.flowstate-chip:hover {
	background: var(--fs-primary);
	color: #ffffff;
	border-color: var(--fs-primary);
	transform: translateY(-2px);
	box-shadow: var(--fs-shadow-md);
}

.flowstate-chip__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--fs-accent);
}

.flowstate-chip:hover .flowstate-chip__dot {
	background: #ffffff;
}

.flowstate-chip__arrow {
	opacity: 0.5;
	font-size: 1.1rem;
	transition: transform 0.2s;
}

.flowstate-chip:hover .flowstate-chip__arrow {
	opacity: 1;
	transform: translateX(3px);
}

/* 07 & 08. Split Grids & Video Facades */
.flowstate-split-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2.5rem, 5vw, 4.5rem);
	align-items: center;
}

.flowstate-split-grid--reverse {
	grid-template-columns: 1fr 1fr;
}

.flowstate-video-facade--framed {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: var(--fs-shadow-lg);
	cursor: pointer;
	background: #000000;
}

.flowstate-video-poster {
	width: 100%;
	height: 380px;
	object-fit: cover;
	opacity: 0.88;
	transition: opacity 0.3s;
}

.flowstate-video-facade--framed:hover .flowstate-video-poster {
	opacity: 0.98;
}

.flowstate-video-script-overlay {
	position: absolute;
	top: 20px;
	left: 24px;
	font-size: 2.2rem;
	color: #ffffff;
	font-weight: 700;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.7);
	z-index: 3;
}

.flowstate-play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: #ffffff;
	color: var(--fs-primary);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 25px rgba(0, 0, 0, 0.35);
	cursor: pointer;
	transition: var(--fs-transition);
	z-index: 3;
}

.flowstate-play-btn:hover {
	transform: translate(-50%, -50%) scale(1.1);
	background: var(--fs-accent);
	color: #ffffff;
}

.flowstate-video-bar {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 14px 24px;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.75));
	display: flex;
	align-items: center;
	gap: 16px;
	z-index: 3;
}

.flowstate-video-time {
	color: #ffffff;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.flowstate-video-progress {
	flex: 1;
	height: 4px;
	background: rgba(255, 255, 255, 0.3);
	border-radius: 2px;
	overflow: hidden;
}

.flowstate-video-progress__fill {
	height: 100%;
	background: var(--fs-accent);
}

.flowstate-checklist {
	list-style: none;
	margin: 1.5rem 0;
}

.flowstate-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 12px;
	font-size: 0.95rem;
	color: #334155;
	line-height: 1.55;
}

.flowstate-checklist__icon {
	color: var(--fs-primary);
	width: 22px;
	height: 22px;
	min-width: 22px;
	margin-top: 2px;
}

.flowstate-quote-callout {
	background: rgba(12, 74, 79, 0.06);
	border-left: 4px solid var(--fs-primary);
	padding: 20px 24px;
	border-radius: 0 14px 14px 0;
	margin-top: 1.8rem;
}

.flowstate-quote-callout__icon {
	color: var(--fs-primary);
	opacity: 0.35;
	margin-bottom: 8px;
}

.flowstate-quote-callout__text {
	font-size: 0.96rem;
	font-style: italic;
	color: var(--fs-navy);
	line-height: 1.6;
	margin-bottom: 8px;
}

.flowstate-quote-callout__author {
	font-size: 0.86rem;
	font-weight: 700;
	color: var(--fs-primary);
	font-style: normal;
}

.flowstate-script-accent {
	font-size: 2rem;
	color: var(--fs-primary);
	font-weight: 700;
	margin-top: 1.2rem;
}

/* 09. Ribbon Bar */
.flowstate-ribbon-bar {
	background: #0a3d40;
	color: #ffffff;
	padding: 30px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.flowstate-ribbon-bar__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	align-items: center;
}

.flowstate-ribbon-item {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	font-weight: 600;
	font-size: 0.96rem;
	letter-spacing: 0.02em;
}

.flowstate-ribbon-item__icon {
	color: var(--fs-accent);
}

/* 10. Testimonials */
.flowstate-section--testimonials {
	background-color: #ffffff;
}

.flowstate-testimonial-card {
	padding: 32px;
	border-radius: 18px;
	background: #ffffff;
	border: 1px solid rgba(12, 74, 79, 0.08);
	box-shadow: var(--fs-shadow-sm);
	display: flex;
	flex-direction: column;
	height: 100%;
}

.flowstate-testimonial-card__header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 18px;
}

.flowstate-testimonial-avatar {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: var(--fs-shadow-sm);
	border: 2px solid var(--fs-accent);
}

.flowstate-patient-name {
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--fs-navy);
}

.flowstate-patient-location {
	font-size: 0.82rem;
	color: #64748b;
}

.flowstate-stars {
	color: #f59e0b;
	margin-bottom: 14px;
	display: flex;
	gap: 3px;
}

.flowstate-testimonial-text {
	font-size: 0.95rem;
	line-height: 1.7;
	color: #334155;
	font-style: italic;
	flex: 1;
}

/* 11. Blog Post Cards */
.flowstate-post-card {
	background: #ffffff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: var(--fs-shadow-sm);
	border: 1px solid rgba(12, 74, 79, 0.08);
	display: flex;
	flex-direction: column;
	transition: var(--fs-transition);
}

.flowstate-post-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--fs-shadow-md);
}

.flowstate-post-card__thumb img {
	width: 100%;
	height: 220px;
	object-fit: cover;
}

.flowstate-post-card__content {
	padding: 26px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.flowstate-post-card__meta {
	font-size: 0.82rem;
	font-weight: 600;
	color: #64748b;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.flowstate-post-card__category {
	color: var(--fs-primary);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.flowstate-post-card__title {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.35;
	margin-bottom: 12px;
}

.flowstate-post-card__title a {
	color: var(--fs-navy);
	text-decoration: none;
}

.flowstate-post-card__title a:hover {
	color: var(--fs-primary);
}

.flowstate-post-card__excerpt {
	font-size: 0.92rem;
	color: #64748b;
	line-height: 1.65;
	margin-bottom: 18px;
	flex: 1;
}

/* 12. FAQ & Visit Us Dual Grid */
.flowstate-section--faq-visit {
	background-color: #ffffff;
}

.flowstate-dual-grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: clamp(2.5rem, 4vw, 4rem);
	align-items: flex-start;
}

.flowstate-visit-card {
	background: #ffffff;
	border-radius: 20px;
	border: 1px solid rgba(12, 74, 79, 0.12);
	box-shadow: var(--fs-shadow-lg);
	overflow: hidden;
}

.flowstate-visit-card__header {
	background: #0a3d40;
	color: #ffffff;
	padding: 26px 30px;
}

.flowstate-visit-card__title {
	color: #ffffff;
	font-size: 1.3rem;
	margin-top: 6px;
	margin-bottom: 0;
}

.flowstate-visit-card__body {
	padding: 30px;
}

.flowstate-visit-details {
	list-style: none;
	margin-bottom: 22px;
}

.flowstate-visit-details li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 16px;
	font-size: 0.92rem;
}

.flowstate-visit-icon {
	color: var(--fs-primary);
	width: 22px;
	height: 22px;
	min-width: 22px;
	margin-top: 2px;
}

.flowstate-visit-details strong {
	color: var(--fs-navy);
	display: block;
	margin-bottom: 2px;
}

.flowstate-visit-details p {
	margin-bottom: 0;
	color: #64748b;
}

.flowstate-visit-map-box {
	background: #e2ece9;
	border-radius: 14px;
	padding: 26px 20px;
	text-align: center;
	margin-bottom: 18px;
	border: 1px dashed rgba(12, 74, 79, 0.25);
}

.flowstate-map-pin {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--fs-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 14px;
}

.flowstate-satellite-badge {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.82rem;
	color: #64748b;
	background: rgba(72, 188, 166, 0.1);
	padding: 10px 14px;
	border-radius: 10px;
}

.flowstate-satellite-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--fs-accent);
}

/* 13. Final CTA Banner */
.flowstate-cta-section {
	background-color: #0a3d40;
	background-repeat: no-repeat;
	background-position: center right;
	background-size: cover;
	color: #ffffff;
	padding: clamp(4rem, 7vw, 6.5rem) 0;
	position: relative;
	overflow: hidden;
}

.flowstate-cta-section__inner {
	display: grid;
	grid-template-columns: 1.4fr 0.8fr;
	align-items: center;
	gap: 2rem;
	position: relative;
	z-index: 2;
}

.flowstate-cta-title {
	font-size: clamp(2rem, 3.5vw, 2.9rem);
	color: #ffffff;
	margin-bottom: 1rem;
	line-height: 1.2;
}

.flowstate-cta-desc {
	font-size: 1.15rem;
	color: #cbd5e1;
	max-width: 600px;
	margin-bottom: 2.2rem;
	line-height: 1.65;
}

.flowstate-cta-actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.flowstate-cta-script {
	font-size: 3rem;
	color: rgba(255, 255, 255, 0.78);
	text-align: right;
	transform: rotate(-5deg);
	line-height: 1.1;
	font-weight: 700;
}

/* Footer Social Icons */
.flowstate-social-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	transition: var(--fs-transition);
}

.flowstate-social-icon:hover {
	background: var(--fs-accent);
	color: #ffffff;
	transform: translateY(-2px);
}

@media (min-width: 1025px) and (max-width: 1200px) {
	.flowstate-navbar__brand img {
		max-height: 52px;
	}
	.flowstate-nav-menu {
		gap: 14px;
	}
	.flowstate-nav-menu a {
		font-size: 0.86rem;
		padding: 6px 2px;
	}
	.flowstate-header-actions {
		gap: 10px;
	}
	.flowstate-header-actions .flowstate-btn {
		padding: 8px 16px;
		font-size: 0.84rem;
	}
}

/* ==================================================
   16. RESPONSIVE BREAKPOINTS (Mobile-First)
================================================== */
@media (max-width: 1024px) {
	/* Header & Tablet Navigation Adaptations */
	.flowstate-nav-menu {
		display: none !important;
	}
	.flowstate-mobile-toggle {
		display: inline-flex !important;
	}
	.flowstate-mobile-drawer {
		display: flex !important;
	}
	.flowstate-topbar-center {
		display: none !important;
	}
	.flowstate-topbar-right .flowstate-topbar-socials {
		display: none !important;
	}
	.flowstate-topbar-right {
		display: flex !important;
		gap: 12px;
	}
	.flowstate-header-actions {
		gap: 12px;
	}
	.flowstate-header-actions .flowstate-btn {
		display: inline-flex !important;
		padding: 8px 18px !important;
		font-size: 0.84rem !important;
		font-weight: 600;
		letter-spacing: 0.02em;
	}
	.flowstate-navbar__brand img {
		max-height: 52px !important;
	}
	.flowstate-section-header--split {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
	.flowstate-footer-grid {
		grid-template-columns: 1fr 1fr;
	}
	.flowstate-hero__grid {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.flowstate-doctor-intro {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
	.flowstate-photo-frame {
		max-width: 360px;
	}
	.flowstate-split-grid,
	.flowstate-split-grid--reverse {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
	.flowstate-ribbon-bar__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
	.flowstate-dual-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-cta-section__inner {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.flowstate-cta-actions {
		justify-content: center;
	}
	.flowstate-cta-script-watermark,
	.flowstate-cta-script {
		display: none !important;
	}
	.flowstate-float-badge--teal {
		right: 10px;
	}
}

@media (max-width: 600px) {
	.flowstate-navbar {
		height: 64px;
	}
	.flowstate-navbar__brand img {
		max-height: 40px !important;
	}
	.flowstate-topbar-left {
		display: none !important;
	}
	.flowstate-topbar .flowstate-container {
		justify-content: center !important;
	}
	.flowstate-topbar-right {
		justify-content: center !important;
		width: 100%;
		gap: 10px;
	}
	.flowstate-header-actions {
		gap: 8px;
	}
	.flowstate-header-actions .flowstate-btn {
		padding: 6px 12px !important;
		font-size: 0.78rem !important;
	}
}

@media (max-width: 380px) {
	.flowstate-header-actions .flowstate-btn {
		display: none !important;
	}
}

@media (max-width: 640px) {
	.flowstate-footer-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-hero__feature-pills {
		grid-template-columns: 1fr;
	}
	.flowstate-ribbon-bar__grid {
		grid-template-columns: 1fr;
	}
	.flowstate-float-badge--location {
		left: 0;
		right: 0;
		bottom: -30px;
	}
	.flowstate-float-badge--teal {
		top: 20px;
		right: 10px;
		transform: none;
		font-size: 0.75rem;
	}
	.flowstate-float-badge--script {
		font-size: 1.6rem;
		top: -30px;
	}
	.flowstate-hero__actions,
	.flowstate-cta-actions {
		flex-direction: column;
		width: 100%;
	}
	.flowstate-hero__actions .flowstate-btn,
	.flowstate-cta-actions .flowstate-btn {
		width: 100%;
	}
}

/* ==================================================
   17. UPPER CERVICAL CHIROPRACTIC CARE PAGE (PIXEL-PERFECT MOCKUP)
================================================== */

/* Breadcrumbs */
.flowstate-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 0.86rem;
	color: #64748b;
	margin-bottom: 1.5rem;
}

.flowstate-breadcrumb a {
	color: #64748b;
	text-decoration: none;
	transition: var(--fs-transition);
}

.flowstate-breadcrumb a:hover {
	color: var(--fs-primary);
	text-decoration: underline;
}

.flowstate-breadcrumb .sep {
	color: #94a3b8;
	font-size: 0.95rem;
}

.flowstate-breadcrumb .current {
	color: #1e293b;
	font-weight: 600;
}

/* Service Hero */
.flowstate-service-hero {
	background: #f4f9f8;
	padding: clamp(2rem, 4vw, 3.5rem) 0 clamp(3rem, 5vw, 5rem) 0;
	position: relative;
	border-bottom: 1px solid rgba(12, 74, 79, 0.08);
}

.flowstate-service-hero__title {
	font-size: clamp(2.3rem, 4.2vw, 3.4rem);
	font-weight: 800;
	color: #0c383b;
	line-height: 1.15;
	margin-bottom: 0.85rem;
	letter-spacing: -0.025em;
}

.flowstate-service-hero__subtitle {
	font-size: clamp(1.05rem, 1.8vw, 1.25rem);
	font-weight: 600;
	color: #1e293b;
	line-height: 1.45;
	margin-bottom: 1.2rem;
}

.flowstate-hero-dots {
	position: absolute;
	left: -32px;
	top: 18%;
	width: 48px;
	height: 120px;
	background-image: radial-gradient(#48bca6 2.5px, transparent 2.5px);
	background-size: 14px 16px;
	opacity: 0.75;
	pointer-events: none;
	z-index: 1;
}

/* 4 Feature Pills under Hero Actions */
.flowstate-service-pills {
	display: flex;
	align-items: flex-start;
	gap: 22px;
	margin-top: 2.4rem;
	flex-wrap: wrap;
}

.flowstate-service-pill {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
	width: 90px;
}

.flowstate-service-pill__icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 1.5px solid rgba(12, 74, 79, 0.22);
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--fs-primary);
	box-shadow: 0 2px 8px rgba(12, 74, 79, 0.06);
	transition: var(--fs-transition);
}

.flowstate-service-pill__icon svg {
	width: 24px;
	height: 24px;
}

.flowstate-service-pill:hover .flowstate-service-pill__icon {
	border-color: var(--fs-primary);
	background: #f0f7f6;
	transform: translateY(-2px);
	box-shadow: 0 4px 14px rgba(12, 74, 79, 0.12);
}

.flowstate-service-pill__label {
	font-size: 0.78rem;
	font-weight: 700;
	color: #1e293b;
	line-height: 1.25;
}

.flowstate-float-badge--service-bottom {
	position: absolute;
	bottom: -20px;
	right: -20px;
	top: auto;
	transform: none;
	background: #0a3d40;
	color: #ffffff;
	padding: 18px 24px;
	border-radius: 14px;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.45);
	border: 1px solid rgba(255, 255, 255, 0.12);
	z-index: 3;
}

.flowstate-service-bottom-badge__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-family: var(--fs-font-script, 'Caveat', cursive);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.15;
	color: #ffffff;
	text-align: left;
}

/* What Is Upper Cervical (3-Column Layout) */
.flowstate-section--what-is {
	background-color: #ffffff;
	padding: clamp(4rem, 6vw, 6rem) 0;
}

.flowstate-what-is-grid {
	display: grid;
	grid-template-columns: 290px 1.4fr 260px;
	gap: clamp(1.8rem, 3.5vw, 3.2rem);
	align-items: center;
}

.flowstate-what-is-grid:has(> :nth-child(2):last-child) {
	grid-template-columns: minmax(300px, 440px) 1fr;
}

.flowstate-framed-card {
	border-radius: 18px;
	overflow: hidden;
	box-shadow: var(--fs-shadow-md);
	border: 1px solid var(--fs-border);
	background: #ffffff;
}

.flowstate-model-photo {
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
}

.flowstate-leaf-quote-card {
	background: #f0f7f6;
	border: 1.5px solid rgba(12, 74, 79, 0.15);
	border-radius: 18px;
	padding: 34px 26px;
	position: relative;
	text-align: left;
	overflow: hidden;
}

.flowstate-leaf-quote-card::after {
	content: '';
	position: absolute;
	right: -10px;
	bottom: -10px;
	width: 130px;
	height: 130px;
	background: radial-gradient(circle, rgba(72, 188, 166, 0.25) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-leaf-quote-card__icon {
	font-size: 4rem;
	line-height: 1;
	color: var(--fs-primary);
	font-family: Georgia, serif;
	margin-bottom: 0.4rem;
}

.flowstate-leaf-quote-card__text {
	font-size: 1.25rem;
	font-weight: 700;
	color: #0c4a4f;
	line-height: 1.45;
	margin: 0;
	font-style: normal;
}

/* Who This Helps (Mint Background & 2-Col Checklist) */
.flowstate-section--who-helps {
	background-color: #f0f7f6;
	padding: clamp(4rem, 6vw, 6rem) 0;
}

.flowstate-dual-checklist {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 26px;
	margin-top: 1.6rem;
}

.flowstate-checklist-col {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.flowstate-checklist-col li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 0.98rem;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.4;
}

.flowstate-bullet-check {
	width: 22px;
	height: 22px;
	min-width: 22px;
	border-radius: 50%;
	background: #0c4a4f;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2px;
}

.flowstate-bullet-check svg {
	width: 13px;
	height: 13px;
	stroke-width: 3;
}

.flowstate-framed-visual {
	position: relative;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: var(--fs-shadow-lg);
}

.flowstate-rounded-photo {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3.2;
	object-fit: cover;
	display: block;
	border-radius: 22px;
}

.flowstate-photo-script-stacked {
	position: absolute;
	right: 28px;
	top: 32px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-family: var(--fs-font-script, 'Caveat', cursive);
	font-size: 2.3rem;
	font-weight: 700;
	color: #0c4a4f;
	line-height: 1.08;
	text-shadow: 0 1px 4px rgba(255, 255, 255, 0.9);
	pointer-events: none;
}

/* Why the Upper Cervical Spine Matters (Dark Teal) */
.flowstate-section--matters {
	background-color: #0a3d40;
	color: #ffffff;
	padding: clamp(4.5rem, 6vw, 6.5rem) 0;
}

.flowstate-glowing-spine-wrapper {
	position: relative;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
	border: 1px solid rgba(72, 188, 166, 0.3);
}

.flowstate-glowing-spine-photo {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3.2;
	object-fit: cover;
	display: block;
}

.flowstate-glowing-script {
	position: absolute;
	top: 22px;
	right: 24px;
	font-family: var(--fs-font-script, 'Caveat', cursive);
	font-size: 2.4rem;
	font-weight: 700;
	color: #e0f2fe;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8), 0 0 24px rgba(72, 188, 166, 0.6);
	pointer-events: none;
	transform: rotate(-3deg);
}

/* Our Process (4-Step Flow) */
.flowstate-section--process {
	background-color: #f7faf9;
	padding: clamp(4rem, 6vw, 6rem) 0;
}

.flowstate-process-flow {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
	align-items: center;
	gap: 16px;
	margin-top: 2.8rem;
}

.flowstate-process-step {
	background: #ffffff;
	border: 1px solid var(--fs-border);
	border-radius: 18px;
	padding: 30px 22px;
	box-shadow: var(--fs-shadow-sm);
	transition: var(--fs-transition);
	height: 100%;
	display: flex;
	flex-direction: column;
	text-align: center;
}

.flowstate-process-step:hover {
	transform: translateY(-5px);
	box-shadow: var(--fs-shadow-md);
	border-color: var(--fs-accent);
}

.flowstate-process-step__header {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin-bottom: 1.3rem;
}

.flowstate-step-num {
	position: absolute;
	left: 0;
	top: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #0c4a4f;
	color: #ffffff;
	font-size: 0.82rem;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 6px rgba(12, 74, 79, 0.25);
}

.flowstate-step-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(72, 188, 166, 0.14);
	color: #0c4a4f;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

.flowstate-step-icon svg {
	width: 30px;
	height: 30px;
}

.flowstate-process-step__title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0c4a4f;
	line-height: 1.35;
	margin-bottom: 0.8rem;
}

.flowstate-process-step__desc {
	font-size: 0.92rem;
	color: #64748b;
	line-height: 1.6;
	margin: 0;
}

.flowstate-process-arrow {
	font-size: 1.8rem;
	font-weight: 300;
	color: #0c8a7b;
	opacity: 0.8;
	user-select: none;
}

/* FAQ Section on Service Page */
.flowstate-section--faq-service {
	background-color: #ffffff;
	padding: clamp(4rem, 6vw, 6rem) 0;
}

.flowstate-split-grid--faq {
	grid-template-columns: 0.85fr 1.15fr;
	align-items: flex-start;
}

.flowstate-faq-books-card {
	background: linear-gradient(145deg, #f0f7f6 0%, #e5f1ef 100%);
	border-radius: 22px;
	padding: 44px 32px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	border: 1px solid rgba(12, 74, 79, 0.12);
	box-shadow: var(--fs-shadow-sm);
	position: relative;
}

.flowstate-books-stack {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 200px;
	margin-bottom: 2.2rem;
}

.flowstate-book-spine {
	padding: 13px 20px;
	border-radius: 6px;
	font-weight: 800;
	font-size: 0.94rem;
	letter-spacing: 0.18em;
	color: #ffffff;
	text-align: center;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
	position: relative;
	border-left: 6px solid rgba(255, 255, 255, 0.35);
}

.flowstate-book-spine--align {
	background: #115e59;
}

.flowstate-book-spine--heal {
	background: #0f766e;
}

.flowstate-book-spine--thrive {
	background: #14b8a6;
}

.flowstate-books-script {
	font-family: var(--fs-font-script, 'Caveat', cursive);
	font-size: 2.2rem;
	color: #0c4a4f;
	line-height: 1.2;
	font-weight: 700;
	max-width: 260px;
}

.flowstate-accordion--service .flowstate-accordion-item {
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	background: #fafcfb;
	margin-bottom: 12px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}

.flowstate-accordion--service .flowstate-accordion-item.is-active {
	border-color: #0c4a4f;
	background: #ffffff;
}

.flowstate-accordion--service .flowstate-accordion-trigger {
	padding: 18px 22px;
	font-size: 1.02rem;
	font-weight: 600;
	color: #1e293b;
}

.flowstate-accordion--service .flowstate-accordion-trigger:hover {
	color: #0c4a4f;
}

.flowstate-accordion--service .flowstate-accordion-body {
	padding: 0 22px 20px 22px;
	font-size: 0.94rem;
	color: #475569;
	line-height: 1.65;
}

/* Clinic Working Hours & Lower Manhattan Location (Dark Teal) */
.flowstate-section--clinic-info {
	background-color: #0a3d40;
	color: #ffffff;
	padding: clamp(4rem, 6vw, 6rem) 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.flowstate-clinic-grid {
	display: grid;
	grid-template-columns: 1fr 1.15fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: flex-start;
}

.flowstate-clinic-heading {
	font-size: 1.3rem;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 1.4rem;
	line-height: 1.3;
}

.flowstate-hours-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.flowstate-hours-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding-bottom: 9px;
	font-size: 0.94rem;
	color: #cbd5e1;
}

.flowstate-hours-list li strong {
	color: #ffffff;
	font-weight: 600;
}

.flowstate-clinic-detail-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 1.3rem;
	font-size: 0.96rem;
	color: #cbd5e1;
	line-height: 1.5;
}

.flowstate-clinic-detail-icon {
	width: 36px;
	height: 36px;
	min-width: 36px;
	border-radius: 50%;
	background: rgba(72, 188, 166, 0.2);
	color: var(--fs-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2px;
}

.flowstate-clinic-detail-icon svg {
	width: 18px;
	height: 18px;
}

.flowstate-subway-bullets,
.flowstate-subway-badges {
	display: inline-flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	align-items: center !important;
	margin-top: 6px !important;
}

.subway-bullet,
.flowstate-subway-bullet {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	min-width: 26px !important;
	border-radius: 50% !important;
	font-weight: 800 !important;
	font-size: 0.8rem !important;
	line-height: 1 !important;
	text-align: center !important;
	box-shadow: 0 2px 4px rgba(0,0,0,0.25) !important;
}

.subway-bullet--red, .bullet-red { background: #ee352e !important; color: #ffffff !important; }
.subway-bullet--green, .bullet-green { background: #00933c !important; color: #ffffff !important; }
.subway-bullet--blue, .bullet-blue { background: #0039a6 !important; color: #ffffff !important; }
.subway-bullet--brown, .bullet-brown { background: #996633 !important; color: #ffffff !important; }
.subway-bullet--yellow, .bullet-yellow { background: #fccc0a !important; color: #000000 !important; }


.flowstate-map-card {
	background: #ffffff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: var(--fs-shadow-md);
	border: 1px solid rgba(255, 255, 255, 0.15);
}

.flowstate-map-card__preview {
	height: 215px;
	background: #d8edf1;
	position: relative;
	overflow: hidden;
}

.flowstate-map-water {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 50%;
	height: 100%;
	background: #c3e2e8;
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
}

.flowstate-map-land {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: 
		linear-gradient(rgba(255, 255, 255, 0.65) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.65) 1px, transparent 1px);
	background-size: 26px 26px;
}

.flowstate-map-marker {
	position: absolute;
	top: 45%;
	left: 42%;
	transform: translate(-50%, -50%);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.flowstate-map-marker__pin {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #0c4a4f;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.flowstate-map-marker__pin svg {
	width: 18px;
	height: 18px;
}

.flowstate-map-marker__label {
	margin-top: 6px;
	background: rgba(255, 255, 255, 0.96);
	padding: 4px 10px;
	border-radius: 6px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.15);
	white-space: nowrap;
}

.flowstate-map-marker__label strong {
	display: block;
	font-size: 0.78rem;
	color: #0c4a4f;
}

.flowstate-map-marker__label span {
	font-size: 0.7rem;
	color: #64748b;
}

.flowstate-map-card__footer {
	padding: 12px 18px;
	background: #ffffff;
	text-align: right;
	border-top: 1px solid #e2e8f0;
}

/* Final CTA Banner */
.flowstate-cta-section {
	position: relative;
	background-color: #0a3d40;
	background-image: none !important;
	padding: clamp(4.5rem, 6vw, 6.5rem) 0;
	overflow: hidden;
	text-align: center;
}

.flowstate-cta-leaf {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	height: 100%;
	max-height: 420px;
	width: auto;
	pointer-events: none;
	user-select: none;
	z-index: 1;
	opacity: 0.35;
	mix-blend-mode: multiply;
}

.flowstate-cta-leaf--left {
	left: 0;
}

.flowstate-cta-leaf--right {
	right: 0;
}

.flowstate-cta-section__inner {
	position: relative;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.flowstate-cta-content {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.flowstate-cta-title {
	font-size: clamp(2.1rem, 3.5vw, 2.9rem);
	font-weight: 700;
	color: #ffffff;
	line-height: 1.2;
	margin-bottom: 0.75rem;
	text-align: center;
}

.flowstate-cta-desc {
	font-size: 1.05rem;
	color: #cbd5e1;
	line-height: 1.6;
	margin-bottom: 2rem;
	text-align: center;
	max-width: 620px;
}

.flowstate-cta-actions {
	display: flex;
	justify-content: center;
	margin: 0 auto;
}

.flowstate-cta-script-watermark,
.flowstate-cta-script {
	position: absolute;
	right: 4%;
	top: 50%;
	transform: translateY(-50%) rotate(-6deg);
	font-family: var(--fs-font-script, 'Caveat', cursive);
	font-size: clamp(2rem, 3vw, 2.8rem);
	font-weight: 700;
	color: rgba(255, 255, 255, 0.75);
	line-height: 1.1;
	text-align: right;
	user-select: none;
	pointer-events: none;
}

/* Responsive Overrides */
@media (max-width: 1024px) {
	.flowstate-what-is-grid {
		grid-template-columns: 1fr 1fr;
	}
	.flowstate-what-is__quote {
		grid-column: 1 / -1;
	}
	.flowstate-process-flow {
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
	.flowstate-process-arrow {
		display: none;
	}
	.flowstate-clinic-grid {
		grid-template-columns: 1fr 1fr;
	}
	.flowstate-clinic-col:last-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 768px) {
	.flowstate-what-is-grid,
	.flowstate-split-grid,
	.flowstate-split-grid--faq,
	.flowstate-clinic-grid,
	.flowstate-process-flow,
	.flowstate-dual-checklist {
		grid-template-columns: 1fr;
	}
	.flowstate-cta-section__inner {
		flex-direction: column;
		text-align: center;
	}
	.flowstate-cta-script-watermark,
	.flowstate-cta-script {
		display: none !important;
	}
	.flowstate-photo-script-stacked {
		position: static;
		transform: none;
		margin-top: 12px;
		text-align: center;
	}
	.flowstate-glowing-script {
		font-size: 1.8rem;
		top: 14px;
		right: 14px;
	}
	.flowstate-service-pills {
		justify-content: center;
	}
}

/* ==================================================
   18. PRENATAL CHIROPRACTIC CARE PAGE
================================================== */
.flowstate-btn--mint-outline {
	background-color: #e8f5f1;
	color: #0c4a4f;
	border: 1.5px solid #bce2d8;
	font-weight: 600;
}

.flowstate-btn--mint-outline:hover {
	background-color: #0c4a4f;
	color: #ffffff;
	border-color: #0c4a4f;
}

/* Prenatal Hero Pills Customizations */
.flowstate-prenatal-pills .flowstate-service-pill {
	max-width: 140px;
}

.flowstate-prenatal-pills .flowstate-service-pill__icon svg {
	width: 24px;
	height: 24px;
}

/* Prenatal Conditions Grid (8 Cards on Dark Teal) */
.flowstate-section--conditions-prenatal {
	background-color: #0a3d40;
	color: #ffffff;
	padding: clamp(4.5rem, 6vw, 6.5rem) 0;
	position: relative;
	overflow: hidden;
}

.flowstate-prenatal-conditions-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.flowstate-prenatal-card {
	background: #ffffff;
	border-radius: 12px;
	padding: 22px 18px;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-prenatal-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
}

.flowstate-prenatal-card__icon {
	width: 44px;
	height: 44px;
	min-width: 44px;
	border-radius: 50%;
	background: #e6f4f1;
	color: #0c4a4f;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 9px;
	flex-shrink: 0;
}

.flowstate-prenatal-card__icon svg {
	width: 24px;
	height: 24px;
}

.flowstate-prenatal-card__content {
	flex: 1;
}

.flowstate-prenatal-card__title {
	font-size: 1.02rem;
	font-weight: 700;
	color: #0c4a4f;
	margin: 0 0 6px 0;
	line-height: 1.3;
}

.flowstate-prenatal-card__desc {
	font-size: 0.86rem;
	color: #475569;
	line-height: 1.45;
	margin: 0;
}

/* Prenatal & Universal FAQ + You're in Good Hands Split */
.flowstate-section--faq-prenatal,
.flowstate-section--faq-split {
	background-color: #ffffff;
	padding: clamp(4.5rem, 6vw, 6.5rem) 0;
}

.flowstate-split-grid--prenatal-faq,
.flowstate-split-grid--faq-split {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: clamp(2.5rem, 5vw, 4.5rem);
	align-items: center;
}

.flowstate-faq-icon-circle {
	width: 32px;
	height: 32px;
	min-width: 32px;
	border-radius: 50%;
	background: #e6f4f1;
	color: #0c4a4f;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px;
	margin-right: 12px;
	flex-shrink: 0;
}

.flowstate-faq-icon-circle svg {
	width: 18px;
	height: 18px;
}

.flowstate-accordion-title-text {
	flex: 1;
	text-align: left;
}

/* "You're in Good Hands" Right Column */
.flowstate-prenatal-hands-wrapper {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 24px;
	align-items: center;
}

.flowstate-prenatal-hands-photo {
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	line-height: 0;
}

.flowstate-prenatal-hands-photo img {
	width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
	border-radius: 16px;
}

.flowstate-prenatal-hands-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.flowstate-prenatal-hands-card__title {
	font-size: clamp(1.8rem, 2.8vw, 2.3rem);
	line-height: 1.15;
	color: #0c4a4f;
	margin-bottom: 1.5rem;
}

.flowstate-prenatal-hands-card__title span {
	font-weight: 400;
}

.flowstate-prenatal-hands-card__title strong {
	font-weight: 700;
}

.flowstate-prenatal-hands-list {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.flowstate-prenatal-hands-list li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.98rem;
	font-weight: 500;
	color: #1e293b;
}

.flowstate-prenatal-hands-btn {
	width: fit-content;
	padding: 14px 28px;
}

/* Responsive Overrides for Prenatal Page */
@media (max-width: 1100px) {
	.flowstate-prenatal-conditions-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-split-grid--prenatal-faq,
	.flowstate-split-grid--faq-split {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
}

@media (max-width: 680px) {
	.flowstate-prenatal-hands-split-card {
		flex-direction: column !important;
	}
	.flowstate-prenatal-hands-photo-col {
		flex: 0 0 auto !important;
		width: 100% !important;
		min-height: 240px !important;
		max-height: 280px !important;
	}
}

@media (max-width: 768px) {
	.flowstate-prenatal-conditions-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-prenatal-hands-wrapper {
		grid-template-columns: 1fr;
	}
	.flowstate-prenatal-hands-photo {
		max-width: 320px;
		margin: 0 auto;
	}
	.flowstate-prenatal-hands-card {
		text-align: center;
	}
	.flowstate-prenatal-hands-list li {
		justify-content: center;
	}
	.flowstate-prenatal-hands-btn {
		margin: 0 auto;
	}
}

/* ==================================================
   19. CASES WE SEE PAGE
================================================== */
.flowstate-cases-hero {
	position: relative;
	background: linear-gradient(135deg, #f0f7f6 0%, #ffffff 50%, #f4faf9 100%);
	padding: clamp(3.5rem, 5vw, 5.5rem) 0 clamp(2.5rem, 4vw, 4rem);
	overflow: hidden;
	border-bottom: 1px solid rgba(12, 74, 79, 0.08);
}

.flowstate-cases-hero__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	gap: 30px;
}

.flowstate-cases-hero__content {
	max-width: 680px;
}

.flowstate-cases-hero__title {
	font-size: clamp(2.6rem, 4.5vw, 3.8rem);
	color: #0a3d40;
	font-weight: 700;
	line-height: 1.15;
	margin: 0.8rem 0 0.5rem;
}

.flowstate-cases-hero__subtitle {
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	font-weight: 600;
	color: #0c4a4f;
	margin-bottom: 1.2rem;
}

.flowstate-cases-hero__desc {
	font-size: 1.05rem;
	color: #475569;
	line-height: 1.65;
	margin: 0;
}

.flowstate-cases-hero__overlay {
	user-select: none;
	pointer-events: none;
	flex-shrink: 0;
}

.flowstate-hero-script-watermark {
	font-family: var(--fs-font-script, 'Caveat', cursive);
	font-size: clamp(2.6rem, 4.5vw, 4.2rem);
	font-weight: 700;
	color: #1e3a38;
	line-height: 1.05;
	display: block;
	transform: rotate(-7deg);
	text-align: right;
}

.flowstate-section--cases-grid {
	background-color: #ffffff;
	padding: clamp(4rem, 6vw, 6rem) 0;
}

.flowstate-cases-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(1.5rem, 3vw, 2.2rem);
}

.flowstate-case-card {
	background: #ffffff;
	border-radius: 18px;
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 24px;
	border: 1px solid #edf4f2;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.flowstate-case-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(12, 74, 79, 0.1);
	border-color: #bce2d8;
}

.flowstate-case-card__thumb {
	width: 220px;
	height: 220px;
	min-width: 220px;
	border-radius: 16px;
	overflow: hidden;
	line-height: 0;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

.flowstate-case-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.flowstate-case-card:hover .flowstate-case-card__thumb img {
	transform: scale(1.05);
}

.flowstate-case-card__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.flowstate-case-card__badge {
	width: 40px;
	height: 40px;
	min-width: 40px;
	border-radius: 50%;
	background-color: #2f6b67;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 9px;
	margin-bottom: 12px;
}

.flowstate-case-card__badge svg {
	width: 22px;
	height: 22px;
}

.flowstate-case-card__title {
	font-size: clamp(1.15rem, 1.8vw, 1.35rem);
	font-weight: 700;
	color: #0c4a4f;
	margin: 0 0 8px 0;
	line-height: 1.25;
}

.flowstate-case-card__desc {
	font-size: 0.92rem;
	color: #475569;
	line-height: 1.5;
	margin: 0 0 12px 0;
}

.flowstate-case-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.9rem;
	font-weight: 700;
	color: #0c4a4f;
	text-decoration: none;
	transition: color 0.2s ease, transform 0.2s ease;
}

.flowstate-case-card__link:hover {
	color: var(--fs-accent, #48bca6);
	transform: translateX(3px);
}

.flowstate-section--fit-cta {
	background-color: #f2f8f6;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	padding: clamp(3.5rem, 5vw, 5rem) 0;
	border-top: 1px solid #e2ece9;
	border-bottom: 1px solid #e2ece9;
}

.flowstate-fit-btn {
	padding: 15px 34px;
	font-size: 1rem;
	font-weight: 600;
}

@media (max-width: 1024px) {
	.flowstate-cases-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.flowstate-cases-hero__inner {
		flex-direction: column;
		text-align: center;
		gap: 20px;
	}
	.flowstate-hero-script-watermark {
		text-align: center;
		transform: none;
		font-size: 2.5rem;
	}
	.flowstate-case-card {
		flex-direction: column;
		text-align: center;
		align-items: center;
		padding: 24px 20px;
	}
	.flowstate-case-card__thumb {
		width: 220px;
		height: 220px;
		min-width: 220px;
	}
	.flowstate-case-card__content {
		align-items: center;
	}
}

/* ==================================================
   20. WELLNESS & MAINTENANCE CARE PAGE
================================================== */
.flowstate-wellness-hero__title {
	margin-bottom: 0.6rem;
}

.flowstate-subhead-accent {
	display: block;
	color: #0c7075;
	font-size: 0.82em;
	font-weight: 700;
	margin-top: 4px;
}

.flowstate-wellness-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 1.5rem 0 2rem;
}

.flowstate-wellness-tag {
	background-color: #e6f4f1;
	color: #0c4a4f;
	font-size: 0.84rem;
	font-weight: 600;
	padding: 6px 14px;
	border-radius: 9999px;
	border: 1px solid #c8e6df;
}

/* Section 03: Why Patients Choose FlowState */
.flowstate-section--why-wellness {
	background-color: #0a3d40;
	color: #ffffff;
	padding: clamp(4.5rem, 6vw, 6.5rem) 0;
	position: relative;
	overflow: hidden;
}

.flowstate-why-wellness-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.flowstate-why-wellness-grid .flowstate-why-card,
.flowstate-section--why-wellness .flowstate-why-card {
	background: #ffffff;
	border: 1px solid #e2ece9;
	border-radius: 18px;
	padding: 32px 24px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.05);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.flowstate-why-wellness-grid .flowstate-why-card:hover,
.flowstate-section--why-wellness .flowstate-why-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(10, 61, 64, 0.12);
	border-color: #c8e5e0;
}

.flowstate-why-wellness-grid .flowstate-why-card__icon,
.flowstate-section--why-wellness .flowstate-why-card__icon {
	width: 52px;
	height: 52px;
	min-width: 52px;
	border-radius: 14px;
	background-color: #edf6f4;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0 auto 18px auto;
	flex-shrink: 0;
}

.flowstate-why-wellness-grid .flowstate-why-card__icon svg,
.flowstate-section--why-wellness .flowstate-why-card__icon svg {
	width: 26px;
	height: 26px;
	stroke: currentColor;
	display: block;
}

.flowstate-why-wellness-grid .flowstate-why-card__title,
.flowstate-section--why-wellness .flowstate-why-card__title {
	font-size: 1.08rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 10px 0;
	line-height: 1.35;
	text-align: center;
	width: 100%;
}

.flowstate-why-wellness-grid .flowstate-why-card__desc,
.flowstate-section--why-wellness .flowstate-why-card__desc {
	font-size: 0.9rem;
	color: #64748b;
	line-height: 1.55;
	margin: 0;
	text-align: center;
	width: 100%;
}

/* Final CTA Banner (Mint Variation) */
.flowstate-cta-section--mint {
	background-color: #f0f7f6;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
	border-top: 1px solid #e0ece9;
}

.flowstate-cta-script--dark {
	color: rgba(10, 61, 64, 0.22);
}

@media (max-width: 1024px) {
	.flowstate-why-wellness-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.flowstate-why-wellness-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-wellness-tags {
		justify-content: center;
	}
}






/* ==================================================
   21. MIGRAINES & HEADACHES CARE PAGE STYLES
================================================== */
.flowstate-migraine-hero__title {
	font-size: clamp(2.2rem, 4.5vw, 3.4rem);
	font-weight: 700;
	color: var(--fs-primary, #0c4a4f);
	line-height: 1.15;
	margin-bottom: 16px;
}

.flowstate-section--headache-types {
	background-color: #0a3d40;
	padding: clamp(3rem, 6vw, 5rem) 0;
}

.flowstate-headache-types-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(16px, 2vw, 24px);
	margin-top: 2.5rem;
}

.flowstate-headache-card {
	background: #ffffff;
	border-radius: 12px;
	padding: 28px 22px;
	text-align: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.flowstate-headache-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.flowstate-headache-icon-wrap {
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background-color: #e6f4f1;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.flowstate-headache-card:hover .flowstate-headache-icon-wrap {
	background-color: #0a3d40;
	color: #ffffff;
}

.flowstate-headache-card .flowstate-why-card__title {
	font-size: 1.12rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 10px 0;
	line-height: 1.3;
}

.flowstate-headache-card .flowstate-why-card__desc {
	font-size: 0.9rem;
	color: #475569;
	line-height: 1.55;
	margin: 0;
}

/* Section 5: Migraine FAQ & Relief Benefit Split Layout */
.flowstate-section--migraine-faq {
	background-color: #ffffff;
	padding: clamp(3rem, 6vw, 5.5rem) 0;
}

.flowstate-migraine-faq-layout {
	display: grid;
	grid-template-columns: 1.25fr 0.85fr;
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}

.flowstate-faq-accordion {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.flowstate-faq-item {
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	overflow: hidden;
	background: #ffffff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.flowstate-faq-item:hover,
.flowstate-faq-item.is-active {
	border-color: #0c7075;
	box-shadow: 0 4px 12px rgba(10, 61, 64, 0.05);
}

.flowstate-faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 16px 20px;
	background: none;
	border: none;
	font-size: 1rem;
	font-weight: 600;
	color: #0f172a;
	text-align: left;
	cursor: pointer;
	gap: 12px;
	transition: background-color 0.15s ease;
}

.flowstate-faq-question:hover {
	background-color: #f8fafc;
}

.flowstate-faq-item.is-active .flowstate-faq-question {
	background-color: #f0f7f6;
	color: #0a3d40;
}

.flowstate-faq-prefix {
	font-weight: 700;
	color: #0c7075;
	font-size: 1.05rem;
	flex-shrink: 0;
}

.flowstate-faq-title {
	flex: 1;
}

.flowstate-faq-toggle {
	font-size: 1.3rem;
	font-weight: 600;
	color: #0c7075;
	flex-shrink: 0;
	line-height: 1;
}

.flowstate-faq-answer {
	padding: 14px 20px 20px 38px;
	color: #475569;
	font-size: 0.95rem;
	line-height: 1.7;
	border-top: 1px solid #f1f5f9;
}

.flowstate-faq-answer p {
	margin: 0;
}

/* Relief Photo with Script Overlay */
.flowstate-relief-photo-wrap {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 25px rgba(10, 61, 64, 0.08);
	margin-bottom: 1.5rem;
	background-color: #f1f5f9;
}

.flowstate-relief-photo {
	width: 100%;
	height: 250px;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.flowstate-relief-photo-wrap:hover .flowstate-relief-photo {
	transform: scale(1.03);
}

.flowstate-relief-script-overlay {
	position: absolute;
	bottom: 14px;
	left: 18px;
	font-family: 'Caveat', cursive;
	color: #ffffff;
	font-size: 1.85rem;
	line-height: 1.1;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
	font-weight: 700;
	pointer-events: none;
}

.flowstate-relief-script-overlay p {
	margin: 0;
}

/* A Healthier Future Awaits Card */
.flowstate-future-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 26px 24px;
	box-shadow: 0 4px 20px rgba(10, 61, 64, 0.05);
}

.flowstate-future-card__title {
	font-size: 1.35rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 1.25rem 0;
}

.flowstate-future-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.flowstate-future-checklist li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.95rem;
	font-weight: 500;
	color: #1e293b;
}

.flowstate-check-icon {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #0c7075;
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-future-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 13px 20px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 0.98rem;
	background-color: #0a3d40;
	color: #ffffff;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.flowstate-future-btn:hover {
	background-color: #0c7075;
	transform: translateY(-2px);
	color: #ffffff;
}

/* Responsive Rules for Migraine Styles */
@media (max-width: 1024px) {
	.flowstate-headache-types-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-migraine-faq-layout {
		grid-template-columns: 1fr;
	}
	.flowstate-relief-photo {
		height: 280px;
	}
}

@media (max-width: 640px) {
	.flowstate-headache-types-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-faq-answer {
		padding-left: 20px;
	}
	.flowstate-relief-script-overlay {
		font-size: 1.5rem;
	}
}

/* ==================================================
   22. POSTURE CORRECTION CARE STYLES
   Matching media_1789290241359.png
================================================== */

.flowstate-posture-hero {
	position: relative;
	background: linear-gradient(135deg, #f0f7f6 0%, #ffffff 50%, #e6f4f1 100%);
	padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(3rem, 6vw, 5rem);
	overflow: hidden;
}

.flowstate-posture-hero__title {
	font-size: clamp(2.25rem, 4.5vw, 3.5rem);
	font-weight: 800;
	line-height: 1.15;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	letter-spacing: -0.02em;
}

/* Benefits Section (Dark Teal) */
.flowstate-section--posture-benefits {
	background-color: #0a3d40;
	position: relative;
	overflow: hidden;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-section--posture-benefits::before {
	content: '';
	position: absolute;
	top: -50px;
	left: -50px;
	width: 300px;
	height: 300px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.25) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-section--posture-benefits::after {
	content: '';
	position: absolute;
	bottom: -50px;
	right: -50px;
	width: 350px;
	height: 350px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.2) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-posture-benefits-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	margin-top: 2.5rem;
	position: relative;
	z-index: 1;
}

.flowstate-posture-card {
	background-color: #ffffff;
	border-radius: 14px;
	padding: clamp(1.75rem, 3vw, 2.25rem) 1.5rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-posture-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.18);
}

.flowstate-benefit-icon-wrap {
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background-color: #f0f7f6;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
	color: #0c7075;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.flowstate-posture-card:hover .flowstate-benefit-icon-wrap {
	background-color: #0c7075;
	color: #ffffff;
}

.flowstate-posture-card .flowstate-why-card__title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 0.75rem 0;
	line-height: 1.35;
}

.flowstate-posture-card .flowstate-why-card__desc {
	font-size: 0.92rem;
	color: #475569;
	line-height: 1.55;
	margin: 0;
}

/* Posture FAQ & Invest Split */
.flowstate-section--posture-faq {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-posture-faq-layout {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

.flowstate-posture-faq__left {
	min-width: 0;
}

.flowstate-posture-faq__right {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

.flowstate-posture-photo-wrap {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.08);
}

.flowstate-invest-card {
	background-color: #f0f7f6;
	border-radius: 14px;
	padding: clamp(1.5rem, 2.5vw, 2rem);
	border: 1px solid #d4ece6;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.06);
}

/* Responsive Rules for Posture Styles */
@media (max-width: 1024px) {
	.flowstate-posture-benefits-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-posture-faq-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.flowstate-posture-benefits-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-posture-hero__title {
		font-size: 2.1rem;
	}
}

/* ==================================================
   23. PEDIATRIC CHIROPRACTIC CARE STYLES
   Matching media_1789291577692.png
================================================== */

.flowstate-pediatric-hero {
	position: relative;
	background: linear-gradient(135deg, #f0f7f6 0%, #ffffff 50%, #e6f4f1 100%);
	padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(3rem, 6vw, 5rem);
	overflow: hidden;
}

.flowstate-pediatric-hero__title {
	font-size: clamp(2.25rem, 4.5vw, 3.5rem);
	font-weight: 800;
	line-height: 1.15;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	letter-spacing: -0.02em;
}

/* 6-Card Pediatric Benefits Section (Dark Teal) */
.flowstate-section--pediatric-help {
	background-color: #0a3d40;
	position: relative;
	overflow: hidden;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-section--pediatric-help::before {
	content: '';
	position: absolute;
	top: -50px;
	left: -50px;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.25) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-section--pediatric-help::after {
	content: '';
	position: absolute;
	bottom: -50px;
	right: -50px;
	width: 350px;
	height: 350px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.2) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-pediatric-cards-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: clamp(1rem, 1.8vw, 1.5rem);
	margin-top: 2.5rem;
	position: relative;
	z-index: 1;
}

.flowstate-pediatric-card {
	background-color: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.1rem 1.5rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-pediatric-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.18);
}

.flowstate-pediatric-icon-wrap {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: #f0f7f6;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.1rem;
	color: #0c7075;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.flowstate-pediatric-card:hover .flowstate-pediatric-icon-wrap {
	background-color: #0c7075;
	color: #ffffff;
}

.flowstate-pediatric-card .flowstate-why-card__title {
	font-size: 0.98rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 0.6rem 0;
	line-height: 1.35;
}

.flowstate-pediatric-card .flowstate-why-card__desc {
	font-size: 0.86rem;
	color: #475569;
	line-height: 1.5;
	margin: 0;
}

/* Pediatric FAQ & Partner Split */
.flowstate-section--pediatric-faq {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-pediatric-faq-layout {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

.flowstate-pediatric-faq__left {
	min-width: 0;
}

.flowstate-pediatric-faq__right {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

.flowstate-pediatric-photo-wrap {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.08);
}

.flowstate-partner-card {
	background-color: #f0f7f6;
	border-radius: 14px;
	padding: clamp(1.5rem, 2.5vw, 2rem);
	border: 1px solid #d4ece6;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.06);
}

/* Responsive Rules for Pediatric Styles */
@media (max-width: 1280px) {
	.flowstate-pediatric-cards-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 1024px) {
	.flowstate-pediatric-faq-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.flowstate-pediatric-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 520px) {
	.flowstate-pediatric-cards-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-pediatric-hero__title {
		font-size: 2.1rem;
	}
}

/* ==================================================
   24. NECK PAIN RELIEF CARE STYLES
   Matching media_1789292165455.png
================================================== */

.flowstate-neck-hero {
	position: relative;
	background: linear-gradient(135deg, #f0f7f6 0%, #ffffff 50%, #e6f4f1 100%);
	padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(3rem, 6vw, 5rem);
	overflow: hidden;
}

.flowstate-neck-hero__title {
	font-size: clamp(2.25rem, 4.5vw, 3.5rem);
	font-weight: 800;
	line-height: 1.15;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	letter-spacing: -0.02em;
}

.flowstate-neck-subhead {
	color: #0c7075;
	display: inline-block;
	font-weight: 700;
}

.flowstate-neck-hero__desc {
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	color: #475569;
	line-height: 1.6;
	max-width: 640px;
	margin-bottom: 1.5rem;
}

.flowstate-neck-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-bottom: 2rem;
}

.flowstate-neck-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-bottom: 2.5rem;
}

.flowstate-neck-badges-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 600px;
}

.flowstate-neck-badge-circle {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	border: 2px solid #0c7075;
	color: #0c7075;
	background-color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 8px;
	transition: all 0.25s ease;
	box-shadow: 0 4px 12px rgba(12, 112, 117, 0.1);
}

.flowstate-hero-badge-item:hover .flowstate-neck-badge-circle {
	background-color: #0c7075;
	color: #ffffff;
	transform: translateY(-2px);
}

/* Hero Right Visual */
.flowstate-neck-hero__visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.flowstate-neck-hero__image-wrapper {
	position: relative;
	width: 100%;
	max-width: 560px;
	border-radius: 24px;
}

.flowstate-neck-hero__img {
	width: 100%;
	height: auto;
	border-radius: 24px;
	display: block;
	object-fit: cover;
	box-shadow: 0 20px 40px rgba(10, 61, 64, 0.12);
}

.flowstate-neck-hero__script-watermark {
	position: absolute;
	top: 24px;
	right: 24px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.5vw, 2.6rem);
	color: #0a3d40;
	font-weight: 700;
	pointer-events: none;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.85);
	z-index: 2;
	line-height: 1.1;
}

.flowstate-neck-hero__floating-card {
	position: absolute;
	bottom: -20px;
	right: -20px;
	background-color: #0a3d40;
	color: #ffffff;
	border-radius: 18px;
	padding: 18px 24px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
	z-index: 3;
	border: 1px solid rgba(255, 255, 255, 0.15);
	text-align: left;
}

.flowstate-floating-card__line1,
.flowstate-floating-card__line2 {
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0 0 2px 0;
	color: #ffffff;
	letter-spacing: 0.01em;
	line-height: 1.25;
}

.flowstate-floating-card__line3 {
	font-family: 'Caveat', cursive;
	font-size: 1.45rem;
	color: #5eead4;
	margin: 2px 0 0 0;
	font-weight: 600;
	line-height: 1.2;
}

/* Section 02: Neighborhood Care (3 Columns) */
.flowstate-section--neck-neighborhood {
	background-color: #f7faf9;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-neck-neighborhood-grid {
	display: grid;
	grid-template-columns: 1fr 1.35fr 0.9fr;
	gap: clamp(1.5rem, 3vw, 2.75rem);
	align-items: center;
}

.flowstate-neck-neighbor-photo-wrap {
	position: relative;
}

.flowstate-neck-dots-bg {
	position: absolute;
	top: -15px;
	left: -15px;
	width: 100px;
	height: 100px;
	background-image: radial-gradient(#0c7075 2px, transparent 2px);
	background-size: 14px 14px;
	opacity: 0.4;
	z-index: 0;
	pointer-events: none;
}

.flowstate-neck-neighbor-img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	border-radius: 16px;
	display: block;
	object-fit: cover;
	box-shadow: 0 10px 30px rgba(10, 61, 64, 0.1);
	border: 1px solid #e2e8f0;
}

.flowstate-neck-neighbor-content {
	min-width: 0;
}

.flowstate-neck-neighbor__title {
	font-size: clamp(1.85rem, 3.5vw, 2.6rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin: 0.5rem 0 1.25rem 0;
}

.flowstate-neck-neighbor__p1 {
	font-size: 1.05rem;
	color: #334155;
	line-height: 1.7;
	margin-bottom: 1rem;
}

.flowstate-neck-neighbor__p2 {
	font-size: 0.98rem;
	color: #475569;
	line-height: 1.7;
	margin: 0;
}

.flowstate-neck-quote-column {
	height: 100%;
	display: flex;
	align-items: center;
}

.flowstate-neck-leaf-card {
	position: relative;
	background: #ffffff;
	border: 1px solid #d4ece6;
	border-radius: 18px;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.06);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 240px;
	width: 100%;
}

.flowstate-neck-leaf-bg {
	position: absolute;
	right: -25px;
	bottom: -25px;
	width: 180px;
	height: 180px;
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0.12;
	pointer-events: none;
}

.flowstate-neck-quote-mark {
	font-family: Georgia, serif;
	font-size: 4rem;
	line-height: 0.8;
	color: #0c7075;
	opacity: 0.5;
	margin-bottom: 0.5rem;
}

.flowstate-neck-quote-text {
	font-family: 'Jost', sans-serif;
	font-style: italic;
	font-size: 1.25rem;
	font-weight: 600;
	color: #0a3d40;
	line-height: 1.5;
	margin: 0;
}

/* Section 03: How We Help Relieve Neck Pain (Dark Teal) */
.flowstate-section--neck-benefits {
	background-color: #0a3d40;
	position: relative;
	overflow: hidden;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-section--neck-benefits::before {
	content: '';
	position: absolute;
	top: -60px;
	left: -60px;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.3) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-section--neck-benefits::after {
	content: '';
	position: absolute;
	bottom: -60px;
	right: -60px;
	width: 350px;
	height: 350px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.25) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-neck-benefits-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	position: relative;
	z-index: 1;
}

.flowstate-neck-card {
	background-color: #ffffff;
	border-radius: 14px;
	padding: clamp(1.75rem, 3vw, 2.25rem) 1.5rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-neck-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.18);
}

.flowstate-neck-icon-wrap {
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background-color: #f0f7f6;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
	color: #0c7075;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.flowstate-neck-card:hover .flowstate-neck-icon-wrap {
	background-color: #0c7075;
	color: #ffffff;
}

.flowstate-neck-card__title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 0.75rem 0;
	line-height: 1.35;
}

.flowstate-neck-card__desc {
	font-size: 0.92rem;
	color: #475569;
	line-height: 1.55;
	margin: 0;
}

/* Section 04: What to Expect (4-Step Sequential Flow) */
.flowstate-section--neck-expect {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-neck-expect-flow {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: clamp(10px, 1.8vw, 18px);
	margin-top: 2.5rem;
}

.flowstate-neck-step-card {
	flex: 1;
	background-color: #f8faf9;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 24px 18px;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.flowstate-neck-step-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(10, 61, 64, 0.08);
	border-color: #0c7075;
}

.flowstate-neck-step-icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: #ffffff;
	color: #0c7075;
	border: 2px solid #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
}

/* Section 05: FAQ & Invest Split */
.flowstate-section--neck-faq {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-neck-faq-layout {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

.flowstate-neck-faq__left {
	min-width: 0;
}

.flowstate-neck-faq__right {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

.flowstate-neck-photo-wrap {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.08);
}

.flowstate-neck-relief-img {
	width: 100%;
	height: 270px;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.flowstate-neck-photo-wrap:hover .flowstate-neck-relief-img {
	transform: scale(1.03);
}

.flowstate-neck-relief-overlay {
	position: absolute;
	bottom: 16px;
	left: 18px;
	font-family: 'Caveat', cursive;
	color: #0a3d40;
	font-size: 1.95rem;
	line-height: 1.05;
	font-weight: 700;
	pointer-events: none;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.85);
}

.flowstate-neck-relief-overlay p {
	margin: 0;
}

.flowstate-neck-invest-card {
	background-color: #f0f7f6;
	border-radius: 14px;
	padding: clamp(1.5rem, 2.5vw, 2rem);
	border: 1px solid #d4ece6;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.06);
}

.flowstate-neck-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.flowstate-neck-checklist li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.95rem;
	font-weight: 500;
	color: #1e293b;
}

.flowstate-neck-invest-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 14px 20px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 1rem;
	background-color: #0a3d40;
	color: #ffffff;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.flowstate-neck-invest-btn:hover {
	background-color: #0c7075;
	color: #ffffff;
	transform: translateY(-2px);
}

/* Responsive Rules for Neck Pain Styles */
@media (max-width: 1024px) {
	.flowstate-neck-neighborhood-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.flowstate-neck-benefits-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-neck-expect-flow {
		flex-wrap: wrap;
	}
	.flowstate-neck-step-card {
		flex: 1 1 calc(50% - 15px);
	}
	.flowstate-expect-arrow {
		display: none;
	}
	.flowstate-neck-faq-layout {
		grid-template-columns: 1fr;
	}
	.flowstate-neck-hero__floating-card {
		right: 10px;
		bottom: -10px;
	}
}

@media (max-width: 640px) {
	.flowstate-neck-badges-row {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-neck-benefits-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-neck-step-card {
		flex: 1 1 100%;
	}
	.flowstate-neck-hero__title {
		font-size: 2.1rem;
	}
	.flowstate-neck-neighbor__title {
		font-size: 1.8rem;
	}
	.flowstate-neck-relief-overlay {
		font-size: 1.6rem;
	}
}

/* ==================================================
   25. LOW BACK PAIN RELIEF CARE STYLES
   Matching media_1789294134197.png
================================================== */

.flowstate-lowback-hero {
	position: relative;
	background: linear-gradient(135deg, #f0f7f6 0%, #ffffff 50%, #e6f4f1 100%);
	padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(3rem, 6vw, 5rem);
	overflow: hidden;
}

.flowstate-lowback-hero__title {
	font-size: clamp(2.25rem, 4.5vw, 3.5rem);
	font-weight: 800;
	line-height: 1.15;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	letter-spacing: -0.02em;
}

.flowstate-lowback-subhead {
	color: #0c7075;
	display: inline-block;
	font-weight: 700;
}

.flowstate-lowback-hero__desc {
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	color: #475569;
	line-height: 1.6;
	max-width: 640px;
	margin-bottom: 1.5rem;
}

.flowstate-lowback-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-bottom: 2rem;
}

.flowstate-lowback-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-bottom: 2.5rem;
}

.flowstate-lowback-badges-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 600px;
}

.flowstate-lowback-badge-circle {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	border: 2px solid #0c7075;
	color: #0c7075;
	background-color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 8px;
	transition: all 0.25s ease;
	box-shadow: 0 4px 12px rgba(12, 112, 117, 0.1);
}

.flowstate-hero-badge-item:hover .flowstate-lowback-badge-circle {
	background-color: #0c7075;
	color: #ffffff;
	transform: translateY(-2px);
}

/* Hero Right Visual */
.flowstate-lowback-hero__visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.flowstate-lowback-hero__image-wrapper {
	position: relative;
	width: 100%;
	max-width: 560px;
	border-radius: 24px;
}

.flowstate-lowback-hero__img {
	width: 100%;
	height: auto;
	border-radius: 24px;
	display: block;
	object-fit: cover;
	box-shadow: 0 20px 40px rgba(10, 61, 64, 0.12);
}

.flowstate-lowback-hero__script-watermark {
	position: absolute;
	top: 24px;
	right: 24px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.5vw, 2.6rem);
	color: #0a3d40;
	font-weight: 700;
	pointer-events: none;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.85);
	z-index: 2;
	line-height: 1.1;
}

.flowstate-lowback-hero__floating-card {
	position: absolute;
	bottom: -20px;
	right: -20px;
	background-color: #0a3d40;
	color: #ffffff;
	border-radius: 18px;
	padding: 18px 24px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
	z-index: 3;
	border: 1px solid rgba(255, 255, 255, 0.15);
	text-align: left;
}

/* Section 02: Neighborhood Care (3 Columns) */
.flowstate-section--lowback-neighborhood {
	background-color: #f7faf9;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-lowback-neighborhood-grid {
	display: grid;
	grid-template-columns: 1fr 1.35fr 0.9fr;
	gap: clamp(1.5rem, 3vw, 2.75rem);
	align-items: center;
}

.flowstate-lowback-neighbor-photo-wrap {
	position: relative;
}

.flowstate-lowback-dots-bg {
	position: absolute;
	top: -15px;
	left: -15px;
	width: 100px;
	height: 100px;
	background-image: radial-gradient(#0c7075 2px, transparent 2px);
	background-size: 14px 14px;
	opacity: 0.4;
	z-index: 0;
	pointer-events: none;
}

.flowstate-lowback-neighbor-img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	border-radius: 16px;
	display: block;
	object-fit: cover;
	box-shadow: 0 10px 30px rgba(10, 61, 64, 0.1);
	border: 1px solid #e2e8f0;
}

.flowstate-lowback-neighbor-content {
	min-width: 0;
}

.flowstate-lowback-neighbor__title {
	font-size: clamp(1.85rem, 3.5vw, 2.6rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin: 0.5rem 0 1.25rem 0;
}

.flowstate-lowback-neighbor__p1 {
	font-size: 1.05rem;
	color: #334155;
	line-height: 1.7;
	margin-bottom: 1rem;
}

.flowstate-lowback-neighbor__p2 {
	font-size: 1rem;
	color: #334155;
	line-height: 1.7;
	margin-bottom: 1rem;
}

.flowstate-lowback-neighbor__p3 {
	font-size: 0.98rem;
	color: #475569;
	line-height: 1.7;
	margin: 0;
}

.flowstate-lowback-quote-column {
	height: 100%;
	display: flex;
	align-items: center;
}

.flowstate-lowback-leaf-card {
	position: relative;
	background: #ffffff;
	border: 1px solid #d4ece6;
	border-radius: 18px;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.06);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 240px;
	width: 100%;
}

.flowstate-lowback-leaf-bg {
	position: absolute;
	right: -25px;
	bottom: -25px;
	width: 180px;
	height: 180px;
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0.12;
	pointer-events: none;
}

.flowstate-lowback-quote-mark {
	font-family: Georgia, serif;
	font-size: 4rem;
	line-height: 0.8;
	color: #0c7075;
	opacity: 0.5;
	margin-bottom: 0.5rem;
}

.flowstate-lowback-quote-text {
	font-family: 'Jost', sans-serif;
	font-style: italic;
	font-size: 1.25rem;
	font-weight: 600;
	color: #0a3d40;
	line-height: 1.5;
	margin: 0;
}

/* Section 03: How Chiropractic Care Can Help (Dark Teal) */
.flowstate-section--lowback-benefits {
	background-color: #0a3d40;
	position: relative;
	overflow: hidden;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-section--lowback-benefits::before {
	content: '';
	position: absolute;
	top: -60px;
	left: -60px;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.3) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-section--lowback-benefits::after {
	content: '';
	position: absolute;
	bottom: -60px;
	right: -60px;
	width: 350px;
	height: 350px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.25) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-lowback-benefits-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	position: relative;
	z-index: 1;
}

.flowstate-lowback-card {
	background-color: #ffffff;
	border-radius: 14px;
	padding: clamp(1.75rem, 3vw, 2.25rem) 1.5rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-lowback-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.18);
}

.flowstate-lowback-icon-wrap {
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background-color: #f0f7f6;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
	color: #0c7075;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.flowstate-lowback-card:hover .flowstate-lowback-icon-wrap {
	background-color: #0c7075;
	color: #ffffff;
}

.flowstate-lowback-card__title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 0.75rem 0;
	line-height: 1.35;
}

.flowstate-lowback-card__desc {
	font-size: 0.92rem;
	color: #475569;
	line-height: 1.55;
	margin: 0;
}

/* Section 04: What to Expect (4-Step Sequential Flow) */
.flowstate-section--lowback-expect {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-lowback-expect-flow {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: clamp(10px, 1.8vw, 18px);
	margin-top: 2.5rem;
}

.flowstate-lowback-step-card {
	flex: 1;
	background-color: #f8faf9;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 24px 18px;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.flowstate-lowback-step-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(10, 61, 64, 0.08);
	border-color: #0c7075;
}

.flowstate-lowback-step-icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: #ffffff;
	color: #0c7075;
	border: 2px solid #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
}

/* Section 05: FAQ & Get Back Split */
.flowstate-section--lowback-faq {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-lowback-faq-layout {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

.flowstate-lowback-faq__left {
	min-width: 0;
}

.flowstate-lowback-faq__right {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

.flowstate-lowback-photo-wrap {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.08);
}

.flowstate-lowback-relief-img {
	width: 100%;
	height: 270px;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.flowstate-lowback-photo-wrap:hover .flowstate-lowback-relief-img {
	transform: scale(1.03);
}

.flowstate-lowback-relief-overlay {
	position: absolute;
	bottom: 16px;
	left: 18px;
	font-family: 'Caveat', cursive;
	color: #ffffff;
	font-size: 1.95rem;
	line-height: 1.05;
	font-weight: 700;
	pointer-events: none;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
}

.flowstate-lowback-relief-overlay p {
	margin: 0;
}

.flowstate-lowback-invest-card {
	background-color: #f0f7f6;
	border-radius: 14px;
	padding: clamp(1.5rem, 2.5vw, 2rem);
	border: 1px solid #d4ece6;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.06);
}

.flowstate-lowback-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.flowstate-lowback-checklist li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.95rem;
	font-weight: 500;
	color: #1e293b;
}

.flowstate-lowback-invest-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 14px 20px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 1rem;
	background-color: #0a3d40;
	color: #ffffff;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.flowstate-lowback-invest-btn:hover {
	background-color: #0c7075;
	color: #ffffff;
	transform: translateY(-2px);
}

/* Responsive Rules for Low Back Pain Styles */
@media (max-width: 1024px) {
	.flowstate-lowback-neighborhood-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.flowstate-lowback-benefits-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-lowback-expect-flow {
		flex-wrap: wrap;
	}
	.flowstate-lowback-step-card {
		flex: 1 1 calc(50% - 15px);
	}
	.flowstate-expect-arrow {
		display: none;
	}
	.flowstate-lowback-faq-layout {
		grid-template-columns: 1fr;
	}
	.flowstate-lowback-hero__floating-card {
		right: 10px;
		bottom: -10px;
	}
}

@media (max-width: 640px) {
	.flowstate-lowback-badges-row {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-lowback-benefits-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-lowback-step-card {
		flex: 1 1 100%;
	}
	.flowstate-lowback-hero__title {
		font-size: 2.1rem;
	}
	.flowstate-lowback-neighbor__title {
		font-size: 1.8rem;
	}
	.flowstate-lowback-relief-overlay {
		font-size: 1.6rem;
	}
}

/* ==================================================
   26. SPORTS & ATHLETIC PERFORMANCE CARE STYLES
   Matching media_1789294150155.png
================================================== */

.flowstate-sports-hero {
	position: relative;
	background: linear-gradient(135deg, #f0f7f6 0%, #ffffff 50%, #e6f4f1 100%);
	padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(3rem, 6vw, 5rem);
	overflow: hidden;
}

.flowstate-sports-hero__title {
	font-size: clamp(2.25rem, 4.5vw, 3.5rem);
	font-weight: 800;
	line-height: 1.15;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	letter-spacing: -0.02em;
}

.flowstate-sports-subhead {
	color: #0c7075;
	display: inline-block;
	font-weight: 700;
}

.flowstate-sports-hero__desc {
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	color: #475569;
	line-height: 1.6;
	max-width: 640px;
	margin-bottom: 1.5rem;
}

.flowstate-sports-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-bottom: 2rem;
}

.flowstate-sports-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-bottom: 2.5rem;
}

.flowstate-sports-badges-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 600px;
}

.flowstate-sports-badge-circle {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	border: 2px solid #0c7075;
	color: #0c7075;
	background-color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 8px;
	transition: all 0.25s ease;
	box-shadow: 0 4px 12px rgba(12, 112, 117, 0.1);
}

.flowstate-hero-badge-item:hover .flowstate-sports-badge-circle {
	background-color: #0c7075;
	color: #ffffff;
	transform: translateY(-2px);
}

/* Hero Right Visual */
.flowstate-sports-hero__visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.flowstate-sports-hero__image-wrapper {
	position: relative;
	width: 100%;
	max-width: 560px;
	border-radius: 24px;
}

.flowstate-sports-hero__img {
	width: 100%;
	height: auto;
	border-radius: 24px;
	display: block;
	object-fit: cover;
	box-shadow: 0 20px 40px rgba(10, 61, 64, 0.12);
}

.flowstate-sports-hero__script-watermark {
	position: absolute;
	top: 24px;
	right: 24px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.5vw, 2.6rem);
	color: #0a3d40;
	font-weight: 700;
	pointer-events: none;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.85);
	z-index: 2;
	line-height: 1.1;
}

.flowstate-sports-hero__floating-card {
	position: absolute;
	bottom: -20px;
	left: 20px;
	background: #ffffff;
	border-radius: 16px;
	padding: 1.25rem 1.5rem;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.15);
	border-left: 4px solid #0c7075;
	max-width: 320px;
	z-index: 3;
}

.flowstate-sports-hero__card-quote {
	font-family: 'Caveat', cursive;
	font-size: 1.5rem;
	color: #0a3d40;
	line-height: 1.25;
	margin: 0 0 4px;
}

.flowstate-sports-hero__card-author {
	font-size: 0.85rem;
	color: #64748b;
	margin: 0;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Section 2: Deep Dive / Real Care */
.flowstate-sports-deep-dive {
	background-color: #ffffff;
	padding: clamp(3rem, 6vw, 5.5rem) 0;
}

.flowstate-sports-neighborhood-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr 0.9fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center;
}

.flowstate-sports-neighbor__frame {
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-sports-neighbor__img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-sports-neighbor__eyebrow {
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #0c7075;
	margin-bottom: 0.5rem;
}

.flowstate-sports-neighbor__title {
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 1.25rem;
}

.flowstate-sports-neighbor__lead {
	font-size: 1.1rem;
	color: #334155;
	line-height: 1.6;
	font-weight: 600;
	margin-bottom: 1rem;
}

.flowstate-sports-neighbor__text {
	font-size: 0.98rem;
	color: #64748b;
	line-height: 1.65;
	margin-bottom: 1rem;
}

.flowstate-sports-quote-card {
	background: #f0f7f6;
	border: 1px solid #d4ece6;
	border-radius: 20px;
	padding: 2rem 1.75rem;
	text-align: center;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.05);
	position: relative;
}

.flowstate-sports-leaf-badge {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #0a3d40;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1.25rem;
}

.flowstate-sports-quote-card__quote {
	font-family: 'Caveat', cursive;
	font-size: 1.65rem;
	line-height: 1.3;
	color: #0a3d40;
	margin-bottom: 1.25rem;
}

.flowstate-sports-quote-card__author {
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #0c7075;
	margin-bottom: 1.5rem;
}

/* Section 3: Benefits (Dark Teal) */
.flowstate-sports-benefits,
.flowstate-section--sports-benefits {
	background: #0a3d40;
	color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
	position: relative;
	overflow: hidden;
}

.flowstate-sports-benefits__header {
	text-align: center;
	max-width: 720px;
	margin: 0 auto clamp(2.5rem, 4vw, 3.5rem);
}

.flowstate-sports-benefits__eyebrow {
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #72d5c6;
	margin-bottom: 0.5rem;
}

.flowstate-sports-benefits__title {
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2;
	margin-bottom: 1rem;
}

.flowstate-sports-benefits__desc {
	font-size: 1.05rem;
	color: #d4ece6;
	line-height: 1.6;
}

.flowstate-sports-benefits-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.flowstate-sports-benefit-card {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 18px;
	padding: 2rem 1.5rem;
	transition: transform 0.25s ease, background-color 0.25s ease;
}

.flowstate-sports-benefit-card:hover {
	transform: translateY(-4px);
	background: rgba(255, 255, 255, 0.12);
}

.flowstate-sports-benefit-card__icon-wrap {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: rgba(114, 213, 198, 0.2);
	color: #72d5c6;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
}

.flowstate-sports-benefit-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 0.75rem;
}

.flowstate-sports-benefit-card__text {
	font-size: 0.92rem;
	color: #d4ece6;
	line-height: 1.6;
	margin: 0;
}

/* Section 4: What to Expect / How It Works */
.flowstate-sports-expect {
	background: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-sports-expect__header {
	text-align: center;
	max-width: 680px;
	margin: 0 auto clamp(2.5rem, 4vw, 3.5rem);
}

.flowstate-sports-expect__eyebrow {
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #0c7075;
	margin-bottom: 0.5rem;
}

.flowstate-sports-expect__title {
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 1rem;
}

.flowstate-sports-expect__desc {
	font-size: 1.05rem;
	color: #64748b;
	line-height: 1.6;
}

.flowstate-sports-expect-flow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.flowstate-sports-step-card {
	flex: 1;
	background: #f0f7f6;
	border: 1px solid #d4ece6;
	border-radius: 18px;
	padding: 2rem 1.5rem;
	text-align: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-sports-step-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(10, 61, 64, 0.08);
}

.flowstate-sports-step-num {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #0a3d40;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 1.1rem;
	margin: 0 auto 1rem;
}

.flowstate-sports-step-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.6rem;
}

.flowstate-sports-step-text {
	font-size: 0.9rem;
	color: #64748b;
	line-height: 1.55;
	margin: 0;
}

/* Section 5: FAQ & Plan */
.flowstate-sports-faq-section {
	background: #f8fafc;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-sports-faq-layout {
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

.flowstate-sports-faq-item {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	margin-bottom: 1rem;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.flowstate-sports-faq-item:hover {
	border-color: #0c7075;
}

.flowstate-sports-faq-trigger {
	width: 100%;
	text-align: left;
	background: none;
	border: none;
	padding: 1.25rem 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	font-family: inherit;
}

.flowstate-sports-faq-question {
	font-size: 1.05rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.4;
}

.flowstate-sports-faq-icon {
	color: #0c7075;
	flex-shrink: 0;
	transition: transform 0.25s ease;
}

.flowstate-sports-faq-item.is-active .flowstate-sports-faq-icon {
	transform: rotate(180deg);
}

.flowstate-sports-faq-content {
	padding: 0 1.5rem 1.25rem;
	font-size: 0.95rem;
	color: #475569;
	line-height: 1.65;
}

.flowstate-sports-photo-card {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	margin-bottom: 2rem;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-sports-photo-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-sports-relief-overlay {
	position: absolute;
	bottom: 20px;
	left: 20px;
	right: 20px;
	font-family: 'Caveat', cursive;
	font-size: 1.85rem;
	color: #ffffff;
	font-weight: 700;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.7);
	line-height: 1.2;
}

.flowstate-sports-plan-card {
	background: #0a3d40;
	color: #ffffff;
	border-radius: 20px;
	padding: 2rem 1.75rem;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.15);
}

.flowstate-sports-plan-card__eyebrow {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #72d5c6;
	margin-bottom: 0.5rem;
}

.flowstate-sports-plan-card__title {
	font-size: 1.5rem;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 0.75rem;
}

.flowstate-sports-plan-card__desc {
	font-size: 0.95rem;
	color: #d4ece6;
	line-height: 1.55;
	margin-bottom: 1.5rem;
}

.flowstate-sports-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.flowstate-sports-checklist li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.95rem;
	color: #f0f7f6;
}

.flowstate-sports-check-icon {
	color: #72d5c6;
	flex-shrink: 0;
}

/* Section 7: Bottom CTA */
.flowstate-sports-bottom-cta {
	background: #f0f7f6;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-sports-cta-box {
	background: #ffffff;
	border-radius: 24px;
	padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3rem);
	text-align: center;
	position: relative;
	overflow: hidden;
	box-shadow: 0 16px 40px rgba(10, 61, 64, 0.08);
	border: 1px solid #d4ece6;
}

.flowstate-sports-cta-watermark {
	position: absolute;
	bottom: 15px;
	right: 25px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 4vw, 3.2rem);
	color: rgba(12, 112, 117, 0.12);
	pointer-events: none;
	line-height: 1;
}

.flowstate-sports-cta-title {
	font-size: clamp(2rem, 4vw, 2.85rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 1rem;
	letter-spacing: -0.01em;
}

.flowstate-sports-cta-desc {
	font-size: clamp(1rem, 2vw, 1.15rem);
	color: #475569;
	max-width: 640px;
	margin: 0 auto 2rem;
	line-height: 1.6;
}

.flowstate-sports-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	align-items: center;
}

/* Responsive Rules for Sports & Athletic Performance Styles */
@media (max-width: 1024px) {
	.flowstate-sports-neighborhood-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.flowstate-sports-benefits-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-sports-expect-flow {
		flex-wrap: wrap;
	}
	.flowstate-sports-step-card {
		flex: 1 1 calc(50% - 15px);
	}
	.flowstate-expect-arrow {
		display: none;
	}
	.flowstate-sports-faq-layout {
		grid-template-columns: 1fr;
	}
	.flowstate-sports-hero__floating-card {
		right: 10px;
		bottom: -10px;
	}
}

@media (max-width: 640px) {
	.flowstate-sports-badges-row {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-sports-benefits-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-sports-step-card {
		flex: 1 1 100%;
	}
	.flowstate-sports-hero__title {
		font-size: 2.1rem;
	}
	.flowstate-sports-neighbor__title {
		font-size: 1.8rem;
	}
	.flowstate-sports-relief-overlay {
		font-size: 1.6rem;
	}
}

/* ==================================================
   27. POSTPARTUM RECOVERY CARE STYLES
   Matching media_1789294976760.png
================================================== */

.flowstate-postpartum-hero {
	position: relative;
	background: linear-gradient(135deg, #f0f7f6 0%, #ffffff 50%, #e6f4f1 100%);
	padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(3rem, 6vw, 5rem);
	overflow: hidden;
}

.flowstate-postpartum-hero__title {
	font-size: clamp(2.25rem, 4.5vw, 3.5rem);
	font-weight: 800;
	line-height: 1.15;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	letter-spacing: -0.02em;
}

.flowstate-postpartum-subhead {
	color: #0c7075;
	display: inline-block;
	font-weight: 700;
}

.flowstate-postpartum-hero__desc {
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	color: #475569;
	line-height: 1.6;
	max-width: 640px;
	margin-bottom: 1.5rem;
}

.flowstate-postpartum-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-bottom: 2rem;
}

.flowstate-postpartum-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-bottom: 2.5rem;
}

.flowstate-postpartum-badges-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 600px;
}

.flowstate-postpartum-badge-circle {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	border: 2px solid #0c7075;
	color: #0c7075;
	background-color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 8px;
	transition: all 0.25s ease;
	box-shadow: 0 4px 12px rgba(12, 112, 117, 0.1);
}

.flowstate-hero-badge-item:hover .flowstate-postpartum-badge-circle {
	background-color: #0c7075;
	color: #ffffff;
	transform: translateY(-2px);
}

/* Hero Right Visual */
.flowstate-postpartum-hero__visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.flowstate-postpartum-hero__image-wrapper {
	position: relative;
	width: 100%;
	max-width: 560px;
	border-radius: 24px;
}

.flowstate-postpartum-hero__img {
	width: 100%;
	height: auto;
	border-radius: 24px;
	display: block;
	object-fit: cover;
	box-shadow: 0 20px 40px rgba(10, 61, 64, 0.12);
}

.flowstate-postpartum-hero__script-watermark {
	position: absolute;
	top: 24px;
	right: 24px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.5vw, 2.6rem);
	color: #0a3d40;
	font-weight: 700;
	pointer-events: none;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.85);
	z-index: 2;
	line-height: 1.1;
	text-align: right;
}

.flowstate-postpartum-hero__script-watermark p {
	margin: 0;
}

.flowstate-postpartum-hero__floating-card {
	position: absolute;
	bottom: -20px;
	right: 20px;
	background: #0a3d40;
	color: #ffffff;
	border-radius: 16px;
	padding: 1.25rem 1.5rem;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.25);
	max-width: 320px;
	z-index: 3;
}

.flowstate-postpartum-hero__floating-card .flowstate-floating-card__line1,
.flowstate-postpartum-hero__floating-card .flowstate-floating-card__line2,
.flowstate-postpartum-hero__floating-card .flowstate-floating-card__line3 {
	font-family: 'Jost', sans-serif;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
	color: #ffffff;
}

.flowstate-postpartum-hero__floating-card .flowstate-floating-card__rule {
	width: 40px;
	height: 3px;
	background-color: #72d5c6;
	margin-top: 8px;
	border-radius: 2px;
}

/* Section 2: Deep Dive / Neighborhood */
.flowstate-section--postpartum-neighborhood {
	background-color: #ffffff;
	padding: clamp(3rem, 6vw, 5.5rem) 0;
}

.flowstate-postpartum-neighborhood-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr 0.9fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center;
}

.flowstate-postpartum-neighbor-photo-wrap {
	position: relative;
	border-radius: 20px;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-postpartum-neighbor-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	border-radius: 20px;
}

.flowstate-postpartum-dots-bg {
	position: absolute;
	top: -15px;
	left: -15px;
	width: 80px;
	height: 80px;
	background-image: radial-gradient(#72d5c6 2px, transparent 2px);
	background-size: 12px 12px;
	z-index: 0;
	pointer-events: none;
}

.flowstate-postpartum-neighbor__title {
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 1.25rem;
}

.flowstate-postpartum-neighbor__p1 {
	font-size: 1.1rem;
	color: #334155;
	line-height: 1.6;
	font-weight: 600;
	margin-bottom: 1rem;
}

.flowstate-postpartum-neighbor__p2,
.flowstate-postpartum-neighbor__p3 {
	font-size: 0.98rem;
	color: #64748b;
	line-height: 1.65;
	margin-bottom: 1rem;
}

.flowstate-postpartum-quote-column {
	display: flex;
	justify-content: center;
}

.flowstate-postpartum-leaf-card {
	background: #f0f7f6;
	border: 1px solid #d4ece6;
	border-radius: 20px;
	padding: 2.5rem 2rem;
	text-align: left;
	position: relative;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.05);
	width: 100%;
}

.flowstate-postpartum-leaf-bg {
	position: absolute;
	right: -20px;
	bottom: -20px;
	width: 160px;
	height: 160px;
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0.2;
	pointer-events: none;
}

.flowstate-postpartum-quote-mark {
	font-size: 3rem;
	line-height: 1;
	color: #0a3d40;
	font-family: serif;
	margin-bottom: 1rem;
}

.flowstate-postpartum-quote-text {
	font-family: 'Caveat', cursive;
	font-size: 1.85rem;
	line-height: 1.3;
	color: #0a3d40;
	margin: 0;
	font-weight: 700;
}

/* Section 3: Benefits (Dark Teal - 5 Cards) */
.flowstate-section--postpartum-benefits {
	background: #0a3d40;
	color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-postpartum-benefits-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
}

.flowstate-postpartum-card {
	background: #ffffff;
	border-radius: 16px;
	padding: 1.75rem 1.25rem;
	color: #0a3d40;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	display: flex;
	flex-direction: column;
	text-align: center;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
}

.flowstate-postpartum-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}

.flowstate-postpartum-icon-wrap {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: #e6f4f1;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1rem;
}

.flowstate-postpartum-card__title {
	font-size: 1.1rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.6rem;
	line-height: 1.25;
}

.flowstate-postpartum-card__desc {
	font-size: 0.88rem;
	color: #64748b;
	line-height: 1.5;
	margin: 0;
}

/* Section 4: What to Expect */
.flowstate-postpartum-expect-flow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.flowstate-postpartum-step-card {
	flex: 1;
	background: #f0f7f6;
	border: 1px solid #d4ece6;
	border-radius: 18px;
	padding: 2rem 1.25rem;
	text-align: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-postpartum-step-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(10, 61, 64, 0.08);
}

.flowstate-postpartum-step-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #ffffff;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1rem;
	box-shadow: 0 4px 12px rgba(12, 112, 117, 0.1);
}

/* Section 5: FAQ & Invest Card */
.flowstate-section--postpartum-faq {
	background: #f8fafc;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-postpartum-faq-layout {
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

.flowstate-postpartum-photo-wrap {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	margin-bottom: 2rem;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-postpartum-relief-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-postpartum-relief-overlay {
	position: absolute;
	top: 20px;
	left: 20px;
	font-family: 'Caveat', cursive;
	font-size: 2rem;
	color: #0c7075;
	font-weight: 700;
	line-height: 1.15;
	text-shadow: 0 1px 4px rgba(255, 255, 255, 0.9);
}

.flowstate-postpartum-relief-overlay p {
	margin: 0;
}

.flowstate-postpartum-invest-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	padding: 2rem 1.75rem;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.08);
}

.flowstate-postpartum-invest-card .flowstate-invest-card__title {
	font-size: 1.5rem;
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 1.25rem;
}

.flowstate-postpartum-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.flowstate-postpartum-checklist li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.98rem;
	color: #334155;
	font-weight: 500;
}

.flowstate-postpartum-invest-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: #0a3d40;
	color: #ffffff;
	padding: 0.85rem 1.5rem;
	border-radius: 9999px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.25s ease, transform 0.25s ease;
}

.flowstate-postpartum-invest-btn:hover {
	background: #0c7075;
	transform: translateY(-2px);
}

/* Responsive Rules for Postpartum Recovery Styles */
@media (max-width: 1100px) {
	.flowstate-postpartum-benefits-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 1024px) {
	.flowstate-postpartum-neighborhood-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.flowstate-postpartum-expect-flow {
		flex-wrap: wrap;
	}
	.flowstate-postpartum-step-card {
		flex: 1 1 calc(50% - 15px);
	}
	.flowstate-expect-arrow {
		display: none;
	}
	.flowstate-postpartum-faq-layout {
		grid-template-columns: 1fr;
	}
	.flowstate-postpartum-hero__floating-card {
		right: 10px;
		bottom: -10px;
	}
}

@media (max-width: 768px) {
	.flowstate-postpartum-benefits-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.flowstate-postpartum-badges-row {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-postpartum-benefits-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-postpartum-step-card {
		flex: 1 1 100%;
	}
	.flowstate-postpartum-hero__title {
		font-size: 2.1rem;
	}
	.flowstate-postpartum-neighbor__title {
		font-size: 1.8rem;
	}
}

/* ==================================================
   28. TMJ DISORDERS CARE STYLES
   Matching media_1789366831660.png
================================================== */

.flowstate-tmj-hero {
	position: relative;
	background: linear-gradient(135deg, #f0f7f6 0%, #ffffff 50%, #e6f4f1 100%);
	padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(3rem, 6vw, 5rem);
	overflow: hidden;
}

.flowstate-tmj-hero__title {
	font-size: clamp(2.25rem, 4.5vw, 3.5rem);
	font-weight: 800;
	line-height: 1.15;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	letter-spacing: -0.02em;
}

.flowstate-tmj-subhead {
	color: #0c7075;
	display: inline-block;
	font-weight: 700;
}

.flowstate-tmj-hero__desc {
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	color: #475569;
	line-height: 1.6;
	max-width: 640px;
	margin-bottom: 1.5rem;
}

.flowstate-tmj-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-bottom: 2rem;
}

.flowstate-tmj-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-bottom: 2.5rem;
}

.flowstate-tmj-badges-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 600px;
}

.flowstate-tmj-badge-circle {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	border: 2px solid #0c7075;
	color: #0c7075;
	background-color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 8px;
	transition: all 0.25s ease;
	box-shadow: 0 4px 12px rgba(12, 112, 117, 0.1);
}

.flowstate-hero-badge-item:hover .flowstate-tmj-badge-circle {
	background-color: #0c7075;
	color: #ffffff;
	transform: translateY(-2px);
}

/* Hero Right Visual */
.flowstate-tmj-hero__visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.flowstate-tmj-hero__image-wrapper {
	position: relative;
	width: 100%;
	max-width: 560px;
	border-radius: 24px;
}

.flowstate-tmj-hero__img {
	width: 100%;
	height: auto;
	border-radius: 24px;
	display: block;
	object-fit: cover;
	box-shadow: 0 20px 40px rgba(10, 61, 64, 0.12);
}

.flowstate-tmj-hero__script-watermark {
	position: absolute;
	top: 24px;
	right: 24px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.5vw, 2.6rem);
	color: #0a3d40;
	font-weight: 700;
	pointer-events: none;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.85);
	z-index: 2;
	line-height: 1.1;
	text-align: right;
}

.flowstate-tmj-hero__script-watermark p {
	margin: 0;
}

.flowstate-tmj-hero__floating-card {
	position: absolute;
	bottom: -20px;
	right: 20px;
	background: #0a3d40;
	color: #ffffff;
	border-radius: 16px;
	padding: 1.25rem 1.5rem;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.25);
	max-width: 320px;
	z-index: 3;
}

.flowstate-tmj-hero__floating-card .flowstate-floating-card__line1,
.flowstate-tmj-hero__floating-card .flowstate-floating-card__line2,
.flowstate-tmj-hero__floating-card .flowstate-floating-card__line3 {
	font-family: 'Jost', sans-serif;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
	color: #ffffff;
}

.flowstate-tmj-hero__floating-card .flowstate-floating-card__rule {
	width: 40px;
	height: 3px;
	background-color: #72d5c6;
	margin-top: 8px;
	border-radius: 2px;
}

/* Section 2: Deep Dive / Neighborhood */
.flowstate-section--tmj-neighborhood {
	background-color: #ffffff;
	padding: clamp(3rem, 6vw, 5.5rem) 0;
}

.flowstate-tmj-neighborhood-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr 0.9fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center;
}

.flowstate-tmj-neighbor-photo-wrap {
	position: relative;
	border-radius: 20px;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-tmj-neighbor-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	border-radius: 20px;
}

.flowstate-tmj-dots-bg {
	position: absolute;
	top: -15px;
	left: -15px;
	width: 80px;
	height: 80px;
	background-image: radial-gradient(#72d5c6 2px, transparent 2px);
	background-size: 12px 12px;
	z-index: 0;
	pointer-events: none;
}

.flowstate-tmj-neighbor__title {
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 1.25rem;
}

.flowstate-tmj-neighbor__p1 {
	font-size: 1.1rem;
	color: #334155;
	line-height: 1.6;
	font-weight: 600;
	margin-bottom: 1rem;
}

.flowstate-tmj-neighbor__p2,
.flowstate-tmj-neighbor__p3 {
	font-size: 0.98rem;
	color: #64748b;
	line-height: 1.65;
	margin-bottom: 1rem;
}

.flowstate-tmj-quote-column {
	display: flex;
	justify-content: center;
}

.flowstate-tmj-leaf-card {
	background: #f0f7f6;
	border: 1px solid #d4ece6;
	border-radius: 20px;
	padding: 2.5rem 2rem;
	text-align: left;
	position: relative;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.05);
	width: 100%;
}

.flowstate-tmj-leaf-bg {
	position: absolute;
	right: -20px;
	bottom: -20px;
	width: 160px;
	height: 160px;
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0.2;
	pointer-events: none;
}

.flowstate-tmj-quote-mark {
	font-size: 3rem;
	line-height: 1;
	color: #0a3d40;
	font-family: serif;
	margin-bottom: 1rem;
}

.flowstate-tmj-quote-text {
	font-family: 'Caveat', cursive;
	font-size: 1.85rem;
	line-height: 1.3;
	color: #0a3d40;
	margin: 0;
	font-weight: 700;
}

/* Section 3: Benefits (Dark Teal - 5 Cards) */
.flowstate-section--tmj-benefits {
	background: #0a3d40;
	color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-tmj-benefits-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
}

.flowstate-tmj-card {
	background: #ffffff;
	border-radius: 16px;
	padding: 1.75rem 1.25rem;
	color: #0a3d40;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	display: flex;
	flex-direction: column;
	text-align: center;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
}

.flowstate-tmj-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}

.flowstate-tmj-icon-wrap {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: #e6f4f1;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1rem;
}

.flowstate-tmj-card__title {
	font-size: 1.1rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.6rem;
	line-height: 1.25;
}

.flowstate-tmj-card__desc {
	font-size: 0.88rem;
	color: #64748b;
	line-height: 1.5;
	margin: 0;
}

/* Section 4: What to Expect */
.flowstate-tmj-expect-flow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.flowstate-tmj-step-card {
	flex: 1;
	background: #f0f7f6;
	border: 1px solid #d4ece6;
	border-radius: 18px;
	padding: 2rem 1.25rem;
	text-align: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-tmj-step-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(10, 61, 64, 0.08);
}

.flowstate-tmj-step-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #ffffff;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1rem;
	box-shadow: 0 4px 12px rgba(12, 112, 117, 0.1);
}

/* Section 5: FAQ & Invest Card */
.flowstate-section--tmj-faq {
	background: #f8fafc;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-tmj-faq-layout {
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

.flowstate-tmj-photo-wrap {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	margin-bottom: 2rem;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-tmj-relief-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-tmj-relief-overlay {
	position: absolute;
	top: 20px;
	left: 20px;
	font-family: 'Caveat', cursive;
	font-size: 2rem;
	color: #0c7075;
	font-weight: 700;
	line-height: 1.15;
	text-shadow: 0 1px 4px rgba(255, 255, 255, 0.9);
}

.flowstate-tmj-relief-overlay p {
	margin: 0;
}

.flowstate-tmj-invest-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	padding: 2rem 1.75rem;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.08);
}

.flowstate-tmj-invest-card .flowstate-invest-card__title {
	font-size: 1.5rem;
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 1.25rem;
}

.flowstate-tmj-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.flowstate-tmj-checklist li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.98rem;
	color: #334155;
	font-weight: 500;
}

.flowstate-tmj-invest-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: #0a3d40;
	color: #ffffff;
	padding: 0.85rem 1.5rem;
	border-radius: 9999px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.25s ease, transform 0.25s ease;
}

.flowstate-tmj-invest-btn:hover {
	background: #0c7075;
	transform: translateY(-2px);
}

/* Responsive Rules for TMJ Disorders Styles */
@media (max-width: 1100px) {
	.flowstate-tmj-benefits-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 1024px) {
	.flowstate-tmj-neighborhood-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.flowstate-tmj-expect-flow {
		flex-wrap: wrap;
	}
	.flowstate-tmj-step-card {
		flex: 1 1 calc(50% - 15px);
	}
	.flowstate-expect-arrow {
		display: none;
	}
	.flowstate-tmj-faq-layout {
		grid-template-columns: 1fr;
	}
	.flowstate-tmj-hero__floating-card {
		right: 10px;
		bottom: -10px;
	}
}

@media (max-width: 768px) {
	.flowstate-tmj-benefits-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.flowstate-tmj-badges-row {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-tmj-benefits-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-tmj-step-card {
		flex: 1 1 100%;
	}
	.flowstate-tmj-hero__title {
		font-size: 2.1rem;
	}
	.flowstate-tmj-neighbor__title {
		font-size: 1.8rem;
	}
}

/* ==================================================
   29. BRAIN FOG & FATIGUE CARE STYLES
   Matching media_1789367466337.png
================================================== */

.flowstate-brainfog-hero {
	position: relative;
	background: linear-gradient(135deg, #f0f7f6 0%, #ffffff 50%, #e6f4f1 100%);
	padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(3rem, 6vw, 5rem);
	overflow: hidden;
}

.flowstate-brainfog-hero__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(2rem, 4vw, 4rem);
	align-items: center;
}

.flowstate-brainfog-hero__title {
	font-size: clamp(2.25rem, 4.5vw, 3.5rem);
	font-weight: 800;
	line-height: 1.15;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	letter-spacing: -0.02em;
}

.flowstate-brainfog-subhead {
	color: #0c7075;
	display: inline-block;
	font-style: italic;
	font-weight: 700;
}

.flowstate-brainfog-hero__desc {
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	color: #475569;
	line-height: 1.6;
	max-width: 640px;
	margin-bottom: 1.5rem;
}

.flowstate-brainfog-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-bottom: 2rem;
}

.flowstate-brainfog-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-bottom: 2.5rem;
}

.flowstate-brainfog-badges-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 620px;
}

.flowstate-brainfog-badge-circle {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	border: 2px solid #0c7075;
	color: #0c7075;
	background-color: #f0f7f6;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 8px;
	transition: all 0.25s ease;
	box-shadow: 0 4px 12px rgba(12, 112, 117, 0.1);
}

.flowstate-hero-badge-item:hover .flowstate-brainfog-badge-circle {
	background-color: #0c7075;
	color: #ffffff;
	transform: translateY(-2px);
}

/* Hero Right Visual */
.flowstate-brainfog-hero__visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.flowstate-brainfog-hero__image-wrapper {
	position: relative;
	width: 100%;
	max-width: 560px;
	border-radius: 24px;
}

.flowstate-brainfog-hero__img {
	width: 100%;
	height: auto;
	border-radius: 24px;
	display: block;
	object-fit: cover;
	box-shadow: 0 20px 40px rgba(10, 61, 64, 0.12);
}

.flowstate-brainfog-script-watermark {
	position: absolute;
	top: 24px;
	right: 24px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.5vw, 2.6rem);
	color: #0a3d40;
	font-weight: 700;
	pointer-events: none;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.85);
	z-index: 2;
	line-height: 1.1;
	text-align: right;
	display: flex;
	flex-direction: column;
}

.flowstate-brainfog-floating-card {
	position: absolute;
	bottom: -20px;
	right: 20px;
	background: #0a3d40;
	color: #ffffff;
	border-radius: 16px;
	padding: 1.25rem 1.5rem;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.25);
	max-width: 320px;
	z-index: 3;
	border: 1px solid rgba(255, 255, 255, 0.15);
}

/* Section 2: Neighborhood Care (3 Columns) */
.flowstate-brainfog-neighborhood {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-brainfog-neighborhood__header {
	margin-bottom: 2.5rem;
}

.flowstate-brainfog-neighborhood__title {
	font-size: clamp(2rem, 4vw, 2.8rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-top: 0.5rem;
}

.flowstate-brainfog-italic-teal {
	color: #0c7075;
	font-style: italic;
	font-weight: 700;
}

.flowstate-brainfog-neighborhood__grid {
	display: grid;
	grid-template-columns: 1fr 1.25fr 0.85fr;
	gap: clamp(1.5rem, 3vw, 2.75rem);
	align-items: center;
}

.flowstate-brainfog-neighborhood__media {
	position: relative;
}

.flowstate-brainfog-media-box {
	position: relative;
	border-radius: 20px;
	overflow: visible;
}

.flowstate-brainfog-dots-decor {
	position: absolute;
	top: -15px;
	left: -15px;
	width: 90px;
	height: 90px;
	background-image: radial-gradient(#0c7075 2px, transparent 2px);
	background-size: 14px 14px;
	opacity: 0.35;
	z-index: 0;
	pointer-events: none;
}

.flowstate-brainfog-exam-img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	border-radius: 20px;
	display: block;
	object-fit: cover;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-brainfog-media-script {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 2;
	font-family: 'Caveat', cursive;
	font-size: 1.85rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.1;
	pointer-events: none;
	text-shadow: 0 1px 6px rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
}

.flowstate-brainfog-neighborhood__content p {
	font-size: 1rem;
	color: #475569;
	line-height: 1.7;
	margin-bottom: 1.25rem;
}

.flowstate-brainfog-neighborhood__content p:last-child {
	margin-bottom: 0;
}

.flowstate-brainfog-quote-box {
	background: #f0f7f6;
	border: 1px solid #d4ece6;
	border-left: 4px solid #0c7075;
	border-radius: 18px;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.06);
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 240px;
}

.flowstate-brainfog-quote-mark {
	font-family: Georgia, serif;
	font-size: 3.5rem;
	line-height: 0.8;
	color: #0c7075;
	opacity: 0.7;
	margin-bottom: 0.75rem;
}

.flowstate-brainfog-quote-text {
	font-family: 'Jost', sans-serif;
	font-size: 1.35rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.4;
	margin: 0;
}

.flowstate-brainfog-quote-text em {
	font-style: italic;
	color: #0c7075;
}

/* Section 3: Benefits (Dark Teal - 4 Cards) */
.flowstate-brainfog-benefits-dark {
	background-color: #0a3d40;
	color: #ffffff;
	position: relative;
	overflow: hidden;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-brainfog-benefits-dark::before {
	content: '';
	position: absolute;
	top: -60px;
	left: -60px;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.3) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-brainfog-benefits-dark::after {
	content: '';
	position: absolute;
	bottom: -60px;
	right: -60px;
	width: 350px;
	height: 350px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.25) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-brainfog-benefits__header {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 3rem;
}

.flowstate-brainfog-benefits__title {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 0.75rem;
}

.flowstate-brainfog-benefits__subtitle {
	font-size: 1.1rem;
	color: #d4ece6;
	line-height: 1.5;
	margin: 0;
}

.flowstate-brainfog-benefits__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	position: relative;
	z-index: 1;
}

.flowstate-brainfog-benefit-card {
	background-color: #ffffff;
	border-radius: 16px;
	padding: clamp(1.75rem, 3vw, 2.25rem) 1.5rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-brainfog-benefit-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}

.flowstate-brainfog-benefit-card__icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background-color: #f0f7f6;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
	color: #0c7075;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.flowstate-brainfog-benefit-card:hover .flowstate-brainfog-benefit-card__icon {
	background-color: #0c7075;
	color: #ffffff;
}

.flowstate-brainfog-benefit-card__title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 0.75rem 0;
	line-height: 1.35;
}

.flowstate-brainfog-benefit-card__text {
	font-size: 0.92rem;
	color: #475569;
	line-height: 1.55;
	margin: 0;
}

/* Section 4: What to Expect (4-Step Sequential Flow) */
.flowstate-brainfog-steps {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-brainfog-steps__header {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 3rem;
}

.flowstate-brainfog-steps__title {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.75rem;
}

.flowstate-brainfog-steps__subtitle {
	font-size: 1.05rem;
	color: #475569;
	line-height: 1.6;
	margin: 0;
}

.flowstate-brainfog-steps__grid {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 12px;
	position: relative;
}

.flowstate-brainfog-step-item {
	flex: 1;
	background-color: #f0f7f6;
	border: 1px solid #d4ece6;
	border-radius: 18px;
	padding: 2rem 1.25rem;
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-brainfog-step-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(10, 61, 64, 0.08);
}

.flowstate-brainfog-step-badge {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background-color: #0c7075;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-brainfog-step-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background-color: #ffffff;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0.5rem auto 1rem;
	box-shadow: 0 4px 12px rgba(12, 112, 117, 0.1);
}

.flowstate-brainfog-step-title {
	font-size: 1.08rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.5rem;
	line-height: 1.3;
}

.flowstate-brainfog-step-desc {
	font-size: 0.88rem;
	color: #475569;
	line-height: 1.5;
	margin: 0;
}

.flowstate-brainfog-step-arrow {
	align-self: center;
	font-size: 1.5rem;
	color: #0c7075;
	font-weight: 700;
	flex-shrink: 0;
}

/* Section 5: FAQ & Sidebar */
.flowstate-brainfog-faq-section {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-brainfog-faq-layout {
	display: grid;
	grid-template-columns: 1.25fr 0.85fr 0.9fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

.flowstate-brainfog-faq__heading {
	font-size: clamp(1.85rem, 3.5vw, 2.5rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.5rem;
}

.flowstate-brainfog-faq__subheading {
	font-size: 0.98rem;
	color: #64748b;
	margin-bottom: 2rem;
}

.flowstate-brainfog-faq-photo-box {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-brainfog-faq-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	border-radius: 18px;
}

.flowstate-brainfog-photo-script {
	position: absolute;
	top: 20px;
	left: 20px;
	font-family: 'Caveat', cursive;
	font-size: 1.95rem;
	color: #0a3d40;
	font-weight: 700;
	line-height: 1.1;
	pointer-events: none;
	text-shadow: 0 1px 6px rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
}

.flowstate-brainfog-sidebar-card {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	padding: 2rem 1.75rem;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.08);
}

.flowstate-brainfog-sidebar-title {
	font-size: 1.45rem;
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	line-height: 1.25;
}

.flowstate-brainfog-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.flowstate-brainfog-checklist li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.96rem;
	color: #334155;
	font-weight: 500;
}

.flowstate-brainfog-check-icon {
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-brainfog-sidebar-btn {
	width: 100%;
	text-align: center;
	border-radius: 9999px;
}

/* Section 6: Patient Stories (Testimonials Slider) */
.flowstate-brainfog-stories {
	background: linear-gradient(180deg, #f0f7f6 0%, #e8f5f1 100%);
	position: relative;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
	overflow: hidden;
}

.flowstate-brainfog-stories__header {
	text-align: center;
	max-width: 700px;
	margin: 0 auto 2.75rem;
}

.flowstate-brainfog-stories__title {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.5rem;
}

.flowstate-brainfog-stories__subtitle {
	font-size: 1.05rem;
	color: #475569;
	margin: 0;
}

.flowstate-brainfog-stories__carousel-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: 1120px;
	margin: 0 auto;
}

.flowstate-brainfog-stories__track {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	width: 100%;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding: 8px 4px;
}

.flowstate-brainfog-stories__track::-webkit-scrollbar {
	display: none;
}

.flowstate-brainfog-story-card {
	background: #ffffff;
	border-radius: 18px;
	padding: 2rem 1.75rem;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.08);
	border: 1px solid rgba(12, 112, 117, 0.12);
	display: flex;
	flex-direction: column;
	position: relative;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-brainfog-story-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(10, 61, 64, 0.14);
}

.flowstate-brainfog-story-quote-icon {
	font-family: Georgia, serif;
	font-size: 2.5rem;
	line-height: 1;
	color: #0c7075;
	opacity: 0.6;
	margin-bottom: 0.5rem;
}

.flowstate-brainfog-story-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.flowstate-brainfog-story-author {
	font-weight: 700;
	color: #0a3d40;
	font-size: 1.05rem;
}

.flowstate-brainfog-story-stars {
	color: #eab308;
	font-size: 1.1rem;
	letter-spacing: 2px;
}

.flowstate-brainfog-story-text {
	font-style: italic;
	font-size: 0.98rem;
	color: #334155;
	line-height: 1.6;
	margin: 0;
}

.flowstate-brainfog-stories__nav-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #ffffff;
	color: #0a3d40;
	border: 1px solid #d4ece6;
	box-shadow: 0 4px 12px rgba(10, 61, 64, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	cursor: pointer;
	flex-shrink: 0;
	transition: all 0.2s ease;
}

.flowstate-brainfog-stories__nav-btn:hover {
	background: #0c7075;
	color: #ffffff;
	border-color: #0c7075;
}

.flowstate-brainfog-stories__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 1.75rem;
}

.flowstate-brainfog-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: none;
	background: #cbd5e1;
	cursor: pointer;
	transition: background-color 0.25s ease, transform 0.25s ease;
	padding: 0;
}

.flowstate-brainfog-dot.active {
	background: #0c7075;
	transform: scale(1.2);
}

/* Section 7: Clinic Location & Hours (Dark Teal) */
.flowstate-brainfog-location-dark {
	background-color: #0a3d40;
	color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-brainfog-location__grid {
	display: grid;
	grid-template-columns: 1fr 1.25fr 1.2fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

.flowstate-brainfog-location__col-title {
	font-size: 1.35rem;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 1.25rem;
	line-height: 1.3;
}

.flowstate-brainfog-hours-group {
	margin-bottom: 1.25rem;
}

.flowstate-brainfog-city-label {
	display: block;
	font-size: 1.05rem;
	font-weight: 700;
	color: #72d5c6;
	margin-bottom: 0.5rem;
}

.flowstate-brainfog-hours-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.flowstate-brainfog-hours-list li {
	display: flex;
	justify-content: space-between;
	font-size: 0.92rem;
	color: #e2e8f0;
}

.flowstate-brainfog-nola-val {
	font-size: 0.92rem;
	color: #e2e8f0;
}

.flowstate-brainfog-info-item {
	display: flex;
	gap: 14px;
	margin-bottom: 1.25rem;
	align-items: flex-start;
}

.flowstate-brainfog-info-icon {
	color: #72d5c6;
	flex-shrink: 0;
	margin-top: 2px;
}

.flowstate-brainfog-info-text {
	font-size: 0.95rem;
	color: #e2e8f0;
	line-height: 1.5;
}

.flowstate-brainfog-transit-label {
	display: block;
	font-size: 0.95rem;
	color: #e2e8f0;
	margin-bottom: 6px;
}

.flowstate-brainfog-map-card {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 12px;
	padding: 8px;
	position: relative;
}

.flowstate-brainfog-map-btn-wrap {
	margin-top: 8px;
	text-align: right;
}

.flowstate-brainfog-map-btn {
	color: #72d5c6;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s ease;
}

.flowstate-brainfog-map-btn:hover {
	color: #ffffff;
	text-decoration: underline;
}

/* Section 8: Bottom Mint CTA */
.flowstate-brainfog-bottom-cta {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-brainfog-cta-box {
	background: linear-gradient(135deg, #d4ece6 0%, #e8f5f1 100%);
	border-radius: 24px;
	padding: clamp(2.5rem, 5vw, 4rem) clamp(2rem, 4vw, 3.5rem);
	position: relative;
	overflow: hidden;
	box-shadow: 0 12px 36px rgba(10, 61, 64, 0.08);
}

.flowstate-brainfog-cta-content {
	max-width: 650px;
	position: relative;
	z-index: 2;
}

.flowstate-brainfog-cta-title {
	font-size: clamp(2rem, 3.8vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 1rem;
}

.flowstate-brainfog-cta-desc {
	font-size: 1.05rem;
	color: #334155;
	line-height: 1.6;
	margin-bottom: 2rem;
}

.flowstate-brainfog-cta-watermark {
	position: absolute;
	bottom: 20px;
	right: 30px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2.2rem, 4vw, 3.2rem);
	color: #0a3d40;
	opacity: 0.7;
	font-weight: 700;
	line-height: 1.05;
	text-align: right;
	pointer-events: none;
	display: flex;
	flex-direction: column;
	z-index: 1;
}

/* Responsive Rules for Brain Fog & Fatigue Styles */
@media (max-width: 1100px) {
	.flowstate-brainfog-faq-layout {
		grid-template-columns: 1fr 1fr;
	}
	.flowstate-brainfog-faq-photo-col {
		display: none;
	}
	.flowstate-brainfog-benefits__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-brainfog-stories__track {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 1024px) {
	.flowstate-brainfog-hero__grid {
		grid-template-columns: 1fr;
	}
	.flowstate-brainfog-neighborhood__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.flowstate-brainfog-steps__grid {
		flex-wrap: wrap;
	}
	.flowstate-brainfog-step-item {
		flex: 1 1 calc(50% - 15px);
	}
	.flowstate-brainfog-step-arrow {
		display: none;
	}
	.flowstate-brainfog-location__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

@media (max-width: 768px) {
	.flowstate-brainfog-faq-layout {
		grid-template-columns: 1fr;
	}
	.flowstate-brainfog-stories__track {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.flowstate-brainfog-badges-row {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-brainfog-benefits__grid {
		grid-template-columns: 1fr;
	}
	.flowstate-brainfog-step-item {
		flex: 1 1 100%;
	}
	.flowstate-brainfog-hero__title {
		font-size: 2.1rem;
	}
	.flowstate-brainfog-neighborhood__title {
		font-size: 1.8rem;
	}
	.flowstate-brainfog-cta-watermark {
		display: none;
	}
}

/* ==================================================
   30. DESK WORKER & PROFESSIONAL WELLNESS CARE STYLES
   Matching media_1789368239309.png
================================================== */

.flowstate-deskworker-hero {
	position: relative;
	background: linear-gradient(135deg, #f0f7f6 0%, #ffffff 50%, #e6f4f1 100%);
	padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(3rem, 6vw, 5rem);
	overflow: hidden;
}

.flowstate-deskworker-hero__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(2rem, 4vw, 4rem);
	align-items: center;
}

.flowstate-deskworker-hero__title {
	font-size: clamp(2.25rem, 4.5vw, 3.5rem);
	font-weight: 800;
	line-height: 1.15;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	letter-spacing: -0.02em;
}

.flowstate-deskworker-subhead {
	color: #0c7075;
	display: inline-block;
	font-style: italic;
	font-weight: 700;
}

.flowstate-deskworker-hero__desc {
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	color: #475569;
	line-height: 1.6;
	max-width: 640px;
	margin-bottom: 2rem;
}

.flowstate-deskworker-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-bottom: 2.5rem;
}

.flowstate-deskworker-badges-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 620px;
}

.flowstate-deskworker-badge-circle {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	border: 2px solid #0c7075;
	color: #0c7075;
	background-color: #f0f7f6;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 8px;
	transition: all 0.25s ease;
	box-shadow: 0 4px 12px rgba(12, 112, 117, 0.1);
}

.flowstate-hero-badge-item:hover .flowstate-deskworker-badge-circle {
	background-color: #0c7075;
	color: #ffffff;
	transform: translateY(-2px);
}

/* Hero Right Visual */
.flowstate-deskworker-hero__visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.flowstate-deskworker-hero__image-wrapper {
	position: relative;
	width: 100%;
	max-width: 560px;
	border-radius: 24px;
}

.flowstate-deskworker-hero__img {
	width: 100%;
	height: auto;
	border-radius: 24px;
	display: block;
	object-fit: cover;
	box-shadow: 0 20px 40px rgba(10, 61, 64, 0.12);
}

.flowstate-deskworker-script-watermark {
	position: absolute;
	top: 24px;
	right: 24px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.5vw, 2.6rem);
	color: #0a3d40;
	font-weight: 700;
	pointer-events: none;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.85);
	z-index: 2;
	line-height: 1.1;
	text-align: right;
	display: flex;
	flex-direction: column;
}

.flowstate-deskworker-floating-card {
	position: absolute;
	bottom: -20px;
	right: 20px;
	background: #0a3d40;
	color: #ffffff;
	border-radius: 16px;
	padding: 1.25rem 1.5rem;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.25);
	max-width: 320px;
	z-index: 3;
	border: 1px solid rgba(255, 255, 255, 0.15);
}

/* Section 2: Neighborhood Care (3 Columns) */
.flowstate-deskworker-neighborhood {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-deskworker-neighborhood__header {
	margin-bottom: 2.5rem;
}

.flowstate-deskworker-neighborhood__title {
	font-size: clamp(2rem, 4vw, 2.8rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-top: 0.5rem;
}

.flowstate-deskworker-italic-teal {
	color: #0c7075;
	font-style: italic;
	font-weight: 700;
}

.flowstate-deskworker-neighborhood__grid {
	display: grid;
	grid-template-columns: 1fr 1.25fr 0.85fr;
	gap: clamp(1.5rem, 3vw, 2.75rem);
	align-items: center;
}

.flowstate-deskworker-neighborhood__media {
	position: relative;
}

.flowstate-deskworker-media-box {
	position: relative;
	border-radius: 20px;
	overflow: visible;
}

.flowstate-deskworker-dots-decor {
	position: absolute;
	top: -15px;
	left: -15px;
	width: 90px;
	height: 90px;
	background-image: radial-gradient(#0c7075 2px, transparent 2px);
	background-size: 14px 14px;
	opacity: 0.35;
	z-index: 0;
	pointer-events: none;
}

.flowstate-deskworker-exam-img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	border-radius: 20px;
	display: block;
	object-fit: cover;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-deskworker-media-script {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 2;
	font-family: 'Caveat', cursive;
	font-size: 1.85rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.1;
	pointer-events: none;
	text-shadow: 0 1px 6px rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
}

.flowstate-deskworker-neighborhood__content p {
	font-size: 1rem;
	color: #475569;
	line-height: 1.7;
	margin-bottom: 1.25rem;
}

.flowstate-deskworker-neighborhood__content p:last-child {
	margin-bottom: 0;
}

.flowstate-deskworker-quote-box {
	background: #f0f7f6;
	border: 1px solid #d4ece6;
	border-left: 4px solid #0c7075;
	border-radius: 18px;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.06);
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 240px;
}

.flowstate-deskworker-quote-mark {
	font-family: Georgia, serif;
	font-size: 3.5rem;
	line-height: 0.8;
	color: #0c7075;
	opacity: 0.7;
	margin-bottom: 0.75rem;
}

.flowstate-deskworker-quote-text {
	font-family: 'Jost', sans-serif;
	font-size: 1.35rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.4;
	margin: 0;
}

.flowstate-deskworker-quote-text em {
	font-style: italic;
	color: #0c7075;
}

/* Section 3: Why Desk Work Takes a Toll (Mint Background - 4 Cards) */
.flowstate-deskworker-toll-section {
	background: linear-gradient(180deg, #f0f7f6 0%, #e8f5f1 100%);
	position: relative;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
	overflow: hidden;
}

.flowstate-deskworker-toll__header {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 3rem;
}

.flowstate-deskworker-toll__title {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.75rem;
}

.flowstate-deskworker-toll__subtitle {
	font-size: 1.05rem;
	color: #475569;
	line-height: 1.6;
	margin: 0;
}

.flowstate-deskworker-toll__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	position: relative;
	z-index: 1;
}

.flowstate-deskworker-toll-card {
	background-color: #ffffff;
	border-radius: 16px;
	padding: clamp(1.75rem, 3vw, 2.25rem) 1.5rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.08);
	border: 1px solid rgba(12, 112, 117, 0.1);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-deskworker-toll-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(10, 61, 64, 0.14);
}

.flowstate-deskworker-toll-card__icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background-color: #f0f7f6;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
	color: #0c7075;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.flowstate-deskworker-toll-card:hover .flowstate-deskworker-toll-card__icon {
	background-color: #0c7075;
	color: #ffffff;
}

.flowstate-deskworker-toll-card__title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 0.75rem 0;
	line-height: 1.35;
}

.flowstate-deskworker-toll-card__desc {
	font-size: 0.92rem;
	color: #475569;
	line-height: 1.55;
	margin: 0;
}

/* Section 4: How Care Supports Desk Workers (Dark Teal - 4 Cards) */
.flowstate-deskworker-support-dark {
	background-color: #0a3d40;
	color: #ffffff;
	position: relative;
	overflow: hidden;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-deskworker-support-dark::before {
	content: '';
	position: absolute;
	top: -60px;
	left: -60px;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.3) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-deskworker-support-dark::after {
	content: '';
	position: absolute;
	bottom: -60px;
	right: -60px;
	width: 350px;
	height: 350px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.25) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-deskworker-support__header {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 3rem;
}

.flowstate-deskworker-support__title {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 0.75rem;
}

.flowstate-deskworker-support__subtitle {
	font-size: 1.1rem;
	color: #d4ece6;
	line-height: 1.5;
	margin: 0;
}

.flowstate-deskworker-support__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	position: relative;
	z-index: 1;
}

.flowstate-deskworker-support-card {
	background-color: #ffffff;
	border-radius: 16px;
	padding: clamp(1.75rem, 3vw, 2.25rem) 1.5rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-deskworker-support-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}

.flowstate-deskworker-support-card__icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background-color: #f0f7f6;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
	color: #0c7075;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.flowstate-deskworker-support-card:hover .flowstate-deskworker-support-card__icon {
	background-color: #0c7075;
	color: #ffffff;
}

.flowstate-deskworker-support-card__title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 0.75rem 0;
	line-height: 1.35;
}

.flowstate-deskworker-support-card__text {
	font-size: 0.92rem;
	color: #475569;
	line-height: 1.55;
	margin: 0;
}

/* Section 5: What to Expect (4-Step Sequential Flow) */
.flowstate-deskworker-steps {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-deskworker-steps__header {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 3rem;
}

.flowstate-deskworker-steps__title {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.75rem;
}

.flowstate-deskworker-steps__subtitle {
	font-size: 1.05rem;
	color: #475569;
	line-height: 1.6;
	margin: 0;
}

.flowstate-deskworker-steps__grid {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 12px;
	position: relative;
}

.flowstate-deskworker-step-item {
	flex: 1;
	background-color: #f0f7f6;
	border: 1px solid #d4ece6;
	border-radius: 18px;
	padding: 2rem 1.25rem;
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-deskworker-step-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(10, 61, 64, 0.08);
}

.flowstate-deskworker-step-badge {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background-color: #0c7075;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-deskworker-step-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background-color: #ffffff;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0.5rem auto 1rem;
	box-shadow: 0 4px 12px rgba(12, 112, 117, 0.1);
}

.flowstate-deskworker-step-title {
	font-size: 1.08rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.5rem;
	line-height: 1.3;
}

.flowstate-deskworker-step-desc {
	font-size: 0.88rem;
	color: #475569;
	line-height: 1.5;
	margin: 0;
}

.flowstate-deskworker-step-arrow {
	align-self: center;
	font-size: 1.5rem;
	color: #0c7075;
	font-weight: 700;
	flex-shrink: 0;
}

/* Section 6: FAQ & Sidebar */
.flowstate-deskworker-faq-section {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-deskworker-faq-layout {
	display: grid;
	grid-template-columns: 1.25fr 0.85fr 0.9fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

.flowstate-deskworker-faq__heading {
	font-size: clamp(1.85rem, 3.5vw, 2.5rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.5rem;
}

.flowstate-deskworker-faq__subheading {
	font-size: 0.98rem;
	color: #64748b;
	margin-bottom: 2rem;
}

.flowstate-deskworker-faq-photo-box {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-deskworker-faq-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	border-radius: 18px;
}

.flowstate-deskworker-photo-script {
	position: absolute;
	top: 20px;
	right: 20px;
	font-family: 'Caveat', cursive;
	font-size: 1.95rem;
	color: #0a3d40;
	font-weight: 700;
	line-height: 1.1;
	pointer-events: none;
	text-shadow: 0 1px 6px rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
	text-align: right;
}

.flowstate-deskworker-sidebar-card {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	padding: 2rem 1.75rem;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.08);
}

.flowstate-deskworker-sidebar-title {
	font-size: 1.45rem;
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	line-height: 1.25;
}

.flowstate-deskworker-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.flowstate-deskworker-checklist li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.96rem;
	color: #334155;
	font-weight: 500;
}

.flowstate-deskworker-check-icon {
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-deskworker-sidebar-btn {
	width: 100%;
	text-align: center;
	border-radius: 9999px;
}

/* Section 7: Clinic Location & Hours (Dark Teal) */
.flowstate-deskworker-location-dark {
	background-color: #0a3d40;
	color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-deskworker-location__grid {
	display: grid;
	grid-template-columns: 1fr 1.25fr 1.2fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

.flowstate-deskworker-location__col-title {
	font-size: 1.35rem;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 1.25rem;
	line-height: 1.3;
}

.flowstate-deskworker-hours-group {
	margin-bottom: 1.25rem;
}

.flowstate-deskworker-city-label {
	display: block;
	font-size: 1.05rem;
	font-weight: 700;
	color: #72d5c6;
	margin-bottom: 0.5rem;
}

.flowstate-deskworker-hours-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.flowstate-deskworker-hours-list li {
	display: flex;
	justify-content: space-between;
	font-size: 0.92rem;
	color: #e2e8f0;
}

.flowstate-deskworker-nola-val {
	font-size: 0.92rem;
	color: #e2e8f0;
}

.flowstate-deskworker-info-item {
	display: flex;
	gap: 14px;
	margin-bottom: 1.25rem;
	align-items: flex-start;
}

.flowstate-deskworker-info-icon {
	color: #72d5c6;
	flex-shrink: 0;
	margin-top: 2px;
}

.flowstate-deskworker-info-text {
	font-size: 0.95rem;
	color: #e2e8f0;
	line-height: 1.5;
}

.flowstate-deskworker-transit-label {
	display: block;
	font-size: 0.95rem;
	color: #e2e8f0;
	margin-bottom: 6px;
}

.flowstate-deskworker-map-card {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 12px;
	padding: 8px;
	position: relative;
}

.flowstate-deskworker-map-btn-wrap {
	margin-top: 8px;
	text-align: right;
}

.flowstate-deskworker-map-btn {
	color: #72d5c6;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s ease;
}

.flowstate-deskworker-map-btn:hover {
	color: #ffffff;
	text-decoration: underline;
}

/* Section 8: Bottom Mint CTA */
.flowstate-deskworker-bottom-cta {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-deskworker-cta-box {
	background: linear-gradient(135deg, #d4ece6 0%, #e8f5f1 100%);
	border-radius: 24px;
	padding: clamp(2.5rem, 5vw, 4rem) clamp(2rem, 4vw, 3.5rem);
	position: relative;
	overflow: hidden;
	box-shadow: 0 12px 36px rgba(10, 61, 64, 0.08);
}

.flowstate-deskworker-cta-content {
	max-width: 650px;
	position: relative;
	z-index: 2;
}

.flowstate-deskworker-cta-title {
	font-size: clamp(2rem, 3.8vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 1rem;
}

.flowstate-deskworker-cta-desc {
	font-size: 1.05rem;
	color: #334155;
	line-height: 1.6;
	margin-bottom: 2rem;
}

.flowstate-deskworker-cta-watermark {
	position: absolute;
	bottom: 20px;
	right: 30px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2.2rem, 4vw, 3.2rem);
	color: #0a3d40;
	opacity: 0.7;
	font-weight: 700;
	line-height: 1.05;
	text-align: right;
	pointer-events: none;
	display: flex;
	flex-direction: column;
	z-index: 1;
}

/* Responsive Rules for Desk Worker Styles */
@media (max-width: 1100px) {
	.flowstate-deskworker-faq-layout {
		grid-template-columns: 1fr 1fr;
	}
	.flowstate-deskworker-faq-photo-col {
		display: none;
	}
	.flowstate-deskworker-toll__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-deskworker-support__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 1024px) {
	.flowstate-deskworker-hero__grid {
		grid-template-columns: 1fr;
	}
	.flowstate-deskworker-neighborhood__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.flowstate-deskworker-steps__grid {
		flex-wrap: wrap;
	}
	.flowstate-deskworker-step-item {
		flex: 1 1 calc(50% - 15px);
	}
	.flowstate-deskworker-step-arrow {
		display: none;
	}
	.flowstate-deskworker-location__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

@media (max-width: 768px) {
	.flowstate-deskworker-faq-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.flowstate-deskworker-badges-row {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-deskworker-toll__grid {
		grid-template-columns: 1fr;
	}
	.flowstate-deskworker-support__grid {
		grid-template-columns: 1fr;
	}
	.flowstate-deskworker-step-item {
		flex: 1 1 100%;
	}
	.flowstate-deskworker-hero__title {
		font-size: 2.1rem;
	}
	.flowstate-deskworker-neighborhood__title {
		font-size: 1.8rem;
	}
	.flowstate-deskworker-cta-watermark {
		display: none;
	}
}

/* ==========================================================================
   31. FIBROMYALGIA SUPPORT CARE STYLES
   ========================================================================== */

/* Hero Section */
.flowstate-fibro-hero {
	background-color: #f7faf9;
	background-image: radial-gradient(circle at 85% 20%, rgba(12, 112, 117, 0.08) 0%, transparent 50%);
	padding: 2.5rem 0 4.5rem;
}

.flowstate-fibro-hero__grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 3.5rem;
	align-items: center;
}

.flowstate-fibro-hero__title {
	font-size: clamp(2.2rem, 3.8vw, 3.4rem);
	line-height: 1.15;
	font-weight: 800;
	color: #0a3d40;
	margin: 0.75rem 0 1.25rem;
}

.flowstate-fibro-hero__desc {
	font-size: 1.1rem;
	line-height: 1.65;
	color: #334155;
	margin-bottom: 1.75rem;
	max-width: 540px;
}

.flowstate-fibro-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: 2rem;
}

.flowstate-fibro-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 3rem;
}

/* 4 Value Props Under Hero CTA Buttons */
.flowstate-fibro-props-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(10, 61, 64, 0.12);
}

.flowstate-fibro-prop-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.6rem;
}

.flowstate-fibro-prop-icon {
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-fibro-prop-title {
	font-size: 0.88rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.25;
}

/* Hero Right Visual & Overlays */
.flowstate-fibro-hero-image-wrapper {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 16px 40px rgba(10, 61, 64, 0.12);
}

.flowstate-fibro-hero-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-fibro-hero-script-overlay {
	position: absolute;
	top: 25px;
	right: 25px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.2vw, 2.75rem);
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.05;
	text-align: right;
	text-shadow: 0 2px 10px rgba(255, 255, 255, 0.85), 0 0 20px rgba(255, 255, 255, 0.6);
	pointer-events: none;
}

.flowstate-fibro-hero-teal-box {
	position: absolute;
	bottom: 25px;
	right: 25px;
	background-color: #0a3d40;
	color: #ffffff;
	padding: 1.25rem 1.75rem;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
	font-family: 'Jost', sans-serif;
	text-align: left;
}

.flowstate-fibro-teal-line {
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.3;
	color: #e2f1ee;
}

.flowstate-fibro-teal-line-highlight {
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.3;
	color: #ffffff;
}

.flowstate-fibro-teal-underline {
	width: 45px;
	height: 3px;
	background-color: #2dd4bf;
	margin-top: 0.6rem;
	border-radius: 2px;
}

/* Section 2: Neighborhood & Care Philosophy */
.flowstate-fibro-neighborhood-section {
	padding: 5rem 0;
	background-color: #ffffff;
}

.flowstate-fibro-neighborhood__grid {
	display: grid;
	grid-template-columns: 1fr 1.35fr 0.85fr;
	gap: 2.75rem;
	align-items: center;
}

.flowstate-fibro-doctor-card {
	position: relative;
}

.flowstate-fibro-dot-grid {
	position: absolute;
	top: -15px;
	left: -20px;
	width: 60px;
	height: 100px;
	background-image: radial-gradient(#0c7075 2px, transparent 2px);
	background-size: 12px 12px;
	opacity: 0.35;
	z-index: 0;
}

.flowstate-fibro-doctor-img-wrap {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.08);
	z-index: 1;
}

.flowstate-fibro-doctor-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-fibro-script-badge {
	position: absolute;
	top: 20px;
	left: 20px;
	font-family: 'Caveat', cursive;
	font-size: 1.85rem;
	color: #0a3d40;
	font-weight: 700;
	line-height: 1.1;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
}

.flowstate-fibro-neighborhood-title {
	font-size: clamp(1.85rem, 2.8vw, 2.4rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin: 0.5rem 0 1.25rem;
}

.flowstate-fibro-neighborhood-title em {
	font-style: italic;
	font-weight: 700;
	color: #0c7075;
}

.flowstate-fibro-narrative-text p {
	font-size: 1.02rem;
	line-height: 1.7;
	color: #334155;
	margin-bottom: 1rem;
}

.flowstate-fibro-quote-card {
	background: #f0f7f6;
	border: 1px solid rgba(12, 112, 117, 0.16);
	border-radius: 20px;
	padding: 2.75rem 2rem;
	position: relative;
	text-align: center;
	overflow: hidden;
}

.flowstate-fibro-quote-card::before {
	content: '';
	position: absolute;
	top: -20px;
	right: -20px;
	width: 140px;
	height: 140px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.08) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-fibro-quote-icon {
	font-size: 3.5rem;
	color: #0c7075;
	opacity: 0.35;
	font-family: serif;
	line-height: 1;
	margin-bottom: 0.5rem;
}

.flowstate-fibro-quote-text {
	font-size: 1.28rem;
	font-weight: 600;
	color: #0a3d40;
	line-height: 1.45;
	font-style: italic;
	margin: 0;
}

/* Section 3: How Chiropractic Care Can Help Fibromyalgia (Dark Teal) */
.flowstate-fibro-help-section {
	background-color: #0a3d40;
	padding: 5.5rem 0;
	position: relative;
}

.flowstate-fibro-help-header {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 3.5rem;
}

.flowstate-fibro-help-title {
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2;
	margin-bottom: 0.85rem;
}

.flowstate-fibro-help-subtitle {
	font-size: 1.15rem;
	color: #d4ece6;
	line-height: 1.6;
	margin: 0;
}

.flowstate-fibro-cards-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.75rem;
}

.flowstate-fibro-card {
	background-color: #ffffff;
	border-radius: 16px;
	padding: 2.5rem 1.75rem;
	text-align: center;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.flowstate-fibro-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
}

.flowstate-fibro-card__icon-wrap {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background-color: #f0f7f6;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.35rem;
}

.flowstate-fibro-card__title {
	font-size: 1.18rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.75rem;
	line-height: 1.3;
}

.flowstate-fibro-card__desc {
	font-size: 0.95rem;
	color: #475569;
	line-height: 1.55;
	margin: 0;
}

/* Section 4: What to Expect at Your First Visit */
.flowstate-fibro-expect-section {
	padding: 5.5rem 0;
	background-color: #ffffff;
}

.flowstate-fibro-expect-header {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 3.5rem;
}

.flowstate-fibro-expect-title {
	font-size: clamp(2rem, 3.4vw, 2.6rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.85rem;
}

.flowstate-fibro-expect-subtitle {
	font-size: 1.1rem;
	color: #475569;
	line-height: 1.6;
	margin: 0;
}

.flowstate-fibro-steps-flow {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 0.75rem;
}

.flowstate-fibro-step-card {
	flex: 1;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 2.25rem 1.4rem;
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.04);
}

.flowstate-fibro-step-badge {
	position: absolute;
	top: 15px;
	left: 15px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background-color: #0a3d40;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-fibro-step-icon {
	color: #0c7075;
	margin: 1.25rem 0 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-fibro-step-title {
	font-size: 1.12rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.5rem;
	line-height: 1.3;
}

.flowstate-fibro-step-desc {
	font-size: 0.92rem;
	color: #64748b;
	line-height: 1.5;
	margin: 0;
}

.flowstate-fibro-step-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0c7075;
	font-size: 1.6rem;
	font-weight: 700;
	padding: 0 0.25rem;
}

/* Section 5: FAQs & Value Proposition */
.flowstate-fibro-faq-section {
	padding: 5.5rem 0;
	background-color: #f7faf9;
}

.flowstate-fibro-faq-layout {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 3.5rem;
	align-items: start;
}

.flowstate-fibro-faq-title {
	font-size: clamp(2rem, 3.2vw, 2.5rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.5rem;
}

.flowstate-fibro-faq-subtitle {
	font-size: 1.05rem;
	color: #64748b;
	margin-bottom: 2rem;
}

.flowstate-fibro-faq-side-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	align-items: stretch;
}

.flowstate-fibro-faq-photo-card {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(10, 61, 64, 0.08);
	min-height: 380px;
}

.flowstate-fibro-faq-photo-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.flowstate-fibro-faq-script-overlay {
	position: absolute;
	top: 20px;
	left: 20px;
	font-family: 'Caveat', cursive;
	font-size: 2.1rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.05;
	text-shadow: 0 2px 10px rgba(255, 255, 255, 0.95);
	pointer-events: none;
}

.flowstate-fibro-invest-card {
	background-color: #ffffff;
	border: 1px solid rgba(12, 112, 117, 0.16);
	border-radius: 18px;
	padding: 2.25rem 1.75rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-shadow: 0 10px 28px rgba(10, 61, 64, 0.06);
}

.flowstate-fibro-invest-title {
	font-size: 1.45rem;
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.25;
	margin: 0 0 1.5rem;
}

.flowstate-fibro-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.flowstate-fibro-check-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.flowstate-fibro-check-icon {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #0c7075;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 700;
	flex-shrink: 0;
}

.flowstate-fibro-check-text {
	font-size: 0.96rem;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.35;
}

.flowstate-fibro-invest-btn {
	width: 100%;
	text-align: center;
	justify-content: center;
}

/* Section 6: Patient Stories */
.flowstate-fibro-stories-section {
	padding: 5.5rem 0;
	background-color: #f0f7f6;
	background-image: radial-gradient(circle at 10% 20%, rgba(12, 112, 117, 0.06) 0%, transparent 40%),
	                  radial-gradient(circle at 90% 80%, rgba(12, 112, 117, 0.06) 0%, transparent 40%);
}

.flowstate-fibro-stories-header {
	text-align: center;
	margin-bottom: 3.5rem;
}

.flowstate-fibro-stories-title {
	font-size: clamp(2rem, 3.4vw, 2.6rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.6rem;
}

.flowstate-fibro-stories-subtitle {
	font-size: 1.1rem;
	color: #475569;
	margin: 0;
}

.flowstate-fibro-stories-carousel-wrapper {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

.flowstate-fibro-carousel-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid #cbd5e1;
	background-color: #ffffff;
	color: #0a3d40;
	font-size: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.flowstate-fibro-carousel-btn:hover {
	background-color: #0a3d40;
	color: #ffffff;
	border-color: #0a3d40;
}

.flowstate-fibro-testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
	flex: 1;
}

.flowstate-fibro-testimonial-card {
	background-color: #ffffff;
	border-radius: 18px;
	padding: 2.25rem 2rem;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.06);
	border: 1px solid #e2e8f0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.flowstate-fibro-testimonial-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.75rem;
}

.flowstate-fibro-testimonial-quote-icon {
	font-size: 2.5rem;
	color: #0a3d40;
	font-family: serif;
	line-height: 1;
	opacity: 0.75;
}

.flowstate-fibro-stars {
	color: #f59e0b;
	font-size: 1.15rem;
	letter-spacing: 2px;
}

.flowstate-fibro-testimonial-quote {
	font-size: 1.05rem;
	line-height: 1.65;
	color: #334155;
	font-style: italic;
	margin: 0 0 1.25rem;
}

.flowstate-fibro-testimonial-author {
	font-size: 0.98rem;
	font-weight: 700;
	color: #0a3d40;
	text-align: right;
}

.flowstate-fibro-pagination-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 2.5rem;
}

.flowstate-fibro-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #cbd5e1;
	transition: all 0.3s ease;
}

.flowstate-fibro-dot.is-active {
	background-color: #0c7075;
	width: 24px;
	border-radius: 10px;
}

/* Section 7: Working Hours & Location */
.flowstate-fibro-hours-section {
	background-color: #0a3d40;
	color: #ffffff;
	padding: 5rem 0;
}

.flowstate-fibro-hours__grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr 1.2fr;
	gap: 3rem;
	align-items: start;
}

.flowstate-fibro-hours-title,
.flowstate-fibro-location-title {
	font-size: 1.35rem;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 1.5rem;
	line-height: 1.3;
}

.flowstate-fibro-hours-city {
	font-size: 1.05rem;
	font-weight: 700;
	color: #2dd4bf;
	margin-bottom: 0.75rem;
}

.flowstate-fibro-hours-list {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
}

.flowstate-fibro-hours-list li {
	font-size: 0.95rem;
	color: #d4ece6;
	padding: 0.35rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.flowstate-fibro-hours-appt {
	color: #d4ece6;
	font-weight: normal;
}

.flowstate-fibro-location-details {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.flowstate-fibro-loc-item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.flowstate-fibro-loc-icon {
	color: #2dd4bf;
	flex-shrink: 0;
	margin-top: 2px;
}

.flowstate-fibro-loc-text {
	font-size: 0.95rem;
	color: #d4ece6;
	line-height: 1.5;
}

.flowstate-fibro-phone-link {
	color: #ffffff;
	text-decoration: underline;
}

.flowstate-fibro-phone-link:hover {
	color: #2dd4bf;
}

.flowstate-fibro-train-heading {
	display: block;
	margin-bottom: 0.5rem;
}

.flowstate-fibro-train-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.flowstate-fibro-map-card {
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
	position: relative;
}

.flowstate-fibro-map-container {
	position: relative;
}

.flowstate-fibro-map-overlay {
	background: #ffffff;
	padding: 1rem 1.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.flowstate-fibro-map-pin-info {
	font-size: 0.85rem;
	color: #334155;
	line-height: 1.35;
}

.flowstate-fibro-map-pin-info strong {
	color: #0a3d40;
}

.flowstate-fibro-map-link {
	font-size: 0.88rem;
	font-weight: 700;
	color: #0c7075;
	text-decoration: none;
}

.flowstate-fibro-map-link:hover {
	text-decoration: underline;
}

/* ==========================================================================
   FIBROMYALGIA RESPONSIVE BREAKPOINTS
   ========================================================================== */
@media (max-width: 1100px) {
	.flowstate-fibro-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-fibro-faq-layout {
		grid-template-columns: 1fr;
	}
	.flowstate-fibro-faq-side-grid {
		max-width: 600px;
		margin: 0 auto;
	}
	.flowstate-fibro-testimonials-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-fibro-testimonial-card:nth-child(n+2) {
		display: none;
	}
}

@media (max-width: 1024px) {
	.flowstate-fibro-hero__grid {
		grid-template-columns: 1fr;
	}
	.flowstate-fibro-neighborhood__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.flowstate-fibro-steps-flow {
		flex-wrap: wrap;
	}
	.flowstate-fibro-step-card {
		flex: 1 1 calc(50% - 15px);
	}
	.flowstate-fibro-step-arrow {
		display: none;
	}
	.flowstate-fibro-hours__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

@media (max-width: 768px) {
	.flowstate-fibro-props-row {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}
	.flowstate-fibro-faq-side-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-fibro-carousel-btn {
		display: none;
	}
}

@media (max-width: 640px) {
	.flowstate-fibro-cards-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-fibro-step-card {
		flex: 1 1 100%;
	}
	.flowstate-fibro-hero__title {
		font-size: 2.1rem;
	}
	.flowstate-fibro-hero-script-overlay {
		font-size: 1.8rem;
		top: 15px;
		right: 15px;
	}
	.flowstate-fibro-hero-teal-box {
		bottom: 15px;
		right: 15px;
		padding: 1rem 1.25rem;
	}
}

/* ==========================================================================
   32. TRIGEMINAL NEURALGIA CARE & SHARED BOTTOM CTA STYLES
   ========================================================================== */

/* Hero Section */
.flowstate-trigeminal-hero {
	background-color: #f7faf9;
	background-image: radial-gradient(circle at 85% 20%, rgba(12, 112, 117, 0.08) 0%, transparent 50%);
	padding: 2.5rem 0 4.5rem;
}

.flowstate-trigeminal-hero__grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 3.5rem;
	align-items: center;
}

.flowstate-trigeminal-hero__title {
	font-size: clamp(2.2rem, 3.8vw, 3.4rem);
	line-height: 1.15;
	font-weight: 800;
	color: #0a3d40;
	margin: 0.75rem 0 1.25rem;
}

.flowstate-trigeminal-subhead {
	color: #0c7075;
	font-weight: 700;
}

.flowstate-trigeminal-hero__desc {
	font-size: 1.1rem;
	line-height: 1.65;
	color: #334155;
	margin-bottom: 1.75rem;
	max-width: 540px;
}

.flowstate-trigeminal-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: 2rem;
}

.flowstate-trigeminal-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 3rem;
}

/* 4 Value Props Under Hero CTA Buttons */
.flowstate-trigeminal-props-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(10, 61, 64, 0.12);
}

.flowstate-trigeminal-prop-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.6rem;
}

.flowstate-trigeminal-prop-icon {
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-trigeminal-prop-title {
	font-size: 0.88rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.25;
}

/* Hero Right Visual & Overlays */
.flowstate-trigeminal-hero-image-wrapper {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 16px 40px rgba(10, 61, 64, 0.12);
}

.flowstate-trigeminal-hero-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-trigeminal-hero-script-overlay {
	position: absolute;
	top: 25px;
	right: 25px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.2vw, 2.75rem);
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.05;
	text-align: right;
	text-shadow: 0 2px 10px rgba(255, 255, 255, 0.85), 0 0 20px rgba(255, 255, 255, 0.6);
	pointer-events: none;
}

.flowstate-trigeminal-hero-teal-box {
	position: absolute;
	bottom: 25px;
	right: 25px;
	background-color: #0a3d40;
	color: #ffffff;
	padding: 1.25rem 1.75rem;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
	font-family: 'Jost', sans-serif;
	text-align: left;
}

.flowstate-trigeminal-teal-line {
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.3;
	color: #e2f1ee;
}

.flowstate-trigeminal-teal-line-highlight {
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.3;
	color: #ffffff;
}

.flowstate-trigeminal-teal-underline {
	width: 45px;
	height: 3px;
	background-color: #2dd4bf;
	margin-top: 0.6rem;
	border-radius: 2px;
}

/* Section 2: Neighborhood & Care Philosophy */
.flowstate-trigeminal-neighborhood-section {
	padding: 5rem 0;
	background-color: #ffffff;
}

.flowstate-trigeminal-neighborhood__grid {
	display: grid;
	grid-template-columns: 1fr 1.35fr 0.85fr;
	gap: 2.75rem;
	align-items: center;
}

.flowstate-trigeminal-doctor-card {
	position: relative;
}

.flowstate-trigeminal-dot-grid {
	position: absolute;
	top: -15px;
	left: -20px;
	width: 60px;
	height: 100px;
	background-image: radial-gradient(#0c7075 2px, transparent 2px);
	background-size: 12px 12px;
	opacity: 0.35;
	z-index: 0;
}

.flowstate-trigeminal-doctor-img-wrap {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.08);
	z-index: 1;
}

.flowstate-trigeminal-doctor-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-trigeminal-script-badge {
	position: absolute;
	top: 20px;
	left: 20px;
	font-family: 'Caveat', cursive;
	font-size: 1.85rem;
	color: #0a3d40;
	font-weight: 700;
	line-height: 1.1;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
}

.flowstate-trigeminal-neighborhood-title {
	font-size: clamp(1.85rem, 2.8vw, 2.4rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin: 0.5rem 0 1.25rem;
}

.flowstate-trigeminal-neighborhood-title em {
	font-style: italic;
	font-weight: 700;
	color: #0c7075;
}

.flowstate-trigeminal-narrative-text p {
	font-size: 1.02rem;
	line-height: 1.7;
	color: #334155;
	margin-bottom: 1rem;
}

.flowstate-trigeminal-quote-card {
	background: #f0f7f6;
	border: 1px solid rgba(12, 112, 117, 0.16);
	border-radius: 20px;
	padding: 2.75rem 2rem;
	position: relative;
	text-align: center;
	overflow: hidden;
}

.flowstate-trigeminal-quote-card::before {
	content: '';
	position: absolute;
	top: -20px;
	right: -20px;
	width: 140px;
	height: 140px;
	background: radial-gradient(circle, rgba(12, 112, 117, 0.08) 0%, transparent 70%);
	pointer-events: none;
}

.flowstate-trigeminal-quote-icon {
	font-size: 3.5rem;
	color: #0c7075;
	opacity: 0.35;
	font-family: serif;
	line-height: 1;
	margin-bottom: 0.5rem;
}

.flowstate-trigeminal-quote-text {
	font-size: 1.28rem;
	font-weight: 600;
	color: #0a3d40;
	line-height: 1.45;
	font-style: italic;
	margin: 0;
}

/* Section 3: How Chiropractic Care Can Help Trigeminal Neuralgia (Dark Teal) */
.flowstate-trigeminal-help-section {
	background-color: #0a3d40;
	padding: 5.5rem 0;
	position: relative;
}

.flowstate-trigeminal-help-header {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 3.5rem;
}

.flowstate-trigeminal-help-title {
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2;
	margin-bottom: 0.85rem;
}

.flowstate-trigeminal-help-subtitle {
	font-size: 1.15rem;
	color: #d4ece6;
	line-height: 1.6;
	margin: 0;
}

.flowstate-trigeminal-cards-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.75rem;
}

.flowstate-trigeminal-card {
	background-color: #ffffff;
	border-radius: 16px;
	padding: 2.5rem 1.75rem;
	text-align: center;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.flowstate-trigeminal-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
}

.flowstate-trigeminal-card__icon-wrap {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background-color: #f0f7f6;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.35rem;
}

.flowstate-trigeminal-card__title {
	font-size: 1.18rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.75rem;
	line-height: 1.3;
}

.flowstate-trigeminal-card__desc {
	font-size: 0.95rem;
	color: #475569;
	line-height: 1.55;
	margin: 0;
}

/* Section 4: What to Expect at Your First Visit */
.flowstate-trigeminal-expect-section {
	padding: 5.5rem 0;
	background-color: #ffffff;
}

.flowstate-trigeminal-expect-header {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 3.5rem;
}

.flowstate-trigeminal-expect-title {
	font-size: clamp(2rem, 3.4vw, 2.6rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.85rem;
}

.flowstate-trigeminal-expect-subtitle {
	font-size: 1.1rem;
	color: #475569;
	line-height: 1.6;
	margin: 0;
}

.flowstate-trigeminal-steps-flow {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 0.75rem;
}

.flowstate-trigeminal-step-card {
	flex: 1;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 2.25rem 1.4rem;
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.04);
}

.flowstate-trigeminal-step-badge {
	position: absolute;
	top: 15px;
	left: 15px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background-color: #0a3d40;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-trigeminal-step-icon {
	color: #0c7075;
	margin: 1.25rem 0 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-trigeminal-step-title {
	font-size: 1.12rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.5rem;
	line-height: 1.3;
}

.flowstate-trigeminal-step-desc {
	font-size: 0.92rem;
	color: #64748b;
	line-height: 1.5;
	margin: 0;
}

.flowstate-trigeminal-step-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0c7075;
	font-size: 1.6rem;
	font-weight: 700;
	padding: 0 0.25rem;
}

/* Section 5: FAQs & Value Proposition */
.flowstate-trigeminal-faq-section {
	padding: 5.5rem 0;
	background-color: #f7faf9;
}

.flowstate-trigeminal-faq-layout {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 3.5rem;
	align-items: start;
}

.flowstate-trigeminal-faq-title {
	font-size: clamp(2rem, 3.2vw, 2.5rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.5rem;
}

.flowstate-trigeminal-faq-subtitle {
	font-size: 1.05rem;
	color: #64748b;
	margin-bottom: 2rem;
}

.flowstate-trigeminal-faq-side-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	align-items: stretch;
}

.flowstate-trigeminal-faq-photo-card {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(10, 61, 64, 0.08);
	min-height: 380px;
}

.flowstate-trigeminal-faq-photo-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.flowstate-trigeminal-faq-script-overlay {
	position: absolute;
	top: 20px;
	left: 20px;
	font-family: 'Caveat', cursive;
	font-size: 2.1rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.05;
	text-shadow: 0 2px 10px rgba(255, 255, 255, 0.95);
	pointer-events: none;
}

.flowstate-trigeminal-invest-card {
	background-color: #ffffff;
	border: 1px solid rgba(12, 112, 117, 0.16);
	border-radius: 18px;
	padding: 2.25rem 1.75rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-shadow: 0 10px 28px rgba(10, 61, 64, 0.06);
}

.flowstate-trigeminal-invest-title {
	font-size: 1.45rem;
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.25;
	margin: 0 0 1.5rem;
}

.flowstate-trigeminal-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.flowstate-trigeminal-check-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.flowstate-trigeminal-check-icon {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #0c7075;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 700;
	flex-shrink: 0;
}

.flowstate-trigeminal-check-text {
	font-size: 0.96rem;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.35;
}

.flowstate-trigeminal-invest-btn {
	width: 100%;
	text-align: center;
	justify-content: center;
}

/* Section 6: Patient Stories */
.flowstate-trigeminal-stories-section {
	padding: 5.5rem 0;
	background-color: #f0f7f6;
	background-image: radial-gradient(circle at 10% 20%, rgba(12, 112, 117, 0.06) 0%, transparent 40%),
	                  radial-gradient(circle at 90% 80%, rgba(12, 112, 117, 0.06) 0%, transparent 40%);
}

.flowstate-trigeminal-stories-header {
	text-align: center;
	margin-bottom: 3.5rem;
}

.flowstate-trigeminal-stories-title {
	font-size: clamp(2rem, 3.4vw, 2.6rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.6rem;
}

.flowstate-trigeminal-stories-subtitle {
	font-size: 1.1rem;
	color: #475569;
	margin: 0;
}

.flowstate-trigeminal-stories-carousel-wrapper {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

.flowstate-trigeminal-carousel-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid #cbd5e1;
	background-color: #ffffff;
	color: #0a3d40;
	font-size: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.flowstate-trigeminal-carousel-btn:hover {
	background-color: #0a3d40;
	color: #ffffff;
	border-color: #0a3d40;
}

.flowstate-trigeminal-testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
	flex: 1;
}

.flowstate-trigeminal-testimonial-card {
	background-color: #ffffff;
	border-radius: 18px;
	padding: 2.25rem 2rem;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.06);
	border: 1px solid #e2e8f0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.flowstate-trigeminal-testimonial-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.75rem;
}

.flowstate-trigeminal-testimonial-quote-icon {
	font-size: 2.5rem;
	color: #0a3d40;
	font-family: serif;
	line-height: 1;
	opacity: 0.75;
}

.flowstate-trigeminal-stars {
	color: #f59e0b;
	font-size: 1.15rem;
	letter-spacing: 2px;
}

.flowstate-trigeminal-testimonial-quote {
	font-size: 1.05rem;
	line-height: 1.65;
	color: #334155;
	font-style: italic;
	margin: 0 0 1.25rem;
}

.flowstate-trigeminal-testimonial-author {
	font-size: 0.98rem;
	font-weight: 700;
	color: #0a3d40;
	text-align: right;
}

.flowstate-trigeminal-pagination-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 2.5rem;
}

.flowstate-trigeminal-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #cbd5e1;
	transition: all 0.3s ease;
}

.flowstate-trigeminal-dot.is-active {
	background-color: #0c7075;
	width: 24px;
	border-radius: 10px;
}

/* Section 7: Working Hours & Location */
.flowstate-trigeminal-hours-section {
	background-color: #0a3d40;
	color: #ffffff;
	padding: 5rem 0;
}

.flowstate-trigeminal-hours__grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr 1.2fr;
	gap: 3rem;
	align-items: start;
}

.flowstate-trigeminal-hours-title,
.flowstate-trigeminal-location-title {
	font-size: 1.35rem;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 1.5rem;
	line-height: 1.3;
}

.flowstate-trigeminal-hours-city {
	font-size: 1.05rem;
	font-weight: 700;
	color: #2dd4bf;
	margin-bottom: 0.75rem;
}

.flowstate-trigeminal-hours-list {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
}

.flowstate-trigeminal-hours-list li {
	font-size: 0.95rem;
	color: #d4ece6;
	padding: 0.35rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.flowstate-trigeminal-hours-appt {
	color: #d4ece6;
	font-weight: normal;
}

.flowstate-trigeminal-location-details {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.flowstate-trigeminal-loc-item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.flowstate-trigeminal-loc-icon {
	color: #2dd4bf;
	flex-shrink: 0;
	margin-top: 2px;
}

.flowstate-trigeminal-loc-text {
	font-size: 0.95rem;
	color: #d4ece6;
	line-height: 1.5;
}

.flowstate-trigeminal-phone-link {
	color: #ffffff;
	text-decoration: underline;
}

.flowstate-trigeminal-phone-link:hover {
	color: #2dd4bf;
}

.flowstate-trigeminal-train-heading {
	display: block;
	margin-bottom: 0.5rem;
}

.flowstate-trigeminal-train-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.flowstate-trigeminal-map-card {
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
	position: relative;
}

.flowstate-trigeminal-map-container {
	position: relative;
}

.flowstate-trigeminal-map-overlay {
	background: #ffffff;
	padding: 1rem 1.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.flowstate-trigeminal-map-pin-info {
	font-size: 0.85rem;
	color: #334155;
	line-height: 1.35;
}

.flowstate-trigeminal-map-pin-info strong {
	color: #0a3d40;
}

.flowstate-trigeminal-map-link {
	font-size: 0.88rem;
	font-weight: 700;
	color: #0c7075;
	text-decoration: none;
}

.flowstate-trigeminal-map-link:hover {
	text-decoration: underline;
}

/* ==========================================================================
   Section 8: Ready for a Brighter Tomorrow? (CTA Banner)
   Shared across Trigeminal & Fibromyalgia
   ========================================================================== */
.flowstate-trigeminal-bottom-cta,
.flowstate-fibro-bottom-cta {
	background-color: #e4f2ee;
	background-image: radial-gradient(circle at 15% 50%, rgba(12, 112, 117, 0.08) 0%, transparent 50%);
	padding: 4.5rem 0;
	position: relative;
	overflow: hidden;
}

.flowstate-trigeminal-bottom-cta__inner,
.flowstate-fibro-bottom-cta__inner {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}

.flowstate-trigeminal-bottom-cta__title,
.flowstate-fibro-bottom-cta__title {
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 1rem;
}

.flowstate-trigeminal-bottom-cta__desc,
.flowstate-fibro-bottom-cta__desc {
	font-size: 1.1rem;
	line-height: 1.65;
	color: #334155;
	margin-bottom: 2rem;
}

.flowstate-trigeminal-bottom-cta__action,
.flowstate-fibro-bottom-cta__action {
	display: flex;
	justify-content: center;
}

.flowstate-trigeminal-cta-btn,
.flowstate-fibro-cta-btn {
	padding: 0.9rem 2.2rem;
	font-size: 1.05rem;
}

.flowstate-trigeminal-bottom-cta__watermark,
.flowstate-fibro-bottom-cta__watermark {
	position: absolute;
	right: -100px;
	top: 50%;
	transform: translateY(-50%) rotate(-4deg);
	font-family: 'Caveat', cursive;
	font-size: clamp(2.2rem, 3.8vw, 3.2rem);
	color: #0a3d40;
	opacity: 0.45;
	font-weight: 700;
	line-height: 1.05;
	text-align: right;
	pointer-events: none;
}

/* ==========================================================================
   TRIGEMINAL RESPONSIVE BREAKPOINTS
   ========================================================================== */
@media (max-width: 1100px) {
	.flowstate-trigeminal-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-trigeminal-faq-layout {
		grid-template-columns: 1fr;
	}
	.flowstate-trigeminal-faq-side-grid {
		max-width: 600px;
		margin: 0 auto;
	}
	.flowstate-trigeminal-testimonials-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-trigeminal-testimonial-card:nth-child(n+2) {
		display: none;
	}
	.flowstate-trigeminal-bottom-cta__watermark,
	.flowstate-fibro-bottom-cta__watermark {
		display: none;
	}
}

@media (max-width: 1024px) {
	.flowstate-trigeminal-hero__grid {
		grid-template-columns: 1fr;
	}
	.flowstate-trigeminal-neighborhood__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.flowstate-trigeminal-steps-flow {
		flex-wrap: wrap;
	}
	.flowstate-trigeminal-step-card {
		flex: 1 1 calc(50% - 15px);
	}
	.flowstate-trigeminal-step-arrow {
		display: none;
	}
	.flowstate-trigeminal-hours__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

@media (max-width: 768px) {
	.flowstate-trigeminal-props-row {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}
	.flowstate-trigeminal-faq-side-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-trigeminal-carousel-btn {
		display: none;
	}
}

@media (max-width: 640px) {
	.flowstate-trigeminal-cards-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-trigeminal-step-card {
		flex: 1 1 100%;
	}
	.flowstate-trigeminal-hero__title {
		font-size: 2.1rem;
	}
	.flowstate-trigeminal-hero-script-overlay {
		font-size: 1.8rem;
		top: 15px;
		right: 15px;
	}
	.flowstate-trigeminal-hero-teal-box {
		bottom: 15px;
		right: 15px;
		padding: 1rem 1.25rem;
	}
}
/* ==========================================================================
   SECTION 33: VERTIGO & DIZZINESS RELIEF STYLES
   ========================================================================== */

/* --- 01. HERO SECTION --- */
.flowstate-vertigo-hero {
	background-color: #f7fbfa;
	background-image: radial-gradient(circle at 85% 15%, rgba(12, 112, 117, 0.07) 0%, transparent 55%);
	padding-top: 1.5rem;
	padding-bottom: 4.5rem;
	overflow: hidden;
}

.flowstate-vertigo-hero__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 3.5rem;
	align-items: center;
	margin-top: 1.5rem;
}

.flowstate-vertigo-hero__title {
	font-size: clamp(2.2rem, 3.8vw, 3.35rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.15;
	margin-top: 0.75rem;
	margin-bottom: 1.25rem;
	letter-spacing: -0.02em;
}

.flowstate-vertigo-subhead {
	color: #0c7075;
	font-weight: 700;
}

.flowstate-vertigo-hero__desc {
	font-size: 1.125rem;
	line-height: 1.7;
	color: #475569;
	margin-bottom: 1.75rem;
	max-width: 580px;
}

.flowstate-vertigo-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: 2rem;
}

.flowstate-vertigo-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	margin-bottom: 2.75rem;
}

/* 4 Value Props Row */
.flowstate-vertigo-props-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(10, 61, 64, 0.1);
}

.flowstate-vertigo-prop-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.65rem;
}

.flowstate-vertigo-prop-icon {
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: #e4f2ee;
	color: #0a3d40;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.25s ease, background-color 0.25s ease;
}

.flowstate-vertigo-prop-item:hover .flowstate-vertigo-prop-icon {
	transform: translateY(-3px);
	background: #0a3d40;
	color: #ffffff;
}

.flowstate-vertigo-prop-title {
	font-size: 0.88rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.3;
}

/* Hero Visual with Overlays */
.flowstate-vertigo-hero-image-wrapper {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 20px 45px rgba(10, 61, 64, 0.12);
}

.flowstate-vertigo-hero-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	border-radius: 24px;
}

.flowstate-vertigo-hero-script-overlay {
	position: absolute;
	top: 24px;
	right: 24px;
	font-family: 'Caveat', cursive;
	font-size: 2.4rem;
	color: #ffffff;
	font-weight: 700;
	line-height: 1.05;
	text-align: right;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
	pointer-events: none;
}

.flowstate-vertigo-hero-teal-box {
	position: absolute;
	bottom: 24px;
	right: 24px;
	background: #0a3d40;
	color: #ffffff;
	padding: 1.25rem 1.6rem;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.flowstate-vertigo-teal-line {
	font-size: 1.15rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.35;
}

.flowstate-vertigo-teal-line-highlight {
	font-size: 1.35rem;
	font-weight: 800;
	color: #ffffff;
	margin-top: 0.15rem;
}

.flowstate-vertigo-teal-underline {
	width: 48px;
	height: 3px;
	background: #e4b85c;
	margin-top: 0.6rem;
	border-radius: 2px;
}

/* --- 02. DOCTOR STORY & PHILOSOPHY --- */
.flowstate-vertigo-story-section {
	padding: 5.5rem 0;
	background: #ffffff;
}

.flowstate-vertigo-story__grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 4rem;
	align-items: center;
}

.flowstate-vertigo-doctor-card {
	position: relative;
}

.flowstate-vertigo-dot-grid {
	position: absolute;
	top: -20px;
	left: -20px;
	width: 140px;
	height: 140px;
	background-image: radial-gradient(#0c7075 1.5px, transparent 1.5px);
	background-size: 14px 14px;
	opacity: 0.3;
	z-index: 0;
}

.flowstate-vertigo-doctor-img-wrap {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 16px 36px rgba(10, 61, 64, 0.1);
	z-index: 1;
}

.flowstate-vertigo-doctor-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-vertigo-doctor-script-overlay {
	position: absolute;
	bottom: 20px;
	right: 20px;
	font-family: 'Caveat', cursive;
	font-size: 2.1rem;
	color: #ffffff;
	font-weight: 700;
	line-height: 1.1;
	text-align: right;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55);
	pointer-events: none;
}

.flowstate-vertigo-quote-box {
	background: #f0f7f6;
	border-left: 4px solid #0c7075;
	padding: 1.25rem 1.6rem;
	border-radius: 0 12px 12px 0;
	margin-bottom: 1.75rem;
}

.flowstate-vertigo-quote-text {
	font-size: 1.18rem;
	font-weight: 600;
	font-style: italic;
	color: #0a3d40;
	line-height: 1.5;
	margin: 0;
}

.flowstate-vertigo-story__title {
	font-size: clamp(1.9rem, 3.2vw, 2.6rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-top: 0.5rem;
	margin-bottom: 1.25rem;
}

.flowstate-vertigo-story__body p {
	font-size: 1.05rem;
	line-height: 1.75;
	color: #475569;
	margin-bottom: 1.25rem;
}

.flowstate-vertigo-story-checklist {
	list-style: none;
	padding: 0;
	margin: 1.75rem 0 2.25rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.flowstate-vertigo-story-checklist li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 1rem;
	font-weight: 600;
	color: #1e293b;
}

.flowstate-vertigo-story-checklist svg {
	color: #0c7075;
	flex-shrink: 0;
}

/* --- 03. TARGETED RELIEF BENEFITS (DARK TEAL) --- */
.flowstate-vertigo-benefits-section {
	background: #0a3d40;
	padding: 5.5rem 0;
	color: #ffffff;
}

.flowstate-vertigo-benefits-header {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 3.5rem auto;
}

.flowstate-vertigo-benefits-subtitle {
	color: #e4f2ee;
	font-size: 1.15rem;
	line-height: 1.6;
	margin-top: 0.75rem;
}

.flowstate-vertigo-benefits-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.75rem;
}

.flowstate-vertigo-benefit-card {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 18px;
	padding: 2rem 1.6rem;
	transition: transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.flowstate-vertigo-benefit-card:hover {
	transform: translateY(-5px);
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.25);
}

.flowstate-vertigo-benefit-icon-wrap {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: rgba(228, 242, 238, 0.15);
	color: #e4b85c;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
}

.flowstate-vertigo-benefit-card-title {
	font-size: 1.2rem;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 0.75rem;
	line-height: 1.35;
}

.flowstate-vertigo-benefit-card-desc {
	font-size: 0.95rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.82);
	margin: 0;
}

/* --- 04. 4-STEP PROCESS JOURNEY --- */
.flowstate-vertigo-process-section {
	padding: 5.5rem 0;
	background: #f7fbfa;
}

.flowstate-vertigo-process-header {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 3.5rem auto;
}

.flowstate-vertigo-process-title {
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-top: 0.5rem;
}

.flowstate-vertigo-process-lead {
	font-size: 1.1rem;
	color: #475569;
	margin-top: 0.75rem;
}

.flowstate-vertigo-process-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.75rem;
	margin-bottom: 3rem;
}

.flowstate-vertigo-process-card {
	background: #ffffff;
	border: 1px solid rgba(10, 61, 64, 0.08);
	border-radius: 18px;
	padding: 2.25rem 1.6rem;
	position: relative;
	box-shadow: 0 4px 20px rgba(10, 61, 64, 0.04);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-vertigo-process-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.09);
}

.flowstate-vertigo-process-step-num {
	font-size: 2.5rem;
	font-weight: 800;
	color: #e4f2ee;
	line-height: 1;
	margin-bottom: 1rem;
	font-family: 'Jost', sans-serif;
	letter-spacing: -0.04em;
}

.flowstate-vertigo-process-card-title {
	font-size: 1.22rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.75rem;
	line-height: 1.35;
}

.flowstate-vertigo-process-card-desc {
	font-size: 0.95rem;
	line-height: 1.65;
	color: #475569;
	margin: 0;
}

.flowstate-vertigo-process-cta {
	text-align: center;
}

/* --- 05. FAQ & CHECKLIST SECTION --- */
.flowstate-vertigo-faq-section {
	padding: 5.5rem 0;
	background: #ffffff;
}

.flowstate-vertigo-faq-header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3.5rem auto;
}

.flowstate-vertigo-faq-title {
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-top: 0.5rem;
}

.flowstate-vertigo-faq-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 3.5rem;
	align-items: start;
}

.flowstate-vertigo-relief-photo-wrap {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 14px 32px rgba(10, 61, 64, 0.08);
	margin-bottom: 1.75rem;
}

.flowstate-vertigo-relief-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-vertigo-relief-script-overlay {
	position: absolute;
	top: 20px;
	right: 20px;
	font-family: 'Caveat', cursive;
	font-size: 2.1rem;
	color: #ffffff;
	font-weight: 700;
	line-height: 1.1;
	text-align: right;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55);
	pointer-events: none;
}

.flowstate-vertigo-checklist-card {
	background: #e4f2ee;
	border-radius: 20px;
	padding: 2.25rem 2rem;
	border: 1px solid rgba(12, 112, 117, 0.15);
}

.flowstate-vertigo-checklist-card-title {
	font-size: 1.35rem;
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	line-height: 1.3;
}

.flowstate-vertigo-checklist-items {
	list-style: none;
	padding: 0;
	margin: 0 0 1.75rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.flowstate-vertigo-checklist-items li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.45;
}

.flowstate-vertigo-checklist-items svg {
	color: #0c7075;
	flex-shrink: 0;
	margin-top: 2px;
}

/* --- 06. WORKING HOURS & LOCATION (DARK TEAL) --- */
.flowstate-vertigo-location-section {
	background: #0a3d40;
	padding: 5.5rem 0;
	color: #ffffff;
}

.flowstate-vertigo-location__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: center;
}

.flowstate-vertigo-location__title {
	margin-top: 0.5rem;
	margin-bottom: 2rem;
}

.flowstate-vertigo-location-item {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	margin-bottom: 2rem;
}

.flowstate-vertigo-location-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(228, 242, 238, 0.15);
	color: #e4b85c;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-vertigo-location-item-label {
	font-size: 1.1rem;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 0.35rem;
}

.flowstate-vertigo-location-item-val {
	font-size: 1.05rem;
	font-weight: 600;
	color: #e4f2ee;
	margin: 0 0 0.25rem 0;
}

.flowstate-vertigo-location-subtext {
	font-size: 0.88rem;
	color: rgba(255, 255, 255, 0.7);
	margin: 0;
}

.flowstate-vertigo-hours-block {
	flex-grow: 1;
}

.flowstate-vertigo-hours-row {
	display: flex;
	justify-content: space-between;
	padding: 0.4rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 0.95rem;
	color: rgba(255, 255, 255, 0.9);
}

.flowstate-vertigo-hours-row.is-closed {
	color: rgba(255, 255, 255, 0.6);
	font-style: italic;
	border-bottom: none;
}

.flowstate-vertigo-transit-wrap {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.flowstate-vertigo-subway-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.75rem 0;
}

.flowstate-vertigo-map-wrapper {
	border-radius: 20px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.05);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.3);
}

.flowstate-vertigo-map-wrapper iframe {
	width: 100%;
	display: block;
}

.flowstate-vertigo-map-footer {
	padding: 1.25rem;
	background: rgba(10, 61, 64, 0.95);
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* --- 07. BOTTOM CTA BANNER WITH WATERMARK --- */
.flowstate-vertigo-cta-banner {
	background-color: #e4f2ee;
	background-image: radial-gradient(circle at 15% 50%, rgba(12, 112, 117, 0.08) 0%, transparent 50%);
	padding: 5rem 0;
	position: relative;
	overflow: hidden;
	text-align: center;
}

.flowstate-vertigo-watermark {
	position: absolute;
	right: -60px;
	top: 50%;
	transform: translateY(-50%) rotate(-4deg);
	font-family: 'Caveat', cursive;
	font-size: clamp(2.2rem, 3.8vw, 3.4rem);
	color: #0a3d40;
	opacity: 0.4;
	font-weight: 700;
	line-height: 1.05;
	text-align: right;
	pointer-events: none;
}

.flowstate-vertigo-cta-banner__container {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
}

.flowstate-vertigo-cta-banner__title {
	font-size: clamp(2.2rem, 3.6vw, 3rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-top: 0.5rem;
	margin-bottom: 1rem;
}

.flowstate-vertigo-cta-banner__desc {
	font-size: 1.125rem;
	line-height: 1.65;
	color: #334155;
	margin-bottom: 2rem;
}

.flowstate-vertigo-cta-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
	align-items: center;
}

/* ==========================================================================
   VERTIGO RESPONSIVE BREAKPOINTS
   ========================================================================== */
@media (max-width: 1100px) {
	.flowstate-vertigo-benefits-grid,
	.flowstate-vertigo-process-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.flowstate-vertigo-faq-grid {
		grid-template-columns: 1fr;
	}

	.flowstate-vertigo-faq-visual-col {
		max-width: 600px;
		margin: 0 auto;
	}

	.flowstate-vertigo-watermark {
		display: none;
	}
}

@media (max-width: 1024px) {
	.flowstate-vertigo-hero__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.flowstate-vertigo-story__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.flowstate-vertigo-location__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

@media (max-width: 768px) {
	.flowstate-vertigo-props-row {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.25rem;
	}
}

@media (max-width: 640px) {
	.flowstate-vertigo-benefits-grid,
	.flowstate-vertigo-process-grid {
		grid-template-columns: 1fr;
	}

	.flowstate-vertigo-hero__title {
		font-size: 2.1rem;
	}

	.flowstate-vertigo-hero-script-overlay {
		font-size: 1.8rem;
		top: 15px;
		right: 15px;
	}

	.flowstate-vertigo-hero-teal-box {
		bottom: 15px;
		right: 15px;
		padding: 1rem 1.25rem;
	}
}

/* ==========================================================================
   SECTION 34: QUIROPRÃCTICO EN LOWER MANHATTAN (SPANISH LANDING PAGE) STYLES
   ========================================================================== */

/* --- 01. HERO SECTION --- */
.flowstate-quiro-hero {
	background-color: #f7fbfa;
	background-image: radial-gradient(circle at 85% 15%, rgba(12, 112, 117, 0.08) 0%, transparent 60%);
	padding-top: 1.5rem;
	padding-bottom: 4.5rem;
	overflow: hidden;
}

.flowstate-quiro-hero__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 3.5rem;
	align-items: center;
	margin-top: 1.5rem;
}

.flowstate-quiro-hero__title {
	font-size: clamp(2.3rem, 4vw, 3.5rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.15;
	margin-top: 0.75rem;
	margin-bottom: 0.85rem;
	letter-spacing: -0.02em;
}

.flowstate-quiro-hero__script {
	font-family: 'Caveat', cursive;
	font-size: clamp(2.6rem, 4.4vw, 3.8rem);
	color: #bfa145;
	display: block;
	font-weight: 700;
	line-height: 1.05;
	margin-top: 0.25rem;
}

.flowstate-quiro-hero__subhead {
	font-size: 1.05rem;
	font-weight: 700;
	color: #0c7075;
	margin-bottom: 1rem;
	line-height: 1.4;
}

.flowstate-quiro-hero__desc {
	font-size: 1.125rem;
	line-height: 1.7;
	color: #475569;
	margin-bottom: 2rem;
	max-width: 580px;
}

/* 4 Icon Badges Row */
.flowstate-quiro-hero-badges {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	margin-bottom: 2.25rem;
	padding-top: 1rem;
}

.flowstate-quiro-badge-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.6rem;
}

.flowstate-quiro-badge-icon {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #ffffff;
	border: 1.5px solid rgba(12, 112, 117, 0.2);
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(10, 61, 64, 0.05);
	transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}

.flowstate-quiro-badge-item:hover .flowstate-quiro-badge-icon {
	transform: translateY(-3px);
	background: #0a3d40;
	color: #ffffff;
	border-color: #0a3d40;
}

.flowstate-quiro-badge-label {
	font-size: 0.85rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.3;
}

.flowstate-quiro-hero__actions {
	margin-bottom: 1rem;
}

.flowstate-quiro-hero__actions .flowstate-btn {
	padding: 0.95rem 2.2rem;
	font-size: 1.05rem;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.18);
}

/* Hero Right Visual */
.flowstate-quiro-hero-image-wrapper {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 20px 45px rgba(10, 61, 64, 0.14);
}

.flowstate-quiro-hero-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	border-radius: 24px;
}

.flowstate-quiro-hero-script-overlay {
	position: absolute;
	top: 24px;
	right: 24px;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.2vw, 2.75rem);
	color: #ffffff;
	font-weight: 700;
	line-height: 1.1;
	text-align: right;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
	pointer-events: none;
	max-width: 280px;
}

.flowstate-quiro-hero-teal-box {
	position: absolute;
	bottom: 24px;
	right: 24px;
	background: #0a3d40;
	color: #ffffff;
	padding: 1.25rem 1.6rem;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.flowstate-quiro-teal-line {
	font-size: 1.15rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.35;
}

.flowstate-quiro-teal-line-highlight {
	font-size: 1.35rem;
	font-weight: 800;
	color: #ffffff;
	margin-top: 0.15rem;
}

/* --- 02. SU DOCTOR, SU COMUNIDAD --- */
.flowstate-quiro-doctor-section {
	padding: 5.5rem 0;
	background: #ffffff;
}

.flowstate-quiro-doctor__grid {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr 0.8fr;
	gap: 3.5rem;
	align-items: center;
}

.flowstate-quiro-doctor-card {
	position: relative;
}

.flowstate-quiro-dot-grid {
	position: absolute;
	top: -20px;
	left: -20px;
	width: 140px;
	height: 140px;
	background-image: radial-gradient(#0c7075 1.5px, transparent 1.5px);
	background-size: 14px 14px;
	opacity: 0.3;
	z-index: 0;
}

.flowstate-quiro-doctor-img-wrap {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 16px 36px rgba(10, 61, 64, 0.1);
	z-index: 1;
}

.flowstate-quiro-doctor-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-quiro-doctor-script-badge {
	position: absolute;
	top: 18px;
	left: 18px;
	font-family: 'Caveat', cursive;
	font-size: 1.85rem;
	color: #ffffff;
	font-weight: 700;
	line-height: 1.1;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
	pointer-events: none;
	max-width: 180px;
}

.flowstate-quiro-doctor__title {
	font-size: clamp(2rem, 3vw, 2.6rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-top: 0.4rem;
	margin-bottom: 1.25rem;
}

.flowstate-quiro-doctor__subhead {
	font-size: 1.2rem;
	font-weight: 600;
	color: #0c7075;
}

.flowstate-quiro-doctor__body p {
	font-size: 1.05rem;
	line-height: 1.75;
	color: #475569;
	margin-bottom: 1.25rem;
}

.flowstate-quiro-doctor__actions {
	margin-top: 1.75rem;
}

.flowstate-quiro-quote-card {
	background: #ffffff;
	border: 1px solid rgba(10, 61, 64, 0.08);
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.06);
	border-radius: 20px;
	padding: 2.5rem 2rem;
	position: relative;
}

.flowstate-quiro-quote-mark {
	font-family: Georgia, serif;
	font-size: 4.5rem;
	color: #0c7075;
	line-height: 1;
	margin-bottom: -1rem;
}

.flowstate-quiro-quote-text {
	font-size: 1.22rem;
	font-style: italic;
	font-weight: 600;
	color: #0a3d40;
	line-height: 1.55;
	margin: 0;
}

/* --- 03. NUESTRA MISIÃ“N (DARK TEAL PILLARS) --- */
.flowstate-quiro-mission-section {
	background: #0a3d40;
	padding: 5rem 0;
	color: #ffffff;
}

.flowstate-quiro-mission-header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3.5rem auto;
}

.flowstate-quiro-mission__title {
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 0.75rem;
}

.flowstate-quiro-mission__subtitle {
	color: #e4f2ee;
	font-size: 1.15rem;
	line-height: 1.65;
	margin: 0;
}

.flowstate-quiro-mission-pillars {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	max-width: 960px;
	margin: 0 auto;
}

.flowstate-quiro-pillar-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.85rem;
}

.flowstate-quiro-pillar-icon {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: rgba(228, 242, 238, 0.12);
	border: 1.5px solid rgba(228, 242, 238, 0.25);
	color: #e4b85c;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.25s ease, background-color 0.25s ease;
}

.flowstate-quiro-pillar-item:hover .flowstate-quiro-pillar-icon {
	transform: scale(1.08);
	background: rgba(228, 242, 238, 0.22);
}

.flowstate-quiro-pillar-label {
	font-size: 0.98rem;
	font-weight: 700;
	color: #ffffff;
	line-height: 1.35;
}

/* --- 04. Â¿CÃ“MO PODEMOS AYUDARLE? (6 CARDS GRID) --- */
.flowstate-quiro-services-section {
	padding: 5.5rem 0;
	background: #f7fbfa;
}

.flowstate-quiro-services-header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3.5rem auto;
}

.flowstate-quiro-services-title {
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.6rem;
}

.flowstate-quiro-services-subtitle {
	color: #475569;
	font-size: 1.1rem;
	margin: 0;
}

.flowstate-quiro-services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
}

.flowstate-quiro-service-card {
	background: #ffffff;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid rgba(10, 61, 64, 0.08);
	display: flex;
	align-items: center;
	padding: 1.2rem;
	gap: 1.2rem;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 4px 18px rgba(10, 61, 64, 0.04);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.flowstate-quiro-service-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(10, 61, 64, 0.09);
	border-color: rgba(12, 112, 117, 0.3);
}

.flowstate-quiro-service-card__thumb {
	width: 82px;
	height: 82px;
	border-radius: 14px;
	overflow: hidden;
	flex-shrink: 0;
}

.flowstate-quiro-service-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.flowstate-quiro-service-card__info {
	flex-grow: 1;
}

.flowstate-quiro-service-card__title {
	font-size: 1.08rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.3rem;
	line-height: 1.3;
}

.flowstate-quiro-service-card__desc {
	font-size: 0.88rem;
	color: #64748b;
	line-height: 1.45;
	margin: 0;
}

.flowstate-quiro-service-card__arrow {
	font-size: 1.25rem;
	color: #0c7075;
	flex-shrink: 0;
	transition: transform 0.25s ease;
}

.flowstate-quiro-service-card:hover .flowstate-quiro-service-card__arrow {
	transform: translateX(4px);
}

/* --- 05. UNA EXPERIENCIA DIFERENTE --- */
.flowstate-quiro-experience-section {
	padding: 5.5rem 0;
	background: #ffffff;
}

.flowstate-quiro-experience-header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3.5rem auto;
}

.flowstate-quiro-experience-title {
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.6rem;
}

.flowstate-quiro-experience-subtitle {
	color: #475569;
	font-size: 1.1rem;
	margin: 0;
}

.flowstate-quiro-experience-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	border: 1px solid rgba(10, 61, 64, 0.1);
	border-radius: 20px;
	overflow: hidden;
}

.flowstate-quiro-exp-col {
	padding: 2.75rem 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	border-right: 1px solid rgba(10, 61, 64, 0.1);
	transition: background-color 0.25s ease;
}

.flowstate-quiro-exp-col:last-child {
	border-right: none;
}

.flowstate-quiro-exp-col:hover {
	background: #f0f7f6;
}

.flowstate-quiro-exp-icon {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #e4f2ee;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5rem;
}

.flowstate-quiro-exp-title {
	font-size: 1.18rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.75rem;
	line-height: 1.35;
}

.flowstate-quiro-exp-desc {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #475569;
	margin: 0;
}

/* --- 06. Â¿SIN SEGURO? NO SE PREOCUPE. --- */
.flowstate-quiro-insurance-section {
	padding: 3rem 0 5.5rem 0;
	background: #ffffff;
}

.flowstate-quiro-insurance-box {
	background: #e4f2ee;
	border-radius: 24px;
	padding: 3rem 3.5rem;
	border: 1px solid rgba(12, 112, 117, 0.15);
	position: relative;
	overflow: hidden;
}

.flowstate-quiro-insurance__grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 3.5rem;
	align-items: center;
}

.flowstate-quiro-insurance-photo-wrap {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-quiro-insurance-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-quiro-insurance-script-overlay {
	position: absolute;
	top: 18px;
	left: 18px;
	font-family: 'Caveat', cursive;
	font-size: 1.9rem;
	color: #ffffff;
	font-weight: 700;
	line-height: 1.1;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
	pointer-events: none;
	max-width: 180px;
}

.flowstate-quiro-insurance-title {
	font-size: clamp(2rem, 3.2vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 1rem;
}

.flowstate-quiro-gold-script {
	font-family: 'Caveat', cursive;
	font-size: clamp(2.3rem, 3.6vw, 3rem);
	color: #bfa145;
	font-weight: 700;
}

.flowstate-quiro-insurance-text {
	font-size: 1.1rem;
	line-height: 1.75;
	color: #334155;
	margin-bottom: 2rem;
}

/* --- 07. Â¿CÃ“MO FUNCIONA? --- */
.flowstate-quiro-process-section {
	padding: 5.5rem 0;
	background: #f7fbfa;
}

.flowstate-quiro-process-header {
	text-align: center;
	margin-bottom: 3.5rem;
}

.flowstate-quiro-process-title {
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
}

.flowstate-quiro-process-flow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.flowstate-quiro-step-card {
	flex: 1 1 0;
	background: #ffffff;
	border: 1px solid rgba(10, 61, 64, 0.08);
	border-radius: 18px;
	padding: 2.25rem 1.6rem;
	text-align: center;
	box-shadow: 0 4px 18px rgba(10, 61, 64, 0.04);
	position: relative;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-quiro-step-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 28px rgba(10, 61, 64, 0.09);
}

.flowstate-quiro-step-badge {
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #0a3d40;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-quiro-step-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #e4f2ee;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0.5rem auto 1.25rem auto;
}

.flowstate-quiro-step-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.6rem;
	line-height: 1.35;
}

.flowstate-quiro-step-desc {
	font-size: 0.92rem;
	line-height: 1.6;
	color: #64748b;
	margin: 0;
}

.flowstate-quiro-step-arrow {
	font-size: 1.5rem;
	color: #0c7075;
	opacity: 0.6;
	flex-shrink: 0;
}

/* --- 08. PREGUNTAS FRECUENTES + FOTO + CHECKLIST --- */
.flowstate-quiro-faq-section {
	padding: 5.5rem 0;
	background: #ffffff;
}

.flowstate-quiro-faq-layout {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr 1fr;
	gap: 2.5rem;
	align-items: start;
}

.flowstate-quiro-faq-title {
	font-size: clamp(2rem, 3.2vw, 2.6rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.5rem;
}

.flowstate-quiro-faq-subtitle {
	font-size: 1.05rem;
	color: #64748b;
	margin-bottom: 2rem;
}

.flowstate-quiro-street-wrap {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-quiro-street-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.flowstate-quiro-street-script-overlay {
	position: absolute;
	top: 24px;
	left: 20px;
	right: 20px;
	font-family: 'Caveat', cursive;
	font-size: 2.1rem;
	color: #ffffff;
	font-weight: 700;
	line-height: 1.1;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
	pointer-events: none;
}

.flowstate-quiro-checklist-card {
	background: #e4f2ee;
	border-radius: 20px;
	padding: 2.25rem 2rem;
	border: 1px solid rgba(12, 112, 117, 0.15);
}

.flowstate-quiro-checklist-card-title {
	font-size: 1.35rem;
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 1.25rem;
	line-height: 1.3;
}

.flowstate-quiro-checklist-items {
	list-style: none;
	padding: 0;
	margin: 0 0 1.75rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.flowstate-quiro-checklist-items li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.45;
}

.flowstate-quiro-checklist-items svg {
	color: #0c7075;
	flex-shrink: 0;
	margin-top: 2px;
}

/* --- 09. Â¿LISTO PARA SENTIRSE MEJOR? --- */
.flowstate-quiro-cta-banner {
	background: #e4f2ee;
	background-image: radial-gradient(circle at 15% 50%, rgba(12, 112, 117, 0.08) 0%, transparent 50%);
	padding: 4.5rem 0;
	text-align: center;
}

.flowstate-quiro-cta-banner__container {
	max-width: 720px;
	margin: 0 auto;
}

.flowstate-quiro-cta-banner__title {
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.85rem;
}

.flowstate-quiro-cta-banner__desc {
	font-size: 1.1rem;
	color: #475569;
	margin-bottom: 2rem;
	line-height: 1.65;
}

/* --- 10. HORARIOS & UBICACIÃ“N --- */
.flowstate-quiro-location-section {
	background: #0a3d40;
	padding: 5.5rem 0;
	color: #ffffff;
}

.flowstate-quiro-location__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 3rem;
	align-items: start;
}

.flowstate-quiro-location-heading {
	font-size: 1.25rem;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 0.6rem;
}

.flowstate-quiro-city-badge {
	font-size: 0.9rem;
	color: #e4b85c;
	font-weight: 600;
	display: block;
	margin-bottom: 1.25rem;
}

.flowstate-quiro-hours-list {
	display: flex;
	flex-direction: column;
}

.flowstate-quiro-hours-row {
	display: flex;
	justify-content: space-between;
	padding: 0.45rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 0.95rem;
	color: rgba(255, 255, 255, 0.9);
}

.flowstate-quiro-hours-row.is-closed {
	color: rgba(255, 255, 255, 0.6);
	font-style: italic;
	border-bottom: none;
}

.flowstate-quiro-contact-item {
	display: flex;
	gap: 1rem;
	align-items: center;
	margin-bottom: 1.25rem;
}

.flowstate-quiro-contact-icon {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: rgba(228, 242, 238, 0.15);
	color: #e4b85c;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-quiro-contact-text {
	font-size: 1rem;
	color: #e4f2ee;
	margin: 0;
	line-height: 1.45;
}

.flowstate-quiro-phone-link {
	color: #ffffff;
	font-weight: 700;
	text-decoration: none;
}

.flowstate-quiro-phone-link:hover {
	text-decoration: underline;
}

.flowstate-quiro-transit-wrap {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.flowstate-quiro-transit-label {
	font-size: 0.92rem;
	color: rgba(255, 255, 255, 0.8);
	margin-bottom: 0.75rem;
}

.flowstate-quiro-subway-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.flowstate-quiro-map-box {
	border-radius: 18px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.05);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
}

.flowstate-quiro-map-box iframe {
	width: 100%;
	display: block;
}

.flowstate-quiro-map-footer {
	padding: 1rem;
	background: rgba(10, 61, 64, 0.95);
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.flowstate-quiro-map-btn {
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
}

.flowstate-quiro-map-btn:hover {
	text-decoration: underline;
}

/* --- 11. SPANISH FOOTER BAR --- */
.flowstate-quiro-footer {
	background: #ffffff;
	border-top: 1px solid #e2e8f0;
	padding: 3rem 0 2rem 0;
}

.flowstate-quiro-footer__main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #e2e8f0;
}

.flowstate-quiro-footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}

.flowstate-quiro-footer-links a {
	color: #475569;
	font-size: 0.95rem;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s ease;
}

.flowstate-quiro-footer-links a:hover {
	color: #0c7075;
}

.flowstate-quiro-footer__meta {
	display: flex;
	align-items: center;
	gap: 2rem;
}

.flowstate-quiro-footer-locations {
	display: flex;
	gap: 1rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: #0a3d40;
}

.flowstate-quiro-footer-socials {
	display: flex;
	gap: 0.75rem;
}

.flowstate-quiro-footer-socials .social-icon {
	color: #0a3d40;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.2s ease;
}

.flowstate-quiro-footer-socials .social-icon:hover {
	color: #0c7075;
}

.flowstate-quiro-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding-top: 1.5rem;
	font-size: 0.85rem;
	color: #64748b;
}

.flowstate-quiro-footer__bottom p {
	margin: 0;
}

.flowstate-quiro-footer__legal {
	display: flex;
	gap: 0.5rem;
}

.flowstate-quiro-footer__legal a {
	color: #64748b;
	text-decoration: none;
}

.flowstate-quiro-footer__legal a:hover {
	text-decoration: underline;
}

/* ==========================================================================
   QUIROPRÃCTICO RESPONSIVE BREAKPOINTS
   ========================================================================== */
@media (max-width: 1100px) {
	.flowstate-quiro-doctor__grid {
		grid-template-columns: 1fr 1fr;
	}

	.flowstate-quiro-doctor-quote-col {
		grid-column: span 2;
	}

	.flowstate-quiro-services-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.flowstate-quiro-faq-layout {
		grid-template-columns: 1fr 1fr;
	}

	.flowstate-quiro-street-photo-col {
		display: none;
	}

	.flowstate-quiro-location__grid {
		grid-template-columns: 1fr 1fr;
	}

	.flowstate-quiro-map-col {
		grid-column: span 2;
	}
}

@media (max-width: 1024px) {
	.flowstate-quiro-hero__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.flowstate-quiro-experience-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.flowstate-quiro-exp-col:nth-child(2) {
		border-right: none;
	}

	.flowstate-quiro-exp-col:nth-child(-n+2) {
		border-bottom: 1px solid rgba(10, 61, 64, 0.1);
	}

	.flowstate-quiro-insurance__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.flowstate-quiro-process-flow {
		flex-wrap: wrap;
	}

	.flowstate-quiro-step-card {
		flex: 1 1 calc(50% - 15px);
	}

	.flowstate-quiro-step-arrow {
		display: none;
	}
}

@media (max-width: 768px) {
	.flowstate-quiro-hero-badges {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}

	.flowstate-quiro-mission-pillars {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.75rem;
	}

	.flowstate-quiro-services-grid {
		grid-template-columns: 1fr;
	}

	.flowstate-quiro-faq-layout {
		grid-template-columns: 1fr;
	}

	.flowstate-quiro-location__grid {
		grid-template-columns: 1fr;
	}

	.flowstate-quiro-map-col {
		grid-column: span 1;
	}
}

@media (max-width: 640px) {
	.flowstate-quiro-hero__title {
		font-size: 2.1rem;
	}

	.flowstate-quiro-hero__script {
		font-size: 2.4rem;
	}

	.flowstate-quiro-experience-grid {
		grid-template-columns: 1fr;
	}

	.flowstate-quiro-exp-col {
		border-right: none;
		border-bottom: 1px solid rgba(10, 61, 64, 0.1);
	}

	.flowstate-quiro-step-card {
		flex: 1 1 100%;
	}

	.flowstate-quiro-doctor__grid {
		grid-template-columns: 1fr;
	}

	.flowstate-quiro-doctor-quote-col {
		grid-column: span 1;
	}
}

/* ==========================================================================
   SECTION 35: CHIROPRACTIC VIDEOS & EDUCATION STYLES
   Pixel-accurate matching media_1789370129615.png
   ========================================================================== */

/* 1. Video Hero Section */
.flowstate-video-hero {
	background: linear-gradient(180deg, #f7fbfa 0%, #eaf5f1 100%);
	padding-top: clamp(2rem, 3.5vw, 3rem);
	padding-bottom: clamp(3rem, 5vw, 4.5rem);
	position: relative;
	overflow: hidden;
}

.flowstate-video-hero .flowstate-breadcrumb {
	margin-bottom: 1.5rem;
}

.flowstate-video-hero__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}

.flowstate-video-hero__title {
	font-size: clamp(2.4rem, 4.2vw, 3.4rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.15;
	margin-bottom: 1.25rem;
}

.flowstate-video-hero__script {
	font-family: 'Caveat', cursive, sans-serif;
	font-size: clamp(2.2rem, 3.8vw, 3rem);
	color: #2b7049;
	display: block;
	font-weight: 700;
	line-height: 1.1;
	margin-top: 0.35rem;
	transform: rotate(-1deg);
}

.flowstate-video-hero__desc {
	font-size: 1.05rem;
	color: #475569;
	line-height: 1.65;
	margin-bottom: 2rem;
	max-width: 600px;
}

/* 4 Feature Badges in a Row */
.flowstate-video-hero-badges {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-top: 1.5rem;
}

.flowstate-video-badge-item {
	background: #ffffff;
	border: 1px solid rgba(10, 61, 64, 0.12);
	border-radius: 9999px;
	padding: 0.45rem 0.85rem 0.45rem 0.55rem;
	display: flex;
	align-items: center;
	gap: 10px;
	box-shadow: 0 4px 12px rgba(10, 61, 64, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.flowstate-video-badge-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(10, 61, 64, 0.08);
}

.flowstate-video-badge-icon {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #e2f2ee;
	color: #0a3d40;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-video-badge-text {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.flowstate-video-badge-title {
	font-size: 0.78rem;
	font-weight: 700;
	color: #0a3d40;
	white-space: nowrap;
}

.flowstate-video-badge-sub {
	font-size: 0.68rem;
	color: #64748b;
	white-space: nowrap;
}

/* Hero Right Visual */
.flowstate-video-hero__visual {
	position: relative;
}

.flowstate-video-hero__photo-wrapper {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 20px 44px rgba(10, 61, 64, 0.14);
	border: 4px solid #ffffff;
	background: #0a3d40;
}

.flowstate-video-hero__photo {
	width: 100%;
	height: 420px;
	object-fit: cover;
	object-position: center top;
	display: block;
}

.flowstate-video-hero__script-badge {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	font-family: 'Caveat', cursive, sans-serif;
	color: #0a3d40;
	font-size: 1.75rem;
	line-height: 1.1;
	font-weight: 700;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95), 0 0 10px rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
	text-align: right;
	pointer-events: none;
	transform: rotate(2deg);
}

/* Category Filter Bar */
.flowstate-video-filter-bar {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: clamp(2.5rem, 4vw, 3.5rem);
	padding-top: 1.5rem;
	border-top: 1px solid rgba(10, 61, 64, 0.08);
}

.flowstate-video-filter-btn {
	background: #e1f2ee;
	color: #0a3d40;
	font-size: 0.92rem;
	font-weight: 600;
	padding: 0.6rem 1.4rem;
	border-radius: 9999px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: all 0.2s ease;
	font-family: inherit;
}

.flowstate-video-filter-btn:hover {
	background: #d0ebe3;
}

.flowstate-video-filter-btn.active {
	background: #0a3d40;
	color: #ffffff;
	border-color: #0a3d40;
	box-shadow: 0 4px 14px rgba(10, 61, 64, 0.25);
}


/* 2. Featured Videos Grid Section */
.flowstate-video-grid-section {
	background: #ffffff;
	padding: clamp(3.5rem, 5vw, 5rem) 0;
}

.flowstate-video-grid-header {
	text-align: center;
	max-width: 680px;
	margin: 0 auto clamp(2rem, 3.5vw, 3rem);
}

.flowstate-video-grid-title {
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 0.75rem;
}

.flowstate-video-grid-sub {
	font-size: 1.05rem;
	color: #64748b;
	line-height: 1.6;
}

.flowstate-video-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.5rem, 2.5vw, 2.25rem);
}

.flowstate-video-card {
	background: #ffffff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.06);
	border: 1px solid rgba(10, 61, 64, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease, opacity 0.2s ease;
	display: flex;
	flex-direction: column;
}

.flowstate-video-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 36px rgba(10, 61, 64, 0.12);
}

.flowstate-video-card__thumb-wrap {
	position: relative;
	width: 100%;
	height: 220px;
	overflow: hidden;
	cursor: pointer;
	background: #0b1a28;
}

.flowstate-video-card__thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}

.flowstate-video-card:hover .flowstate-video-card__thumb {
	transform: scale(1.05);
}

/* Card 1 Graphic Badge */
.flowstate-video-card__graphic-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	background: rgba(240, 248, 246, 0.92);
	backdrop-filter: blur(4px);
	border-radius: 8px;
	padding: 8px 12px;
	font-size: 0.72rem;
	line-height: 1.25;
	color: #0a3d40;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	max-width: 155px;
	pointer-events: none;
}

.flowstate-video-card__graphic-badge strong {
	font-size: 0.82rem;
	color: #0c7075;
}

/* Play Button Overlay */
.flowstate-video-card__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #ffffff;
	color: #0a3d40;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28);
	transition: transform 0.2s ease, background-color 0.2s ease;
	z-index: 3;
	padding: 0;
}

.flowstate-video-card__play svg {
	margin-left: 3px;
}

.flowstate-video-card:hover .flowstate-video-card__play {
	transform: translate(-50%, -50%) scale(1.12);
	background: #f0f7f6;
}

.flowstate-video-card__duration {
	position: absolute;
	bottom: 10px;
	right: 10px;
	z-index: 2;
	background: rgba(10, 20, 20, 0.88);
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 4px;
	letter-spacing: 0.04em;
}

.flowstate-video-card__content {
	padding: 1.5rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.flowstate-video-card__title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.35;
	margin-bottom: 0.6rem;
}

.flowstate-video-card__link {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.flowstate-video-card__link:hover {
	color: #0c7075;
}

.flowstate-video-card__desc {
	font-size: 0.92rem;
	color: #64748b;
	line-height: 1.55;
	margin: 0;
}

.flowstate-video-grid__cta {
	text-align: center;
	margin-top: clamp(2.5rem, 4vw, 3.5rem);
}

.flowstate-video-viewall-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0.85rem 2.2rem;
	border-radius: 9999px;
	font-weight: 700;
	font-size: 1rem;
	background: #0a3d40;
	color: #ffffff;
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.2);
	transition: all 0.2s ease;
}

.flowstate-video-viewall-btn:hover {
	background: #0c7075;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(10, 61, 64, 0.25);
}


/* 3. Have Questions? Watch Our Videos or Schedule */
.flowstate-video-questions-section {
	background: #f7fbfa;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-video-questions__grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	align-items: center;
	gap: clamp(2rem, 4vw, 4rem);
}

.flowstate-video-questions__title {
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 1.2rem;
}

.flowstate-video-questions__desc {
	font-size: 1.05rem;
	color: #475569;
	line-height: 1.65;
	margin-bottom: 2rem;
}

.flowstate-video-consult-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 0.85rem 1.8rem;
	border-radius: 9999px;
	font-weight: 700;
	background: #0a3d40;
	color: #ffffff;
	text-decoration: none;
	transition: all 0.2s ease;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.2);
}

.flowstate-video-consult-btn:hover {
	background: #0c7075;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(10, 61, 64, 0.25);
	color: #ffffff;
}

.flowstate-video-btn-play-circle {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-video-btn-play-circle svg {
	margin-left: 2px;
}

.flowstate-video-questions__visual {
	position: relative;
}

.flowstate-video-questions__photo-card {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 16px 40px rgba(10, 61, 64, 0.12);
	border: 4px solid #ffffff;
	background: #0a3d40;
}

.flowstate-video-questions__photo {
	width: 100%;
	height: 380px;
	object-fit: cover;
	display: block;
}

.flowstate-video-questions__script-overlay {
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
	font-family: 'Caveat', cursive, sans-serif;
	font-size: 1.9rem;
	line-height: 1.1;
	font-weight: 700;
	color: #0a4d50;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95), 0 0 12px rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
	pointer-events: none;
	transform: rotate(-3deg);
}


/* 4. Working Hours & Location (Dark Teal) */
.flowstate-video-location-dark {
	background: #0a3d40;
	color: #ffffff;
	padding: clamp(3.5rem, 5vw, 5rem) 0;
}

.flowstate-video-location__grid {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}

.flowstate-video-location__col-title {
	font-size: 2.1rem;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 1.5rem;
}

.flowstate-video-city-label {
	font-style: italic;
	font-size: 1.1rem;
	color: #d4ece6;
	margin-bottom: 0.75rem;
	display: block;
	font-weight: 600;
}

.flowstate-video-hours-list {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem 0;
}

.flowstate-video-hours-list li {
	display: flex;
	justify-content: space-between;
	max-width: 260px;
	padding: 5px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 0.95rem;
	color: #f0f7f6;
}

.flowstate-video-hours-group--nola {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.flowstate-video-hours-group--nola .flowstate-video-city-label {
	margin-bottom: 0;
}

.flowstate-video-nola-val {
	font-size: 0.95rem;
	color: #d4ece6;
}

/* Map & Transit Subway Bar */
.flowstate-video-map-card {
	background: #ffffff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28);
}

.flowstate-video-map-transit {
	background: #f7fbfa;
	padding: 1rem 1.4rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	border-top: 1px solid rgba(10, 61, 64, 0.08);
}

.flowstate-video-transit-label {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: #0a3d40;
}


/* 5. Bottom CTA Banner */
.flowstate-video-cta-banner {
	background: #f0f8f5;
	padding: clamp(3.5rem, 5vw, 5rem) 0;
}

.flowstate-video-cta__box {
	position: relative;
	background: #ffffff;
	border: 1px solid #d2ece5;
	border-radius: 24px;
	padding: clamp(2.5rem, 4vw, 4rem) clamp(1.5rem, 3vw, 3rem);
	text-align: center;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.06);
}

.flowstate-video-cta__watermark {
	position: absolute;
	top: 1.5rem;
	right: 2.5rem;
	font-family: 'Caveat', cursive, sans-serif;
	font-size: clamp(2.2rem, 3.2vw, 3rem);
	line-height: 1;
	color: rgba(10, 61, 64, 0.25);
	display: flex;
	flex-direction: column;
	text-align: right;
	pointer-events: none;
	transform: rotate(2deg);
}

.flowstate-video-cta__title {
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.25;
	margin-bottom: 0.75rem;
}

.flowstate-video-cta__subtitle {
	font-size: 1.05rem;
	color: #64748b;
	margin-bottom: 1.75rem;
	max-width: 580px;
	margin-left: auto;
	margin-right: auto;
}

.flowstate-video-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 0.9rem 2.2rem;
	border-radius: 9999px;
	font-weight: 700;
	font-size: 1.05rem;
	background: #0a3d40;
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.2);
	transition: all 0.2s ease;
}

.flowstate-video-cta__btn:hover {
	background: #0c7075;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(10, 61, 64, 0.25);
	color: #ffffff;
}


/* 6. Video Facade Lightbox Modal */
.flowstate-video-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.flowstate-video-modal.is-open {
	opacity: 1;
	pointer-events: auto;
}

.flowstate-video-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10, 26, 40, 0.85);
	backdrop-filter: blur(4px);
}

.flowstate-video-modal__container {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 900px;
	background: #000000;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
}

.flowstate-video-modal__header {
	background: #0a3d40;
	color: #ffffff;
	padding: 12px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.flowstate-video-modal__heading {
	font-size: 1.05rem;
	font-weight: 700;
	color: #ffffff;
	margin: 0;
}

.flowstate-video-modal__close {
	background: none;
	border: none;
	color: #ffffff;
	cursor: pointer;
	padding: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	transition: background-color 0.2s ease;
}

.flowstate-video-modal__close:hover {
	background: rgba(255, 255, 255, 0.15);
}

.flowstate-video-modal__iframe-wrap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	background: #000000;
}

.flowstate-video-modal__iframe-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}


/* ==========================================================================
   SECTION 35: RESPONSIVE BREAKPOINTS
   ========================================================================== */
@media (max-width: 1100px) {
	.flowstate-video-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.flowstate-video-hero-badges {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 1024px) {
	.flowstate-video-hero__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.flowstate-video-hero__visual {
		max-width: 580px;
		margin: 0 auto;
	}

	.flowstate-video-questions__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.flowstate-video-questions__visual {
		max-width: 540px;
	}

	.flowstate-video-location__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

@media (max-width: 768px) {
	.flowstate-video-cards-grid {
		grid-template-columns: 1fr;
	}

	.flowstate-video-hero-badges {
		grid-template-columns: repeat(2, 1fr);
	}

	.flowstate-video-filter-bar {
		justify-content: flex-start;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 8px;
		-webkit-overflow-scrolling: touch;
	}

	.flowstate-video-filter-btn {
		white-space: nowrap;
		flex-shrink: 0;
	}

	.flowstate-video-cta__watermark {
		display: none;
	}
}

@media (max-width: 640px) {
	.flowstate-video-hero__title {
		font-size: 2.1rem;
	}

	.flowstate-video-hero__script {
		font-size: 2.2rem;
	}

	.flowstate-video-hero-badges {
		grid-template-columns: 1fr;
	}

	.flowstate-video-hero__photo {
		height: 320px;
	}

	.flowstate-video-questions__photo {
		height: 260px;
	}

	.flowstate-video-map-transit {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ==========================================================================
   SECTION 36: FREQUENTLY ASKED QUESTIONS (FAQ) STYLES
   Pixel-accurate matching media_1789370140965.png
   ========================================================================== */

/* 1. Hero Section */
.flowstate-faq-hero {
	background: linear-gradient(180deg, #f7fbfa 0%, #eaf5f1 100%);
	padding-top: clamp(2rem, 3.5vw, 3rem);
	padding-bottom: clamp(3rem, 5vw, 4.5rem);
	position: relative;
	overflow: hidden;
}

.flowstate-faq-hero .flowstate-breadcrumb {
	margin-bottom: 1.5rem;
}

.flowstate-faq-hero__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}

.flowstate-faq-hero__title {
	font-size: clamp(2.4rem, 4.2vw, 3.4rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.15;
	margin-bottom: 1.25rem;
}

.flowstate-faq-hero__desc {
	font-size: 1.05rem;
	color: #475569;
	line-height: 1.65;
	margin-bottom: 2rem;
	max-width: 600px;
}

/* 6 Category Quick-Nav Buttons */
.flowstate-faq-hero-categories {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px;
	margin-top: 1.5rem;
}

.flowstate-faq-hero-cat-btn {
	background: #ffffff;
	border: 1px solid rgba(10, 61, 64, 0.12);
	border-radius: 14px;
	padding: 0.85rem 0.4rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
	cursor: pointer;
	transition: all 0.22s ease;
	box-shadow: 0 4px 12px rgba(10, 61, 64, 0.04);
	color: #0a3d40;
	font-family: inherit;
}

.flowstate-faq-hero-cat-btn:hover,
.flowstate-faq-hero-cat-btn.is-active {
	background: #0a3d40;
	color: #ffffff;
	border-color: #0a3d40;
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(10, 61, 64, 0.16);
}

.flowstate-faq-hero-cat-icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #e2f2ee;
	color: #0a3d40;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: all 0.22s ease;
}

.flowstate-faq-hero-cat-btn:hover .flowstate-faq-hero-cat-icon,
.flowstate-faq-hero-cat-btn.is-active .flowstate-faq-hero-cat-icon {
	background: rgba(255, 255, 255, 0.18);
	color: #ffffff;
}

.flowstate-faq-hero-cat-text {
	font-size: 0.72rem;
	line-height: 1.25;
	color: inherit;
	display: flex;
	flex-direction: column;
}

.flowstate-faq-hero-cat-text strong {
	font-weight: 700;
}

/* Hero Right Visual */
.flowstate-faq-hero__visual {
	position: relative;
}

.flowstate-faq-hero__photo-wrapper {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 20px 44px rgba(10, 61, 64, 0.14);
	border: 4px solid #ffffff;
	background: #0a3d40;
}

.flowstate-faq-hero__photo {
	width: 100%;
	height: 440px;
	object-fit: cover;
	object-position: center top;
	display: block;
}

.flowstate-faq-hero__script-badge {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	font-family: 'Caveat', cursive, sans-serif;
	color: #0a3d40;
	font-size: 1.85rem;
	line-height: 1.1;
	font-weight: 700;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95), 0 0 10px rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
	text-align: right;
	pointer-events: none;
	transform: rotate(2deg);
}

.flowstate-faq-hero-teal-box {
	position: absolute;
	bottom: 1.5rem;
	right: 1.5rem;
	background: #0a3d40;
	color: #ffffff;
	padding: 1.1rem 1.5rem;
	border-radius: 12px;
	font-weight: 700;
	line-height: 1.35;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	font-size: 0.95rem;
}

.flowstate-faq-teal-line--highlight {
	color: #6ed0bf;
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* 2. Interactive FAQ Main Area (2 Columns) */
.flowstate-faq-main-section {
	background: #ffffff;
	padding: clamp(3.5rem, 5vw, 5rem) 0;
}

.flowstate-faq-main-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 2rem;
	margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #eef2f5;
}

.flowstate-faq-main-header__left {
	max-width: 640px;
}

.flowstate-faq-main-title {
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 0.75rem;
}

.flowstate-faq-main-desc {
	font-size: 1.05rem;
	color: #64748b;
	line-height: 1.6;
	margin: 0;
}

/* Search Wrapper */
.flowstate-faq-search-wrapper {
	position: relative;
	width: 290px;
}

.flowstate-faq-search-input {
	width: 100%;
	border: 1.5px solid #cbd5e1;
	border-radius: 9999px;
	padding: 0.65rem 2.8rem 0.65rem 1.25rem;
	font-size: 0.95rem;
	color: #0a3d40;
	background: #ffffff;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	font-family: inherit;
}

.flowstate-faq-search-input:focus {
	border-color: #0a3d40;
	box-shadow: 0 0 0 3px rgba(10, 61, 64, 0.12);
}

.flowstate-faq-search-icon {
	position: absolute;
	right: 1.1rem;
	top: 50%;
	transform: translateY(-50%);
	color: #64748b;
	display: flex;
	align-items: center;
	pointer-events: none;
}

.flowstate-faq-main-header__right {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.flowstate-faq-toggle-all-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0.62rem 1.25rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: #0a3d40;
	background: #ffffff;
	border: 1.5px solid #cbd5e1;
	border-radius: 9999px;
	cursor: pointer;
	transition: all 0.2s ease;
	font-family: inherit;
	line-height: 1;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.flowstate-faq-toggle-all-btn:hover {
	border-color: #0a3d40;
	background: #f0fdfa;
	color: #0a3d40;
	box-shadow: 0 2px 5px rgba(10, 61, 64, 0.1);
}

.flowstate-faq-toggle-all-btn:focus-visible {
	outline: none;
	border-color: #0a3d40;
	box-shadow: 0 0 0 3px rgba(10, 61, 64, 0.15);
}

.flowstate-faq-toggle-all-btn .flowstate-faq-toggle-icon {
	transition: transform 0.25s ease;
	stroke: #0a3d40;
}

.flowstate-faq-toggle-all-btn[data-state="opened"] .flowstate-faq-toggle-icon {
	transform: rotate(180deg);
}

/* Layout Grid: 1.35fr 0.65fr */
.flowstate-faq-layout-grid {
	display: grid;
	grid-template-columns: 1.35fr 0.65fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

/* Accordion Column */
.flowstate-faq-item {
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	margin-bottom: 12px;
	background: #ffffff;
	overflow: hidden;
	transition: border-color 0.22s ease, box-shadow 0.22s ease;
}

.flowstate-faq-item:hover {
	border-color: #cbd5e1;
}

.flowstate-faq-item.is-open {
	border-color: #0a3d40;
	box-shadow: 0 6px 20px rgba(10, 61, 64, 0.06);
}

.flowstate-faq-trigger {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 1.2rem 1.4rem;
	background: none;
	border: none;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
	font-size: 1.05rem;
	font-weight: 700;
	color: #0a3d40;
	transition: color 0.2s ease;
}

.flowstate-faq-trigger:hover {
	color: #0c7075;
}

.flowstate-faq-icon-bubble {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #0a3d40;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1;
	transition: background-color 0.2s ease;
}

.flowstate-faq-icon-minus {
	display: none;
	margin-top: -2px;
}

.flowstate-faq-icon-plus {
	display: inline-block;
	margin-top: -1px;
}

.flowstate-faq-item.is-open .flowstate-faq-icon-minus {
	display: inline-block;
}

.flowstate-faq-item.is-open .flowstate-faq-icon-plus {
	display: none;
}

.flowstate-faq-panel {
	padding: 0 1.4rem 1.4rem 4.1rem;
}

.flowstate-faq-answer-inner p {
	font-size: 0.96rem;
	color: #475569;
	line-height: 1.7;
	margin: 0;
}

.flowstate-faq-no-results {
	text-align: center;
	padding: 3rem 1.5rem;
	background: #f8fafc;
	border-radius: 14px;
	border: 1px dashed #cbd5e1;
	color: #64748b;
}

.flowstate-faq-no-results p {
	margin-bottom: 0.5rem;
}

/* Sticky Sidebar */
.flowstate-faq-sidebar-inner {
	position: sticky;
	top: 90px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Sidebar Card 1: CTA */
.flowstate-faq-sidebar-card--cta {
	background: #edf7f4;
	border: 1px solid #d0ebe3;
	border-radius: 18px;
	padding: 1.6rem;
}

.flowstate-faq-cta-header {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin-bottom: 1.25rem;
}

.flowstate-faq-cta-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #0a3d40;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-faq-cta-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.35rem;
	line-height: 1.3;
}

.flowstate-faq-cta-sub {
	font-size: 0.88rem;
	color: #475569;
	line-height: 1.5;
	margin: 0;
}

.flowstate-faq-cta-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 0.8rem 1.4rem;
	border-radius: 9999px;
	font-weight: 700;
	font-size: 0.95rem;
	background: #0a3d40;
	color: #ffffff;
	text-decoration: none;
	transition: all 0.2s ease;
	box-shadow: 0 4px 14px rgba(10, 61, 64, 0.2);
}

.flowstate-faq-cta-btn:hover {
	background: #0c7075;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(10, 61, 64, 0.25);
	color: #ffffff;
}

/* Sidebar Card 2: Doctor Card */
.flowstate-faq-sidebar-card--doctor {
	background: #ffffff;
	border: 1px solid rgba(10, 61, 64, 0.1);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.06);
}

.flowstate-faq-doctor-photo-wrap {
	position: relative;
	width: 100%;
	height: 240px;
	overflow: hidden;
	background: #0a3d40;
}

.flowstate-faq-doctor-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}

.flowstate-faq-doctor-script {
	position: absolute;
	top: 1rem;
	right: 1.2rem;
	font-family: 'Caveat', cursive, sans-serif;
	font-size: 1.6rem;
	line-height: 1.1;
	font-weight: 700;
	color: #0a3d40;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95), 0 0 10px rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
	text-align: right;
	pointer-events: none;
	transform: rotate(2deg);
}

.flowstate-faq-trust-list {
	list-style: none;
	padding: 1.4rem;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.flowstate-faq-trust-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.88rem;
	font-weight: 600;
	color: #0a3d40;
}

.flowstate-faq-check-circle {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #0a3d40;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* Sidebar Card 3: Contact Details */
.flowstate-faq-sidebar-card--contact {
	background: #f7fbfa;
	border: 1px solid #e1efe9;
	border-radius: 18px;
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.flowstate-faq-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.flowstate-faq-contact-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #e2f2ee;
	color: #0a3d40;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-faq-contact-info {
	display: flex;
	flex-direction: column;
}

.flowstate-faq-contact-label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #64748b;
	margin-bottom: 2px;
}

.flowstate-faq-contact-val {
	font-size: 0.95rem;
	font-weight: 700;
	color: #0a3d40;
	text-decoration: none;
}

.flowstate-faq-contact-val:hover {
	color: #0c7075;
	text-decoration: underline;
}

.flowstate-faq-contact-val--address {
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.45;
}

/* Sidebar Watermark */
.flowstate-faq-sidebar-watermark {
	font-family: 'Caveat', cursive, sans-serif;
	font-size: 2.2rem;
	line-height: 1.1;
	color: rgba(10, 61, 64, 0.28);
	display: flex;
	flex-direction: column;
	text-align: right;
	pointer-events: none;
	transform: rotate(2deg);
	padding-right: 0.5rem;
}


/* 3. Take The Next Step Section */
.flowstate-faq-nextstep-section {
	background: #f0f8f5;
	padding: clamp(3.5rem, 5vw, 5rem) 0;
}

.flowstate-faq-nextstep__box {
	background: #ffffff;
	border: 1px solid #d2ece5;
	border-radius: 24px;
	padding: clamp(2.5rem, 4vw, 3.5rem);
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.06);
}

.flowstate-faq-nextstep__grid {
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}

.flowstate-faq-nextstep__title {
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 0.75rem;
}

.flowstate-faq-nextstep__desc {
	font-size: 1.05rem;
	color: #64748b;
	line-height: 1.6;
	margin-bottom: 1.75rem;
	max-width: 540px;
}

.flowstate-faq-nextstep__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 0.9rem 2.2rem;
	border-radius: 9999px;
	font-weight: 700;
	font-size: 1.05rem;
	background: #0a3d40;
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.2);
	transition: all 0.2s ease;
}

.flowstate-faq-nextstep__btn:hover {
	background: #0c7075;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(10, 61, 64, 0.25);
	color: #ffffff;
}

.flowstate-faq-nextstep__badges {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.flowstate-faq-nextstep-badge {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #f7fbfa;
	border: 1px solid #e1efe9;
	border-radius: 14px;
	padding: 0.85rem 1.25rem;
}

.flowstate-faq-nextstep-badge-icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #e2f2ee;
	color: #0a3d40;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-faq-nextstep-badge-label {
	font-size: 0.95rem;
	font-weight: 700;
	color: #0a3d40;
}


/* 4. Working Hours & Location (Dark Teal 3-Column) */
.flowstate-faq-location-dark {
	background: #0a3d40;
	color: #ffffff;
	padding: clamp(3.5rem, 5vw, 5rem) 0;
}

.flowstate-faq-location__grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr 1fr;
	gap: clamp(2rem, 3.5vw, 3rem);
	align-items: start;
}

.flowstate-faq-location__col-title {
	font-size: 1.55rem;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 1.25rem;
	line-height: 1.3;
}

.flowstate-faq-city-label {
	font-style: italic;
	font-size: 1.05rem;
	color: #d4ece6;
	margin-bottom: 0.5rem;
	display: block;
	font-weight: 600;
}

.flowstate-faq-hours-list {
	list-style: none;
	padding: 0;
	margin: 0 0 1.2rem 0;
}

.flowstate-faq-hours-list li {
	display: flex;
	justify-content: space-between;
	max-width: 240px;
	padding: 4px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 0.9rem;
	color: #f0f7f6;
}

.flowstate-faq-hours-group--nola {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.flowstate-faq-hours-group--nola .flowstate-faq-city-label {
	margin-bottom: 0;
}

.flowstate-faq-nola-val {
	font-size: 0.9rem;
	color: #d4ece6;
}

/* Clinic Info Column */
.flowstate-faq-info-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 1.2rem;
}

.flowstate-faq-info-icon {
	color: #72d5c6;
	flex-shrink: 0;
	margin-top: 2px;
}

.flowstate-faq-info-text {
	font-size: 0.95rem;
	color: #d4ece6;
	line-height: 1.5;
}

.flowstate-faq-info-text strong {
	color: #ffffff;
}

.flowstate-faq-transit-label {
	font-size: 0.8rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #ffffff;
	display: block;
	margin-bottom: 6px;
}

/* Map Card */
.flowstate-faq-map-card {
	background: #ffffff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
}

.flowstate-faq-map-footer {
	background: #f7fbfa;
	padding: 0.75rem 1rem;
	text-align: right;
	border-top: 1px solid rgba(10, 61, 64, 0.08);
}

.flowstate-faq-map-btn {
	color: #0a3d40;
	font-weight: 700;
	font-size: 0.88rem;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.flowstate-faq-map-btn:hover {
	color: #0c7075;
	text-decoration: underline;
}


/* ==========================================================================
   SECTION 36: RESPONSIVE BREAKPOINTS
   ========================================================================== */
@media (max-width: 1100px) {
	.flowstate-faq-hero-categories {
		grid-template-columns: repeat(3, 1fr);
	}

	.flowstate-faq-location__grid {
		grid-template-columns: 1fr 1fr;
	}

	.flowstate-faq-location__map {
		grid-column: span 2;
	}
}

@media (max-width: 1024px) {
	.flowstate-faq-hero__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.flowstate-faq-hero__visual {
		max-width: 580px;
		margin: 0 auto;
	}

	.flowstate-faq-layout-grid {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.flowstate-faq-sidebar-inner {
		position: static;
		max-width: 560px;
		margin: 0 auto;
	}

	.flowstate-faq-nextstep__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

@media (max-width: 768px) {
	.flowstate-faq-main-header {
		flex-direction: column;
		align-items: stretch;
		gap: 1.25rem;
	}

	.flowstate-faq-main-header__left {
		width: 100%;
	}

	.flowstate-faq-main-header__right {
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.flowstate-faq-search-wrapper {
		width: 100%;
	}

	.flowstate-faq-toggle-all-btn {
		width: 100%;
		justify-content: center;
	}

	.flowstate-faq-hero-categories {
		grid-template-columns: repeat(2, 1fr);
	}

	.flowstate-faq-location__grid {
		grid-template-columns: 1fr;
	}

	.flowstate-faq-location__map {
		grid-column: span 1;
	}
}

@media (max-width: 640px) {
	.flowstate-faq-hero__title {
		font-size: 2.1rem;
	}

	.flowstate-faq-hero-categories {
		grid-template-columns: 1fr;
	}

	.flowstate-faq-hero__photo {
		height: 320px;
	}

	.flowstate-faq-trigger {
		padding: 1rem 1.1rem;
		font-size: 0.98rem;
	}

	.flowstate-faq-panel {
		padding: 0 1.1rem 1.1rem 3.4rem;
	}

	.flowstate-faq-hero-teal-box {
		padding: 0.8rem 1rem;
		font-size: 0.85rem;
		bottom: 1rem;
		right: 1rem;
	}
}

/* ============================================================
   Section 37: PATIENT TESTIMONIALS & REVIEWS STYLES
   ============================================================ */

/* Hero Section */
.flowstate-testimonials-hero {
	position: relative;
	z-index: 5;
	background: linear-gradient(135deg, #f7fbfa 0%, #eaf5f1 50%, #f0f8f5 100%);
	padding: 0 !important;
	overflow: visible !important;
	border-bottom: none !important;
}

.flowstate-testimonials-hero__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}

.flowstate-testimonials-hero__eyebrow {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #0a3d40;
	margin-bottom: 0.75rem;
	opacity: 0.85;
}

.flowstate-testimonials-hero__title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(2.2rem, 4.5vw, 3.2rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.12;
	margin-bottom: 1.25rem;
}

.flowstate-testimonials-hero__title span {
	display: block;
}

.flowstate-testimonials-hero__lead {
	font-size: clamp(0.95rem, 1.1vw, 1.08rem);
	color: #334155;
	line-height: 1.75;
	margin-bottom: 2rem;
	max-width: 540px;
}

/* Hero Badges */
.flowstate-testimonials-hero__badges {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.flowstate-testimonials-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.5rem;
}

.flowstate-testimonials-badge__icon {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0a3d40;
	opacity: 0.7;
}

.flowstate-testimonials-badge__text {
	font-size: 0.82rem;
	color: #0a3d40;
	line-height: 1.3;
}

.flowstate-testimonials-badge__text strong {
	display: block;
	font-weight: 700;
}

.flowstate-testimonials-badge__text span {
	display: block;
	opacity: 0.75;
}

/* Hero Visual */
.flowstate-testimonials-hero__visual {
	position: relative;
}

.flowstate-testimonials-hero__photo-box {
	position: relative;
	border-radius: 20px;
	overflow: visible;
}

.flowstate-testimonials-hero__photo {
	width: 100%;
	height: 420px;
	object-fit: cover;
	border-radius: 20px;
	box-shadow: 0 16px 48px rgba(10, 61, 64, 0.12);
}

.flowstate-testimonials-hero-script {
	position: absolute;
	top: 15px;
	right: -30px;
	font-family: 'Caveat', cursive;
	font-size: clamp(1.6rem, 2.8vw, 2.4rem);
	color: #8b6f3a;
	font-weight: 700;
	line-height: 1.15;
	display: flex;
	flex-direction: column;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.95);
	pointer-events: none;
	transform: rotate(-3deg);
}

.flowstate-testimonials-hero-teal-box {
	position: absolute;
	bottom: 0 !important;
	right: 0 !important;
	background-color: #0a3d40;
	color: #ffffff;
	padding: 1.25rem 2rem;
	border-radius: 20px 0 0 0 !important;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	box-shadow: -6px 8px 25px rgba(0, 0, 0, 0.18);
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	border-left: 1px solid rgba(255, 255, 255, 0.15);
	z-index: 6;
}

.flowstate-testimonials-teal-line {
	font-family: 'Jost', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	display: block;
}

.flowstate-testimonials-teal-sub {
	font-family: 'Jost', sans-serif;
	font-size: 0.85rem;
	font-weight: 400;
	opacity: 0.85;
	display: block;
	margin-top: 0.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	padding-top: 0.35rem;
}

/* Filter Bar */
.flowstate-testimonials-filter-bar {
	background-color: #ffffff;
	padding: 1rem 0;
	border-bottom: 1px solid #e2e8f0;
	position: sticky;
	top: 0;
	z-index: 10;
}

.flowstate-testimonials-filter-list {
	display: flex;
	gap: 0.6rem;
	flex-wrap: wrap;
	justify-content: center;
}

.flowstate-testimonials-pill {
	background-color: #ffffff;
	border: 1.5px solid #0a3d40;
	color: #0a3d40;
	padding: 0.5rem 1.15rem;
	border-radius: 100px;
	font-family: 'Jost', sans-serif;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.25s ease;
	white-space: nowrap;
}

.flowstate-testimonials-pill:hover {
	background-color: #eaf5f1;
}

.flowstate-testimonials-pill.is-active {
	background-color: #0a3d40;
	color: #ffffff;
}

/* Section Headers */
.flowstate-testimonials-section-header {
	margin-bottom: 2.5rem;
}

.flowstate-testimonials-section-header.text-center {
	text-align: center;
}

.flowstate-testimonials-eyebrow {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #0a3d40;
	margin-bottom: 0.5rem;
	opacity: 0.7;
}

.flowstate-testimonials-heading {
	font-family: 'Jost', sans-serif;
	font-size: clamp(1.85rem, 3.5vw, 2.6rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.5rem;
	line-height: 1.15;
}

.flowstate-testimonials-subheading {
	font-size: 1rem;
	color: #64748b;
	max-width: 680px;
	margin: 0 auto;
	line-height: 1.6;
}

/* Video Testimonials Section */
.flowstate-testimonials-videos-section {
	background-color: #ffffff;
	padding: clamp(3rem, 5vw, 5rem) 0;
}

/* Carousel Wrapper */
.flowstate-testimonials-carousel-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.flowstate-testimonials-track {
	display: flex;
	gap: 1.5rem;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-snap-type: x mandatory;
	flex: 1;
}

.flowstate-testimonials-track::-webkit-scrollbar {
	display: none;
}

/* Navigation Buttons */
.flowstate-testimonials-nav-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 2px solid #0a3d40;
	background: #ffffff;
	color: #0a3d40;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.25s ease;
	flex-shrink: 0;
	z-index: 2;
}

.flowstate-testimonials-nav-btn:hover {
	background-color: #0a3d40;
	color: #ffffff;
}

/* Pagination Dots */
.flowstate-testimonials-dots {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
}

.flowstate-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: none;
	background-color: #cbd5e1;
	cursor: pointer;
	transition: all 0.25s ease;
	padding: 0;
}

.flowstate-dot.is-active {
	background-color: #0a3d40;
	transform: scale(1.2);
}

/* Video Testimonial Card */
.flowstate-video-testimonial-card {
	min-width: calc(33.333% - 1rem);
	max-width: calc(33.333% - 1rem);
	flex-shrink: 0;
	scroll-snap-align: start;
	border-radius: 16px;
	overflow: hidden;
	background-color: #ffffff;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.flowstate-video-testimonial-card.is-hidden {
	display: none;
}

.flowstate-video-card__media {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 16 / 10;
}

.flowstate-video-card__thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.flowstate-video-play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.92);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.flowstate-video-play-btn:hover {
	background-color: #0a3d40;
	color: #ffffff;
	transform: translate(-50%, -50%) scale(1.1);
}

.flowstate-video-play-icon {
	color: #0a3d40;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 3px;
}

.flowstate-video-play-btn:hover .flowstate-video-play-icon {
	color: #ffffff;
}

.flowstate-video-card__duration {
	position: absolute;
	bottom: 10px;
	right: 10px;
	background-color: rgba(0, 0, 0, 0.7);
	color: #ffffff;
	font-size: 0.78rem;
	font-weight: 600;
	padding: 0.2rem 0.55rem;
	border-radius: 6px;
	font-family: 'Jost', sans-serif;
}

.flowstate-video-card__content {
	padding: 1rem 0.25rem;
}

.flowstate-video-card__title {
	font-family: 'Jost', sans-serif;
	font-size: 1rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.35rem;
	line-height: 1.3;
}

.flowstate-video-card__meta {
	font-size: 0.85rem;
	color: #64748b;
}

/* Written Reviews Section */
.flowstate-testimonials-reviews-section {
	background: linear-gradient(180deg, #f7fbfa 0%, #ffffff 100%);
	padding: clamp(3rem, 5vw, 5rem) 0;
	position: relative;
	overflow: hidden;
}

/* Decorative Leaf Accents */
.flowstate-leaf-accent {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 0;
}

.flowstate-leaf-accent.is-left {
	left: 0;
}

.flowstate-leaf-accent.is-right {
	right: 0;
}

/* Written Review Card */
.flowstate-written-review-card {
	min-width: calc(33.333% - 1rem);
	max-width: calc(33.333% - 1rem);
	flex-shrink: 0;
	scroll-snap-align: start;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	padding: 2rem 1.75rem;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.06);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.flowstate-written-review-card.is-hidden {
	display: none;
}

.flowstate-review-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.flowstate-review-card__quotes {
	color: #0a3d40;
	opacity: 0.15;
}

.flowstate-review-card__stars {
	display: flex;
	gap: 0.15rem;
}

.flowstate-star-icon {
	color: #d4a843;
	font-size: 1.2rem;
}

.flowstate-review-card__quote {
	font-size: 0.95rem;
	color: #334155;
	line-height: 1.7;
	font-style: italic;
	margin: 0;
	border: none;
	padding: 0;
	flex: 1;
}

.flowstate-review-card__footer {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	margin-top: auto;
}

.flowstate-review-card__author {
	font-family: 'Jost', sans-serif;
	font-size: 0.92rem;
	font-weight: 700;
	color: #0a3d40;
}

.flowstate-review-card__location {
	font-size: 0.82rem;
	color: #64748b;
}

/* Stats Bar */
.flowstate-testimonials-stats-section {
	background-color: #0c4a4f;
	color: #ffffff;
	padding: clamp(3.5rem, 5vw, 4.5rem) 0 clamp(2.5rem, 3.5vw, 3rem) 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	position: relative;
	z-index: 4;
}

.flowstate-testimonials-stats-bar {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center;
	text-align: center;
	width: 100%;
}

.flowstate-stat-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.flowstate-stat-item__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}

.flowstate-stat-item__icon {
	color: #48bca6;
	opacity: 0.8;
	flex-shrink: 0;
	margin-bottom: 0.35rem;
}

.flowstate-stat-item__number {
	font-family: 'Jost', sans-serif;
	font-size: clamp(2rem, 3.5vw, 2.6rem) !important;
	font-weight: 800 !important;
	color: #48bca6 !important;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.flowstate-stat-item__label {
	font-size: 0.88rem !important;
	color: rgba(255, 255, 255, 0.9) !important;
	font-weight: 500;
	margin-top: 6px;
	letter-spacing: 0.02em;
}

/* Testimonials Hero Pill Card & Location Badge Customizations */
.flowstate-testimonials-hero .flowstate-hero__teal-pill-card {
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	background-color: #0a3d40 !important;
	padding: 22px 32px 26px 28px !important;
	border-radius: 20px 0 0 0 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
	border-left: 1px solid rgba(255, 255, 255, 0.15) !important;
	border-bottom: none !important;
	border-right: none !important;
	box-shadow: -6px 8px 25px rgba(0, 0, 0, 0.18) !important;
	z-index: 6 !important;
}

.flowstate-testimonials-hero .flowstate-hero__teal-line--script {
	font-family: var(--fs-font-script), 'Caveat', cursive !important;
	font-size: 1.6rem !important;
	color: #5ce1e6 !important;
	line-height: 1.2 !important;
	display: block !important;
	margin-top: 2px !important;
}

@media (min-width: 1025px) {
	.flowstate-testimonials-hero .flowstate-hero__location-badge-card {
		position: absolute !important;
		right: 280px !important;
		bottom: -28px !important;
		background-color: #ffffff !important;
		border-radius: 14px !important;
		padding: 10px 20px !important;
		box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14) !important;
		display: flex !important;
		align-items: center !important;
		gap: 12px !important;
		border: 1px solid #e2ece9 !important;
		pointer-events: auto !important;
		z-index: 10 !important;
	}
}

/* CTA Banner */
.flowstate-testimonials-cta-banner {
	background-color: #0a3d40;
	padding: clamp(3rem, 5vw, 4.5rem) 0;
	overflow: hidden;
}

.flowstate-testimonials-cta-box {
	position: relative;
}

.flowstate-testimonials-cta-content.text-center {
	text-align: center;
}

.flowstate-testimonials-cta-title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(1.8rem, 3.5vw, 2.5rem);
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 1rem;
	line-height: 1.15;
}

.flowstate-testimonials-cta-sub {
	font-size: 1rem;
	color: rgba(255, 255, 255, 0.8);
	max-width: 600px;
	margin: 0 auto 2rem;
	line-height: 1.65;
}

.flowstate-testimonials-cta-actions {
	display: flex;
	justify-content: center;
}

.flowstate-testimonials-cta-watermark {
	position: absolute;
	bottom: -10px;
	right: 0;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.5vw, 3rem);
	color: rgba(255, 255, 255, 0.08);
	font-weight: 700;
	line-height: 1.1;
	display: flex;
	flex-direction: column;
	pointer-events: none;
	text-align: right;
}

/* Location Section (Dark Teal) */
.flowstate-testimonials-location-dark {
	background-color: #0f2e30;
	color: #ffffff;
	padding: clamp(3rem, 5vw, 4.5rem) 0;
}

.flowstate-testimonials-location__grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr 1fr;
	gap: clamp(2rem, 3vw, 3rem);
	align-items: start;
}

.flowstate-testimonials-location__title {
	font-family: 'Jost', sans-serif;
	font-size: 1.35rem;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 1.25rem;
	line-height: 1.25;
}

.flowstate-hours-city-badge {
	font-weight: 700;
	font-size: 0.9rem;
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 3px;
	margin-bottom: 0.75rem;
}

.flowstate-hours-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.88rem;
}

.flowstate-hours-table td {
	padding: 0.3rem 0;
	color: rgba(255, 255, 255, 0.85);
}

.flowstate-hours-table td:first-child {
	font-weight: 600;
	width: 45%;
}

.flowstate-hours-nola {
	margin-top: 1.25rem;
	font-size: 0.88rem;
	color: rgba(255, 255, 255, 0.85);
}

.flowstate-hours-nola strong {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.flowstate-testimonials-address-row,
.flowstate-testimonials-phone-row {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.flowstate-testimonials-address-icon {
	color: #ffffff;
	flex-shrink: 0;
	margin-top: 2px;
}

.flowstate-testimonials-address-text {
	font-size: 0.92rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.9);
}

.flowstate-testimonials-phone-text {
	font-size: 0.92rem;
	color: rgba(255, 255, 255, 0.9);
}

.flowstate-link-phone {
	color: #ffffff;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.flowstate-testimonials-transit {
	margin-top: 1.5rem;
}

.flowstate-testimonials-transit__header {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.88rem;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 0.75rem;
}

/* Video Modal (shared with video page) */
.flowstate-video-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
}

.flowstate-video-modal.is-open {
	display: flex;
}

.flowstate-video-modal__backdrop {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.85);
	cursor: pointer;
}

.flowstate-video-modal__box {
	position: relative;
	width: 90%;
	max-width: 900px;
	z-index: 1;
}

.flowstate-video-modal__close {
	position: absolute;
	top: -48px;
	right: 0;
	background: none;
	border: none;
	color: #ffffff;
	cursor: pointer;
	padding: 4px;
	transition: opacity 0.2s;
}

.flowstate-video-modal__close:hover {
	opacity: 0.7;
}

.flowstate-video-modal__player {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	border-radius: 12px;
	overflow: hidden;
	background: #000;
}

.flowstate-video-modal__player iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.flowstate-video-modal__caption {
	text-align: center;
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.9rem;
	margin-top: 0.75rem;
}

/* Responsive: 1100px */
@media (max-width: 1100px) {
	.flowstate-testimonials-hero__grid {
		gap: 2rem;
	}

	.flowstate-testimonials-hero-script {
		right: -10px;
		font-size: 1.8rem;
	}

	.flowstate-video-testimonial-card,
	.flowstate-written-review-card {
		min-width: calc(50% - 0.75rem);
		max-width: calc(50% - 0.75rem);
	}
}

/* Responsive: 1024px */
@media (max-width: 1024px) {
	.flowstate-testimonials-hero__grid {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.flowstate-testimonials-hero__lead {
		margin: 0 auto 2rem;
	}

	.flowstate-testimonials-hero__badges {
		justify-items: center;
	}

	.flowstate-testimonials-hero__visual {
		max-width: 520px;
		margin: 0 auto;
	}

	.flowstate-testimonials-hero-script {
		right: 10px;
	}

	.flowstate-testimonials-location__grid {
		grid-template-columns: 1fr 1fr;
	}

	.flowstate-testimonials-location__map {
		grid-column: span 2;
	}

	.flowstate-testimonials-stats-bar {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Responsive: 768px */
@media (max-width: 768px) {
	.flowstate-testimonials-hero__badges {
		grid-template-columns: repeat(2, 1fr);
	}

	.flowstate-testimonials-filter-list {
		justify-content: flex-start;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 0.5rem;
	}

	.flowstate-video-testimonial-card,
	.flowstate-written-review-card {
		min-width: calc(100% - 0rem);
		max-width: calc(100% - 0rem);
	}

	.flowstate-testimonials-location__grid {
		grid-template-columns: 1fr;
	}

	.flowstate-testimonials-location__map {
		grid-column: span 1;
	}

	.flowstate-testimonials-nav-btn {
		display: none;
	}
}

/* Responsive: 640px */
@media (max-width: 640px) {
	.flowstate-testimonials-hero__title {
		font-size: 2rem;
	}

	.flowstate-testimonials-hero__photo {
		height: 300px;
	}

	.flowstate-testimonials-hero-teal-box {
		bottom: 0 !important;
		right: 0 !important;
		padding: 0.8rem 1rem;
		font-size: 0.85rem;
	}

	.flowstate-testimonials-stats-bar {
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
	}

	.flowstate-testimonials-stats-section {
		padding: clamp(3rem, 6vw, 3.5rem) 0 2rem 0 !important;
	}

	.flowstate-stat-item {
		flex-direction: column;
		text-align: center;
		gap: 0.5rem;
	}

	.flowstate-written-review-card {
		padding: 1.5rem 1.25rem;
	}
}

/* ============================================================
   Section 38: HOW IT WORKS STYLES
   ============================================================ */

/* Hero Section */
.flowstate-hiw-hero {
	background: linear-gradient(135deg, #f7fbfa 0%, #eaf5f1 50%, #f0f8f5 100%);
	padding: clamp(3rem, 5vw, 5rem) 0 clamp(2.5rem, 4vw, 4rem);
	overflow: hidden;
	position: relative;
}

.flowstate-hiw-hero__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}

.flowstate-hiw-hero__eyebrow {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #0a3d40;
	margin-bottom: 0.75rem;
	opacity: 0.85;
}

.flowstate-hiw-hero__title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(2.2rem, 4.5vw, 3.2rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.15;
	margin-bottom: 1.25rem;
}

.flowstate-hiw-hero__title span {
	display: block;
}

.flowstate-hiw-hero__lead {
	font-size: clamp(0.95rem, 1.1vw, 1.08rem);
	color: #334155;
	line-height: 1.75;
	margin-bottom: 2rem;
	max-width: 540px;
}

/* Hero Badges */
.flowstate-hiw-hero__badges {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.flowstate-hiw-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.5rem;
}

.flowstate-hiw-badge__icon {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0a3d40;
	opacity: 0.75;
}

.flowstate-hiw-badge__text {
	font-size: 0.82rem;
	color: #0a3d40;
	line-height: 1.3;
}

.flowstate-hiw-badge__text strong {
	display: block;
	font-weight: 700;
}

.flowstate-hiw-badge__text span {
	display: block;
	opacity: 0.75;
}

/* Hero Visual */
.flowstate-hiw-hero__visual {
	position: relative;
}

.flowstate-hiw-hero__photo-box {
	position: relative;
	border-radius: 20px;
	overflow: visible;
}

.flowstate-hiw-hero__photo {
	width: 100%;
	height: 420px;
	object-fit: cover;
	border-radius: 20px;
	box-shadow: 0 16px 48px rgba(10, 61, 64, 0.12);
}

.flowstate-hiw-hero-script {
	position: absolute;
	top: 15px;
	right: -25px;
	font-family: 'Caveat', cursive;
	font-size: clamp(1.6rem, 2.8vw, 2.4rem);
	color: #8b6f3a;
	font-weight: 700;
	line-height: 1.15;
	display: flex;
	flex-direction: column;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.95);
	pointer-events: none;
	transform: rotate(-3deg);
}

.flowstate-hiw-hero-teal-box {
	position: absolute;
	bottom: 0 !important;
	right: 0 !important;
	background-color: #0a3d40;
	color: #ffffff;
	padding: 1.25rem 2rem;
	border-radius: 20px 0 0 0 !important;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	box-shadow: -6px 8px 25px rgba(0, 0, 0, 0.18);
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	border-left: 1px solid rgba(255, 255, 255, 0.15);
	z-index: 6;
}

.flowstate-hiw-teal-line {
	font-family: 'Jost', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	display: block;
}

.flowstate-hiw-teal-sub {
	font-family: 'Jost', sans-serif;
	font-size: 0.85rem;
	font-weight: 400;
	opacity: 0.85;
	display: block;
	margin-top: 0.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	padding-top: 0.35rem;
}

/* Section 2: Four Simple Steps */
.flowstate-hiw-steps-section {
	background-color: #ffffff;
	padding: clamp(4.5rem, 6vw, 5.5rem) 0;
}

.flowstate-hiw-section-header {
	margin-bottom: 3rem;
}

.flowstate-hiw-section-header.text-center {
	text-align: center;
}

.flowstate-hiw-eyebrow {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #0a3d40;
	margin-bottom: 0.5rem;
	opacity: 0.75;
}

.flowstate-hiw-heading {
	font-family: 'Jost', sans-serif;
	font-size: clamp(1.85rem, 3.5vw, 2.6rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.5rem;
	line-height: 1.15;
}

.flowstate-hiw-subheading {
	font-size: 1rem;
	color: #64748b;
	max-width: 680px;
	margin: 0 auto;
	line-height: 1.6;
}

.flowstate-hiw-steps-grid {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.flowstate-hiw-step-card {
	flex: 1;
	background-color: #ffffff;
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 20px rgba(10, 61, 64, 0.05);
	border: 1px solid #eef2f6;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.flowstate-hiw-step-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-hiw-step-card__media {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.flowstate-hiw-step-number {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #0a3d40;
	color: #ffffff;
	font-family: 'Jost', sans-serif;
	font-weight: 700;
	font-size: 0.95rem;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.flowstate-hiw-step-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.flowstate-hiw-step-card__content {
	padding: 1.25rem 1.15rem 1.5rem;
}

.flowstate-hiw-step-title {
	font-family: 'Jost', sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.65rem;
	line-height: 1.25;
}

.flowstate-hiw-step-desc {
	font-size: 0.88rem;
	color: #475569;
	line-height: 1.6;
	margin: 0;
}

.flowstate-hiw-inline-link {
	color: #0a3d40;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.flowstate-hiw-step-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 60px;
	flex-shrink: 0;
	opacity: 0.6;
}

/* Section 3: More Than Adjustments */
.flowstate-hiw-why-section {
	background-color: #f7fbfa;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
	position: relative;
	overflow: hidden;
}

.flowstate-hiw-why-card {
	display: grid;
	grid-template-columns: 0.95fr 1.15fr;
	gap: clamp(2rem, 4vw, 4rem);
	align-items: center;
	position: relative;
}

.flowstate-hiw-why__visual {
	position: relative;
}

.flowstate-hiw-why__photo-box {
	position: relative;
	border-radius: 20px;
	overflow: visible;
}

.flowstate-hiw-why__photo {
	width: 100%;
	height: 480px;
	object-fit: cover;
	border-radius: 20px;
	box-shadow: 0 16px 40px rgba(10, 61, 64, 0.12);
}

.flowstate-hiw-why-script {
	position: absolute;
	top: 20px;
	left: -20px;
	font-family: 'Caveat', cursive;
	font-size: clamp(1.6rem, 2.6vw, 2.2rem);
	color: #0a3d40;
	font-weight: 700;
	line-height: 1.15;
	display: flex;
	flex-direction: column;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.95);
	pointer-events: none;
	transform: rotate(-4deg);
}

.flowstate-hiw-why__content {
	position: relative;
}

.flowstate-hiw-why__lead {
	font-size: 1.02rem;
	color: #334155;
	line-height: 1.7;
	margin-bottom: 2rem;
}

.flowstate-hiw-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.flowstate-hiw-checklist-item {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.flowstate-hiw-check-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-hiw-check-text {
	font-size: 0.96rem;
	font-weight: 600;
	color: #0a3d40;
}

.flowstate-hiw-watermark {
	position: absolute;
	bottom: -20px;
	right: 0;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.5vw, 3rem);
	color: #0a3d40;
	opacity: 0.25;
	font-weight: 700;
	line-height: 1.1;
	display: flex;
	flex-direction: column;
	pointer-events: none;
	text-align: right;
	transform: rotate(-3deg);
}

/* Section 4: FAQ Banner */
.flowstate-hiw-faq-banner {
	background: #ffffff;
	padding: clamp(2.5rem, 4vw, 3.5rem) 0;
	border-top: 1px solid #eef2f6;
	border-bottom: 1px solid #eef2f6;
}

.flowstate-hiw-faq-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

.flowstate-hiw-faq-title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.4rem;
	line-height: 1.2;
}

.flowstate-hiw-faq-sub {
	font-size: 0.95rem;
	color: #64748b;
	margin: 0;
	line-height: 1.5;
}

.flowstate-hiw-faq-action {
	flex-shrink: 0;
}

/* Section 5: Location Section */
.flowstate-hiw-location-dark {
	background-color: #0f2e30;
	color: #ffffff;
	padding: clamp(3rem, 5vw, 4.5rem) 0;
}

.flowstate-hiw-location__grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr 1fr;
	gap: clamp(2rem, 3vw, 3rem);
	align-items: start;
}

.flowstate-hiw-location__title {
	font-family: 'Jost', sans-serif;
	font-size: 1.35rem;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 1.25rem;
	line-height: 1.25;
}

.flowstate-hiw-address-row,
.flowstate-hiw-phone-row {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.flowstate-hiw-address-icon {
	color: #ffffff;
	flex-shrink: 0;
	margin-top: 2px;
}

.flowstate-hiw-address-text {
	font-size: 0.92rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.9);
}

.flowstate-hiw-phone-text {
	font-size: 0.92rem;
	color: rgba(255, 255, 255, 0.9);
}

.flowstate-hiw-transit {
	margin-top: 1.5rem;
}

.flowstate-hiw-transit__header {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.88rem;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 0.75rem;
}

/* Responsive: 1100px */
@media (max-width: 1100px) {
	.flowstate-hiw-steps-grid {
		gap: 0.75rem;
	}

	.flowstate-hiw-step-card__content {
		padding: 1rem 0.85rem;
	}

	.flowstate-hiw-step-title {
		font-size: 0.95rem;
	}

	.flowstate-hiw-step-desc {
		font-size: 0.82rem;
	}
}

/* Responsive: 1024px */
@media (max-width: 1024px) {
	.flowstate-hiw-hero__grid {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.flowstate-hiw-hero__lead {
		margin: 0 auto 2rem;
	}

	.flowstate-hiw-hero__visual {
		max-width: 520px;
		margin: 0 auto;
	}

	.flowstate-hiw-steps-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}

	.flowstate-hiw-step-arrow {
		display: none;
	}

	.flowstate-hiw-why-card {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.flowstate-hiw-why__visual {
		max-width: 440px;
		margin: 0 auto;
	}

	.flowstate-hiw-checklist {
		align-items: center;
	}

	.flowstate-hiw-location__grid {
		grid-template-columns: 1fr 1fr;
	}

	.flowstate-hiw-location__map {
		grid-column: span 2;
	}
}

/* Responsive: 768px */
@media (max-width: 768px) {
	.flowstate-hiw-hero__badges {
		grid-template-columns: repeat(2, 1fr);
	}

	.flowstate-hiw-steps-grid {
		grid-template-columns: 1fr;
	}

	.flowstate-hiw-faq-box {
		flex-direction: column;
		text-align: center;
		align-items: center;
	}

	.flowstate-hiw-location__grid {
		grid-template-columns: 1fr;
	}

	.flowstate-hiw-location__map {
		grid-column: span 1;
	}
}

/* Responsive: 640px */
@media (max-width: 640px) {
	.flowstate-hiw-hero__title {
		font-size: 2rem;
	}

	.flowstate-hiw-hero__photo {
		height: 300px;
	}

	.flowstate-hiw-hero-teal-box {
		bottom: 0 !important;
		right: 0 !important;
		padding: 0.8rem 1rem;
		font-size: 0.85rem;
	}

	.flowstate-hiw-why__photo {
		height: 340px;
	}

	.flowstate-hiw-why-script {
		left: 0;
	}
}

/* ============================================================
   Section 39: CONTACT US PAGE STYLES
   ============================================================ */

/* Hero Section */
.flowstate-contact-hero {
	background: linear-gradient(135deg, #f7fbfa 0%, #eaf5f1 50%, #f0f8f5 100%);
	padding: clamp(3rem, 5vw, 5rem) 0 clamp(2.5rem, 4vw, 4rem);
	overflow: hidden;
	position: relative;
}

.flowstate-contact-hero__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}

.flowstate-contact-hero__eyebrow {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #0a3d40;
	margin-bottom: 0.75rem;
	opacity: 0.85;
}

.flowstate-contact-hero__title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(2.2rem, 4.5vw, 3.2rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.15;
	margin-bottom: 1.25rem;
}

.flowstate-contact-sub {
	display: block;
	font-size: clamp(1.4rem, 2.5vw, 1.85rem);
	font-weight: 600;
	color: #134e4a;
	margin-top: 0.35rem;
}

.flowstate-contact-hero__lead {
	font-size: clamp(0.95rem, 1.1vw, 1.08rem);
	color: #334155;
	line-height: 1.75;
	margin-bottom: 2rem;
	max-width: 540px;
}

/* Hero Badges */
.flowstate-contact-hero__badges {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.flowstate-contact-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.5rem;
}

.flowstate-contact-badge__icon {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0a3d40;
	opacity: 0.75;
}

.flowstate-contact-badge__text {
	font-size: 0.82rem;
	color: #0a3d40;
	line-height: 1.3;
}

.flowstate-contact-badge__text strong {
	display: block;
	font-weight: 700;
}

.flowstate-contact-badge__text span {
	display: block;
	opacity: 0.75;
}

/* Hero Visual */
.flowstate-contact-hero__visual {
	position: relative;
}

.flowstate-contact-hero__photo-box {
	position: relative;
	border-radius: 20px;
	overflow: visible;
}

.flowstate-contact-hero__photo {
	width: 100%;
	height: 420px;
	object-fit: cover;
	border-radius: 20px;
	box-shadow: 0 16px 48px rgba(10, 61, 64, 0.12);
}

.flowstate-contact-hero-script {
	position: absolute;
	top: 15px;
	right: -25px;
	font-family: 'Caveat', cursive;
	font-size: clamp(1.6rem, 2.8vw, 2.4rem);
	color: #8b6f3a;
	font-weight: 700;
	line-height: 1.15;
	display: flex;
	flex-direction: column;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.95);
	pointer-events: none;
	transform: rotate(-3deg);
}

.flowstate-contact-hero-teal-box {
	position: absolute;
	bottom: -20px;
	right: 20px;
	background-color: #0a3d40;
	color: #ffffff;
	padding: 1rem 1.5rem;
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.25);
	z-index: 2;
}

.flowstate-contact-teal-line {
	font-family: 'Jost', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	display: block;
}

.flowstate-contact-teal-sub {
	font-family: 'Jost', sans-serif;
	font-size: 0.85rem;
	font-weight: 400;
	opacity: 0.85;
	display: block;
	margin-top: 0.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	padding-top: 0.35rem;
}

/* Main Contact Section */
.flowstate-contact-main-section {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-contact-main__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

.flowstate-contact-info__heading {
	font-family: 'Jost', sans-serif;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 1.5rem;
	line-height: 1.2;
}

.flowstate-contact-info-row {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.flowstate-contact-info-icon {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: #eaf5f1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 2px;
}

.flowstate-contact-address {
	font-size: 0.96rem;
	color: #334155;
	line-height: 1.5;
	margin-bottom: 0.5rem;
}

.flowstate-contact-address strong {
	color: #0a3d40;
}

.flowstate-btn-outline-sm {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.84rem;
	font-weight: 600;
	color: #0a3d40;
	border: 1.5px solid #0a3d40;
	padding: 0.35rem 0.85rem;
	border-radius: 6px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.flowstate-btn-outline-sm:hover {
	background-color: #0a3d40;
	color: #ffffff;
}

.flowstate-contact-label {
	font-size: 0.82rem;
	color: #64748b;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 0.15rem;
}

.flowstate-contact-val a {
	font-size: 1.05rem;
	color: #0a3d40;
	text-decoration: none;
}

.flowstate-contact-val a:hover {
	text-decoration: underline;
}

.flowstate-contact-transit-row {
	margin-top: 1.5rem;
}

.flowstate-contact-map-wrapper {
	margin: 2rem 0;
}

/* 4 Action Cards Grid */
.flowstate-contact-action-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem;
	margin-top: 2rem;
}

.flowstate-contact-action-card {
	background-color: #f7fbfa;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 1.5rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.flowstate-contact-action-icon {
	color: #0a3d40;
	margin-bottom: 0.25rem;
}

.flowstate-contact-action-title {
	font-family: 'Jost', sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0;
}

.flowstate-contact-action-desc {
	font-size: 0.85rem;
	color: #475569;
	line-height: 1.55;
	margin: 0;
	flex: 1;
}

.flowstate-contact-action-desc p {
	margin: 0;
}

.flowstate-contact-action-btn-wrap {
	margin-top: 0.75rem;
}

/* Contact Form Card */
.flowstate-contact-form-card {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	padding: 2.25rem 2rem;
	box-shadow: 0 12px 36px rgba(10, 61, 64, 0.08);
	position: sticky;
	top: 20px;
}

.flowstate-contact-form__title {
	font-family: 'Jost', sans-serif;
	font-size: 1.5rem;
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.5rem;
}

.flowstate-contact-form__lead {
	font-size: 0.9rem;
	color: #64748b;
	line-height: 1.55;
	margin-bottom: 1.5rem;
}

.flowstate-form-group {
	margin-bottom: 1.15rem;
}

.flowstate-form-label {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	color: #0a3d40;
	margin-bottom: 0.35rem;
}

.flowstate-form-label .required {
	color: #e11d48;
}

.flowstate-form-input,
.flowstate-form-select,
.flowstate-form-textarea {
	width: 100%;
	padding: 0.75rem 0.95rem;
	border: 1.5px solid #cbd5e1;
	border-radius: 8px;
	font-family: inherit;
	font-size: 0.92rem;
	color: #1e293b;
	background-color: #ffffff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	outline: none;
}

.flowstate-form-input:focus,
.flowstate-form-select:focus,
.flowstate-form-textarea:focus {
	border-color: #0a3d40;
	box-shadow: 0 0 0 3px rgba(10, 61, 64, 0.12);
}

.flowstate-btn--full {
	width: 100%;
	justify-content: center;
	padding: 0.85rem 1.5rem;
	font-size: 1rem;
}

.flowstate-form-disclaimer {
	font-size: 0.8rem;
	color: #64748b;
	margin-top: 0.75rem;
}

.flowstate-form-alert {
	margin-top: 1rem;
	padding: 0.85rem 1rem;
	border-radius: 8px;
	font-size: 0.9rem;
	line-height: 1.5;
}

.flowstate-form-alert.is-success {
	background-color: #eaf5f1;
	color: #0a3d40;
	border: 1px solid #99d5c8;
}

/* FAQ Banner */
.flowstate-contact-faq-banner {
	background: #f7fbfa;
	padding: clamp(2.5rem, 4vw, 3.5rem) 0;
	border-top: 1px solid #eef2f6;
	border-bottom: 1px solid #eef2f6;
}

.flowstate-contact-faq-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

.flowstate-contact-faq-title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.4rem;
	line-height: 1.2;
}

.flowstate-contact-faq-sub {
	font-size: 0.95rem;
	color: #64748b;
	margin: 0;
	line-height: 1.5;
}

.flowstate-contact-faq-action {
	flex-shrink: 0;
}

/* Dark Teal CTA Banner */
.flowstate-contact-cta-dark {
	background-color: #0a3d40;
	color: #ffffff;
	padding: clamp(3.5rem, 5vw, 5rem) 0;
	position: relative;
	overflow: hidden;
}

.flowstate-contact-cta-box {
	position: relative;
}

.flowstate-contact-cta-watermark {
	position: absolute;
	top: -10px;
	left: 0;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.5vw, 3rem);
	color: rgba(255, 255, 255, 0.12);
	font-weight: 700;
	line-height: 1.1;
	display: flex;
	flex-direction: column;
	pointer-events: none;
	transform: rotate(-4deg);
}

.flowstate-contact-cta-title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(1.8rem, 3.5vw, 2.6rem);
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 0.75rem;
	line-height: 1.2;
}

.flowstate-contact-cta-sub {
	font-size: 1.02rem;
	color: rgba(255, 255, 255, 0.85);
	max-width: 620px;
	margin: 0 auto 2rem;
	line-height: 1.65;
}

.flowstate-contact-cta-actions {
	display: flex;
	justify-content: center;
}

.flowstate-btn--outline-white {
	background-color: transparent;
	color: #ffffff;
	border: 2px solid #ffffff;
	padding: 0.85rem 1.75rem;
	border-radius: 100px;
	font-family: 'Jost', sans-serif;
	font-weight: 700;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	transition: all 0.25s ease;
}

.flowstate-btn--outline-white:hover {
	background-color: #ffffff;
	color: #0a3d40;
}

/* Responsive: 1024px */
@media (max-width: 1024px) {
	.flowstate-contact-hero__grid {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.flowstate-contact-hero__lead {
		margin: 0 auto 2rem;
	}

	.flowstate-contact-hero__visual {
		max-width: 520px;
		margin: 0 auto;
	}

	.flowstate-contact-main__grid {
		grid-template-columns: 1fr;
	}

	.flowstate-contact-form-card {
		position: static;
		max-width: 600px;
		margin: 0 auto;
	}
}

/* Responsive: 768px */
@media (max-width: 768px) {
	.flowstate-contact-hero__badges {
		grid-template-columns: repeat(2, 1fr);
	}

	.flowstate-contact-action-cards {
		grid-template-columns: 1fr;
	}

	.flowstate-contact-faq-box {
		flex-direction: column;
		text-align: center;
	}
}

/* Responsive: 640px */
@media (max-width: 640px) {
	.flowstate-contact-hero__title {
		font-size: 2rem;
	}

	.flowstate-contact-hero__photo {
		height: 300px;
	}

	.flowstate-contact-form-card {
		padding: 1.5rem 1.25rem;
	}
}

/* ============================================================
   Section 40: BLOG ARCHIVE & SINGLE POST STYLES
   ============================================================ */

/* Blog Hero Section */
.flowstate-blog-hero {
	background: linear-gradient(135deg, #f7fbfa 0%, #eaf5f1 50%, #f0f8f5 100%);
	padding: clamp(3rem, 5vw, 5rem) 0 clamp(2.5rem, 4vw, 4rem);
	overflow: hidden;
	position: relative;
}

.flowstate-blog-hero__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}

.flowstate-blog-hero__eyebrow {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #0a3d40;
	margin-bottom: 0.75rem;
	opacity: 0.85;
}

.flowstate-blog-hero__title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(2.2rem, 4.5vw, 3.2rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.15;
	margin-bottom: 1.25rem;
}

.flowstate-blog-sub {
	display: block;
	font-size: clamp(1.4rem, 2.5vw, 1.85rem);
	font-weight: 600;
	color: #134e4a;
	margin-top: 0.35rem;
}

.flowstate-blog-hero__lead {
	font-size: clamp(0.95rem, 1.1vw, 1.08rem);
	color: #334155;
	line-height: 1.75;
	margin-bottom: 2rem;
	max-width: 540px;
}

/* Hero Badges */
.flowstate-blog-hero__badges {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.flowstate-blog-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.5rem;
}

.flowstate-blog-badge__icon {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0a3d40;
	opacity: 0.75;
}

.flowstate-blog-badge__text {
	font-size: 0.82rem;
	color: #0a3d40;
	line-height: 1.3;
}

.flowstate-blog-badge__text strong {
	display: block;
	font-weight: 700;
}

.flowstate-blog-badge__text span {
	display: block;
	opacity: 0.75;
}

/* Hero Visual */
.flowstate-blog-hero__visual {
	position: relative;
}

.flowstate-blog-hero__photo-box {
	position: relative;
	border-radius: 20px;
	overflow: visible;
}

.flowstate-blog-hero__photo {
	width: 100%;
	height: 420px;
	object-fit: cover;
	border-radius: 20px;
	box-shadow: 0 16px 48px rgba(10, 61, 64, 0.12);
}

.flowstate-blog-hero-script {
	position: absolute;
	top: 15px;
	right: -25px;
	font-family: 'Caveat', cursive;
	font-size: clamp(1.6rem, 2.8vw, 2.4rem);
	color: #8b6f3a;
	font-weight: 700;
	line-height: 1.15;
	display: flex;
	flex-direction: column;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.95);
	pointer-events: none;
	transform: rotate(-3deg);
}

.flowstate-blog-hero-teal-box {
	position: absolute;
	bottom: -20px;
	right: 20px;
	background-color: #0a3d40;
	color: #ffffff;
	padding: 1rem 1.5rem;
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.25);
	z-index: 2;
}

.flowstate-blog-teal-line {
	font-family: 'Jost', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	display: block;
}

.flowstate-blog-teal-sub {
	font-family: 'Jost', sans-serif;
	font-size: 0.85rem;
	font-weight: 400;
	opacity: 0.85;
	display: block;
	margin-top: 0.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	padding-top: 0.35rem;
}

/* Main Blog Layout */
.flowstate-blog-main-section {
	background-color: #ffffff;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.flowstate-blog-main__grid {
	display: grid;
	grid-template-columns: 2.2fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

/* Articles Header */
.flowstate-blog-articles-header {
	margin-bottom: 1.5rem;
}

.flowstate-blog-articles-title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(1.8rem, 3.2vw, 2.4rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.35rem;
}

.flowstate-blog-articles-subtitle {
	font-size: 0.98rem;
	color: #64748b;
}

/* Filter Pills */
.flowstate-blog-filter-pills {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin-bottom: 2.5rem;
}

.flowstate-blog-pill {
	background-color: #f1f5f9;
	border: 1px solid #e2e8f0;
	color: #334155;
	padding: 0.45rem 1rem;
	border-radius: 100px;
	font-family: 'Jost', sans-serif;
	font-size: 0.84rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
}

.flowstate-blog-pill:hover {
	background-color: #e2e8f0;
}

.flowstate-blog-pill.is-active {
	background-color: #0a3d40;
	color: #ffffff;
	border-color: #0a3d40;
}

/* Blog Grid */
.flowstate-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
	margin-bottom: 3rem;
}

.flowstate-blog-card {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.04);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-blog-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 28px rgba(10, 61, 64, 0.08);
}

.flowstate-blog-card__media-link {
	display: block;
	position: relative;
	text-decoration: none;
}

.flowstate-blog-card__media {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.flowstate-blog-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background-color: #eaf5f1;
	color: #0a3d40;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.25rem 0.65rem;
	border-radius: 6px;
	z-index: 2;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.flowstate-blog-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.flowstate-blog-card:hover .flowstate-blog-card__img {
	transform: scale(1.04);
}

.flowstate-blog-card__body {
	padding: 1.25rem 1.15rem 1.5rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.flowstate-blog-card__meta {
	font-size: 0.8rem;
	color: #64748b;
	margin-bottom: 0.4rem;
}

.flowstate-blog-card__title {
	font-family: 'Jost', sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.3;
	margin-bottom: 0.5rem;
}

.flowstate-blog-card__title a {
	color: #0a3d40;
	text-decoration: none;
}

.flowstate-blog-card__title a:hover {
	text-decoration: underline;
}

.flowstate-blog-card__excerpt {
	font-size: 0.86rem;
	color: #475569;
	line-height: 1.55;
	margin-bottom: 1rem;
	flex: 1;
}

.flowstate-blog-card__readmore {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: #0a3d40;
	text-decoration: none;
}

.flowstate-blog-card__readmore:hover {
	text-decoration: underline;
}

/* Pagination */
.flowstate-blog-pagination {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.flowstate-page-number {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	border: 1px solid #e2e8f0;
	color: #334155;
	font-family: 'Jost', sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
}

.flowstate-page-number:hover {
	background-color: #f1f5f9;
}

.flowstate-page-number.is-current {
	background-color: #0a3d40;
	color: #ffffff;
	border-color: #0a3d40;
}

.flowstate-page-next {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	border: 1px solid #e2e8f0;
	color: #0a3d40;
	font-size: 1rem;
	text-decoration: none;
}

.flowstate-page-ellipsis {
	padding: 0 0.25rem;
	color: #94a3b8;
}

/* Blog Sidebar */
.flowstate-blog-sidebar {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.flowstate-blog-widget {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 1.5rem 1.35rem;
}

.flowstate-widget-title {
	font-family: 'Jost', sans-serif;
	font-size: 1.15rem;
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 1.15rem;
}

/* Search Widget */
.flowstate-search-widget {
	padding: 0;
	border: none;
	background: transparent;
}

.flowstate-blog-search-form {
	position: relative;
	display: flex;
	align-items: center;
}

.flowstate-blog-search-input {
	width: 100%;
	padding: 0.75rem 2.8rem 0.75rem 1rem;
	border: 1.5px solid #cbd5e1;
	border-radius: 10px;
	font-size: 0.92rem;
	color: #1e293b;
	outline: none;
	transition: border-color 0.2s ease;
}

.flowstate-blog-search-input:focus {
	border-color: #0a3d40;
}

.flowstate-blog-search-btn {
	position: absolute;
	right: 10px;
	background: none;
	border: none;
	color: #0a3d40;
	cursor: pointer;
	padding: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Topics List */
.flowstate-topics-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.flowstate-topics-list li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 0.9rem;
	color: #334155;
	text-decoration: none;
	transition: color 0.2s ease;
}

.flowstate-topics-list li a:hover {
	color: #0a3d40;
	font-weight: 600;
}

.flowstate-topic-count {
	color: #94a3b8;
	font-size: 0.82rem;
}

/* Featured Card */
.flowstate-featured-card {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.flowstate-featured-media {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 16 / 10;
}

.flowstate-featured-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background-color: #0a3d40;
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.2rem 0.5rem;
	border-radius: 4px;
	z-index: 2;
}

.flowstate-featured-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.flowstate-featured-title {
	font-family: 'Jost', sans-serif;
	font-size: 0.98rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0;
	line-height: 1.35;
}

.flowstate-featured-title a {
	color: #0a3d40;
	text-decoration: none;
}

.flowstate-featured-desc {
	font-size: 0.84rem;
	color: #64748b;
	line-height: 1.5;
	margin: 0;
}

.flowstate-featured-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.84rem;
	font-weight: 700;
	color: #0a3d40;
	text-decoration: none;
}

/* Newsletter Widget */
.flowstate-newsletter-widget {
	background-color: #0a3d40;
	color: #ffffff;
	border: none;
}

.flowstate-newsletter-icon {
	color: rgba(255, 255, 255, 0.8);
	margin-bottom: 0.5rem;
}

.flowstate-newsletter-title {
	font-family: 'Jost', sans-serif;
	font-size: 1.15rem;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 0.4rem;
}

.flowstate-newsletter-sub {
	font-size: 0.84rem;
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.5;
	margin-bottom: 1rem;
}

.flowstate-newsletter-input {
	width: 100%;
	padding: 0.7rem 0.85rem;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 8px;
	background-color: #ffffff;
	font-size: 0.88rem;
	color: #1e293b;
	margin-bottom: 0.75rem;
	outline: none;
}

/* Small Steps Banner */
.flowstate-blog-smallsteps-banner {
	background: #f7fbfa;
	padding: clamp(2.5rem, 4vw, 3.5rem) 0;
	border-top: 1px solid #eef2f6;
	border-bottom: 1px solid #eef2f6;
}

.flowstate-blog-smallsteps-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

.flowstate-blog-smallsteps-title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.4rem;
	line-height: 1.2;
}

.flowstate-blog-smallsteps-sub {
	font-size: 0.95rem;
	color: #64748b;
	margin: 0;
	line-height: 1.5;
}

/* Single Post Hero */
.flowstate-post-hero {
	background: linear-gradient(135deg, #f7fbfa 0%, #eaf5f1 50%, #f0f8f5 100%);
	padding: clamp(2rem, 4vw, 3.5rem) 0;
	overflow: hidden;
}

.flowstate-post-hero__grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: clamp(2rem, 3.5vw, 3rem);
	align-items: center;
}

.flowstate-breadcrumbs {
	font-size: 0.84rem;
	color: #64748b;
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	gap: 0.4rem;
	flex-wrap: wrap;
}

.flowstate-breadcrumbs a {
	color: #0a3d40;
	text-decoration: none;
}

.flowstate-breadcrumbs .current {
	color: #64748b;
}

.flowstate-post-hero__title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin-bottom: 0.85rem;
}

.flowstate-post-hero__subtitle {
	font-size: 1.05rem;
	color: #475569;
	line-height: 1.6;
	margin-bottom: 1.5rem;
}

.flowstate-post-hero__meta {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.flowstate-meta-item {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.88rem;
	color: #0a3d40;
	font-weight: 600;
}

.flowstate-post-hero__photo-box {
	position: relative;
	border-radius: 18px;
	overflow: visible;
}

.flowstate-post-hero__photo {
	width: 100%;
	height: 340px;
	object-fit: cover;
	border-radius: 18px;
	box-shadow: 0 12px 36px rgba(10, 61, 64, 0.1);
}

.flowstate-post-hero-script {
	position: absolute;
	top: 15px;
	right: -15px;
	font-family: 'Caveat', cursive;
	font-size: clamp(1.5rem, 2.5vw, 2.2rem);
	color: #8b6f3a;
	font-weight: 700;
	line-height: 1.15;
	display: flex;
	flex-direction: column;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.95);
	pointer-events: none;
	transform: rotate(-3deg);
}

/* Single Post Main Section */
.flowstate-post-main-section {
	padding: clamp(3rem, 5vw, 5rem) 0;
}

.flowstate-post-main__grid {
	display: grid;
	grid-template-columns: 2.2fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

.flowstate-post-content-col {
	font-size: 1.02rem;
	line-height: 1.8;
	color: #334155;
}

.flowstate-article-lead {
	font-size: 1.12rem;
	line-height: 1.8;
	color: #1e293b;
	margin-bottom: 1.5rem;
}

.flowstate-article-callout-photo {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	margin: 2rem 0;
	box-shadow: 0 8px 30px rgba(10, 61, 64, 0.1);
}

.flowstate-article-img {
	width: 100%;
	height: auto;
	display: block;
}

.flowstate-article-teal-badge {
	position: absolute;
	bottom: 20px;
	right: 20px;
	background-color: #0a3d40;
	color: #ffffff;
	padding: 1rem 1.5rem;
	border-radius: 12px;
	font-size: 0.92rem;
	line-height: 1.35;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

/* Causes Grid */
.flowstate-article-causes-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	margin: 1.75rem 0 2.5rem;
}

.flowstate-cause-card {
	background-color: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 1.25rem 1rem;
	text-align: center;
}

.flowstate-cause-icon {
	font-size: 1.75rem;
	margin-bottom: 0.5rem;
}

.flowstate-cause-card h4 {
	font-family: 'Jost', sans-serif;
	font-size: 0.95rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.35rem;
}

.flowstate-cause-card p {
	font-size: 0.8rem;
	color: #64748b;
	line-height: 1.45;
	margin: 0;
}

/* Adjust Row */
.flowstate-article-adjust-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.75rem;
	align-items: center;
	margin: 2rem 0;
}

.flowstate-adjust-photo {
	border-radius: 14px;
	overflow: hidden;
}

.flowstate-adjust-img {
	width: 100%;
	height: auto;
	display: block;
}

.flowstate-check-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.flowstate-check-list li {
	position: relative;
	padding-left: 1.75rem;
	font-size: 0.95rem;
	color: #334155;
}

.flowstate-check-list li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0;
	color: #0a3d40;
	font-weight: 800;
	font-size: 1.1rem;
}

/* Mini Steps Grid */
.flowstate-article-steps-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	margin: 1.75rem 0 2.5rem;
}

.flowstate-step-mini {
	background-color: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 1.25rem 1rem;
	text-align: center;
	position: relative;
}

.flowstate-step-num {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background-color: #0a3d40;
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 0.85rem;
	margin-bottom: 0.5rem;
}

.flowstate-step-mini h5 {
	font-family: 'Jost', sans-serif;
	font-size: 0.92rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.35rem;
}

.flowstate-step-mini p {
	font-size: 0.78rem;
	color: #64748b;
	line-height: 1.45;
	margin: 0;
}

/* FAQs inside article */
.flowstate-article-faqs {
	margin: 2rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.flowstate-mini-faq {
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 0.85rem 1.15rem;
	background-color: #ffffff;
}

.flowstate-mini-faq summary {
	font-family: 'Jost', sans-serif;
	font-weight: 700;
	color: #0a3d40;
	cursor: pointer;
	outline: none;
}

.flowstate-mini-faq p {
	font-size: 0.92rem;
	color: #475569;
	margin: 0.65rem 0 0 0;
	line-height: 1.6;
}

/* Recent Posts List in Sidebar */
.flowstate-recent-posts-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.flowstate-recent-item {
	display: flex;
	gap: 0.75rem;
	align-items: center;
}

.flowstate-recent-thumb-link {
	flex-shrink: 0;
	width: 68px;
	height: 56px;
	border-radius: 8px;
	overflow: hidden;
}

.flowstate-recent-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.flowstate-recent-info {
	flex: 1;
}

.flowstate-recent-title {
	font-family: 'Jost', sans-serif;
	font-size: 0.88rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.3;
	margin: 0 0 0.2rem 0;
}

.flowstate-recent-title a {
	color: #0a3d40;
	text-decoration: none;
}

.flowstate-recent-title a:hover {
	text-decoration: underline;
}

.flowstate-recent-date {
	font-size: 0.78rem;
	color: #94a3b8;
}

/* CTA Banner on Post */
.flowstate-post-cta-banner {
	background-color: #eaf5f1;
	padding: clamp(3rem, 5vw, 4.5rem) 0;
	position: relative;
	overflow: hidden;
}

.flowstate-post-cta-box {
	position: relative;
}

.flowstate-post-cta-title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(1.8rem, 3.5vw, 2.5rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.75rem;
}

.flowstate-post-cta-sub {
	font-size: 1rem;
	color: #475569;
	max-width: 600px;
	margin: 0 auto 1.75rem;
	line-height: 1.6;
}

.flowstate-post-cta-watermark {
	position: absolute;
	bottom: -15px;
	right: 0;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.5vw, 3rem);
	color: #0a3d40;
	opacity: 0.25;
	font-weight: 700;
	line-height: 1.1;
	display: flex;
	flex-direction: column;
	pointer-events: none;
	transform: rotate(-3deg);
	text-align: right;
}

/* Related Articles */
.flowstate-post-related-section {
	background-color: #ffffff;
	padding: clamp(3rem, 5vw, 4.5rem) 0;
	border-top: 1px solid #eef2f6;
}

.flowstate-related-heading {
	font-family: 'Jost', sans-serif;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 2rem;
}

.flowstate-related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
}

.flowstate-related-card {
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.25s ease;
}

.flowstate-related-card:hover {
	transform: translateY(-4px);
}

.flowstate-related-media-link {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.flowstate-related-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.flowstate-related-body {
	padding: 1.15rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.flowstate-related-title {
	font-family: 'Jost', sans-serif;
	font-size: 0.98rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.35;
	margin-bottom: 0.75rem;
	flex: 1;
}

.flowstate-related-title a {
	color: #0a3d40;
	text-decoration: none;
}

.flowstate-related-readmore {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: #0a3d40;
	text-decoration: none;
}

/* Responsive */
@media (max-width: 1100px) {
	.flowstate-blog-grid,
	.flowstate-related-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 1024px) {
	.flowstate-blog-hero__grid,
	.flowstate-post-hero__grid {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.flowstate-blog-hero__visual,
	.flowstate-post-hero__visual {
		max-width: 520px;
		margin: 0 auto;
	}

	.flowstate-blog-main__grid,
	.flowstate-post-main__grid {
		grid-template-columns: 1fr;
	}

	.flowstate-article-causes-grid,
	.flowstate-article-steps-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.flowstate-blog-hero__badges {
		grid-template-columns: repeat(2, 1fr);
	}

	.flowstate-blog-grid,
	.flowstate-related-grid {
		grid-template-columns: 1fr;
	}

	.flowstate-blog-smallsteps-box {
		flex-direction: column;
		text-align: center;
	}

	.flowstate-article-adjust-row {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.flowstate-blog-hero__title,
	.flowstate-post-hero__title {
		font-size: 2rem;
	}

	.flowstate-blog-hero__photo,
	.flowstate-post-hero__photo {
		height: 300px;
	}

	.flowstate-article-causes-grid,
	.flowstate-article-steps-grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
   Section 41: SEARCH RESULTS PAGE STYLES
   ============================================================ */

/* Hero Section */
.flowstate-search-hero {
	background: linear-gradient(135deg, #f7fbfa 0%, #eaf5f1 50%, #f0f8f5 100%);
	padding: clamp(3rem, 5vw, 4.5rem) 0 clamp(2.5rem, 4vw, 3.5rem);
	overflow: hidden;
	position: relative;
}

.flowstate-search-hero__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}

.flowstate-search-hero__eyebrow {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #0a3d40;
	margin-bottom: 0.75rem;
	opacity: 0.85;
}

.flowstate-search-hero__title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(2.2rem, 4.5vw, 3.2rem);
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.15;
	margin-bottom: 1rem;
}

.flowstate-search-hero__lead {
	font-size: clamp(0.95rem, 1.1vw, 1.05rem);
	color: #334155;
	line-height: 1.7;
	margin-bottom: 2rem;
	max-width: 520px;
}

/* Large Search Box */
.flowstate-search-large-form {
	display: flex;
	gap: 0.75rem;
	max-width: 540px;
}

.flowstate-search-input-wrap {
	position: relative;
	flex: 1;
	display: flex;
	align-items: center;
}

.flowstate-search-icon {
	position: absolute;
	left: 14px;
	color: #64748b;
	display: flex;
	align-items: center;
}

.flowstate-search-large-input {
	width: 100%;
	padding: 0.85rem 2.5rem 0.85rem 2.8rem;
	border: 1.5px solid #cbd5e1;
	border-radius: 10px;
	font-size: 1rem;
	color: #1e293b;
	background-color: #ffffff;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.flowstate-search-large-input:focus {
	border-color: #0a3d40;
	box-shadow: 0 0 0 3px rgba(10, 61, 64, 0.1);
}

.flowstate-search-clear-btn {
	position: absolute;
	right: 12px;
	background: none;
	border: none;
	font-size: 1.3rem;
	color: #94a3b8;
	cursor: pointer;
	padding: 0;
	line-height: 1;
}

.flowstate-search-submit-btn {
	padding: 0.85rem 1.8rem;
	font-size: 0.95rem;
	flex-shrink: 0;
}

/* Hero Visual */
.flowstate-search-hero__visual {
	position: relative;
}

.flowstate-search-hero__photo-box {
	position: relative;
	border-radius: 20px;
	overflow: visible;
}

.flowstate-search-hero__photo {
	width: 100%;
	height: 380px;
	object-fit: cover;
	border-radius: 20px;
	box-shadow: 0 16px 48px rgba(10, 61, 64, 0.12);
}

.flowstate-search-hero-script {
	position: absolute;
	top: 15px;
	right: -20px;
	font-family: 'Caveat', cursive;
	font-size: clamp(1.6rem, 2.8vw, 2.4rem);
	color: #8b6f3a;
	font-weight: 700;
	line-height: 1.15;
	display: flex;
	flex-direction: column;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.95);
	pointer-events: none;
	transform: rotate(-3deg);
}

/* Search Tabs Bar */
.flowstate-search-tabs-bar {
	background-color: #ffffff;
	padding: 1rem 0;
	border-bottom: 1px solid #e2e8f0;
}

.flowstate-search-tabs-list {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.flowstate-search-tab {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background-color: #f8fafc;
	border: 1px solid #e2e8f0;
	padding: 0.5rem 1.15rem;
	border-radius: 8px;
	font-family: 'Jost', sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
	color: #334155;
	cursor: pointer;
	transition: all 0.2s ease;
}

.flowstate-search-tab:hover {
	background-color: #e2e8f0;
}

.flowstate-search-tab.is-active {
	background-color: #0a3d40;
	color: #ffffff;
	border-color: #0a3d40;
}

.flowstate-tab-icon {
	display: flex;
	align-items: center;
}

/* Main Results Grid */
.flowstate-search-main-section {
	background-color: #ffffff;
	padding: clamp(3rem, 5vw, 4.5rem) 0;
}

.flowstate-search-main__grid {
	display: grid;
	grid-template-columns: 2.2fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

/* Results Header */
.flowstate-search-results-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid #e2e8f0;
	margin-bottom: 2rem;
}

.flowstate-search-count-info {
	font-size: 0.98rem;
	color: #334155;
}

.flowstate-search-count-info strong {
	color: #0a3d40;
}

.flowstate-search-sort-wrap {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.flowstate-sort-label {
	font-size: 0.88rem;
	color: #64748b;
}

.flowstate-sort-select {
	padding: 0.4rem 0.8rem;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	font-size: 0.88rem;
	color: #1e293b;
	background-color: #ffffff;
	outline: none;
}

/* Search Cards */
.flowstate-search-cards-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-bottom: 2.5rem;
}

.flowstate-search-card {
	display: flex;
	gap: 1.5rem;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 1.25rem;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.flowstate-search-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.08);
}

.flowstate-search-card__media {
	flex-shrink: 0;
	width: 220px;
	height: 150px;
	border-radius: 10px;
	overflow: hidden;
}

.flowstate-search-card__media--icon {
	background-color: #eaf5f1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-service-icon-box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.flowstate-search-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.flowstate-search-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.flowstate-search-card__meta-top {
	margin-bottom: 0.4rem;
}

.flowstate-search-badge {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 0.2rem 0.55rem;
	border-radius: 4px;
}

.flowstate-search-badge.is-blog {
	background-color: #eaf5f1;
	color: #0a3d40;
}

.flowstate-search-badge.is-service {
	background-color: #d1fae5;
	color: #065f46;
}

.flowstate-search-badge.is-page {
	background-color: #f1f5f9;
	color: #334155;
}

.flowstate-search-badge.is-faq {
	background-color: #e0f2fe;
	color: #0369a1;
}

.flowstate-search-badge.is-video {
	background-color: #fef3c7;
	color: #92400e;
}

.flowstate-search-badge.is-testimonial {
	background-color: #fce7f3;
	color: #9d174d;
}

.flowstate-search-card__title {
	font-family: 'Jost', sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.45rem;
	line-height: 1.3;
}

.flowstate-search-card__title a {
	color: #0a3d40;
	text-decoration: none;
}

.flowstate-search-card__title a:hover {
	text-decoration: underline;
}

.flowstate-search-card__excerpt {
	font-size: 0.88rem;
	color: #475569;
	line-height: 1.55;
	margin: 0 0 0.85rem 0;
	flex: 1;
}

.flowstate-search-card__meta-bottom {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	font-size: 0.82rem;
	color: #64748b;
}

.flowstate-search-meta-date,
.flowstate-search-meta-time {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.flowstate-search-readmore {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.84rem;
	font-weight: 700;
	color: #0a3d40;
	text-decoration: none;
}

.flowstate-search-readmore:hover {
	text-decoration: underline;
}

/* Sidebar */
.flowstate-search-sidebar {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

.flowstate-refine-box {
	background-color: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 1.5rem 1.25rem;
}

.flowstate-refine-title {
	font-family: 'Jost', sans-serif;
	font-size: 1.15rem;
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 1.15rem;
}

.flowstate-refine-input-wrap {
	position: relative;
	margin-bottom: 1.5rem;
}

.flowstate-refine-input {
	width: 100%;
	padding: 0.65rem 2.2rem 0.65rem 0.85rem;
	border: 1.5px solid #cbd5e1;
	border-radius: 8px;
	font-size: 0.92rem;
	color: #1e293b;
	background-color: #ffffff;
	outline: none;
}

.flowstate-refine-clear {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	font-size: 1.2rem;
	color: #94a3b8;
	cursor: pointer;
}

.flowstate-refine-group {
	margin-bottom: 1.25rem;
	border-bottom: 1px solid #e2e8f0;
	padding-bottom: 1.15rem;
}

.flowstate-refine-group:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 1.5rem;
}

.flowstate-refine-group-title {
	font-family: 'Jost', sans-serif;
	font-size: 0.92rem;
	font-weight: 700;
	color: #0a3d40;
	margin-bottom: 0.65rem;
}

.flowstate-checkbox-label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.86rem;
	color: #334155;
	margin-bottom: 0.45rem;
	cursor: pointer;
}

.flowstate-checkbox-label input {
	accent-color: #0a3d40;
}

.flowstate-checkbox-label .count {
	color: #94a3b8;
	font-size: 0.8rem;
}

.flowstate-refine-select {
	width: 100%;
	padding: 0.65rem 0.85rem;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font-size: 0.88rem;
	color: #1e293b;
	background-color: #ffffff;
	outline: none;
}

/* Support Widget */
.flowstate-support-widget {
	background-color: #eaf5f1;
	border: 1px solid #c7e6dc;
	border-radius: 14px;
	padding: 1.5rem 1.25rem;
	text-align: center;
}

.flowstate-support-icon {
	color: #0a3d40;
	margin-bottom: 0.75rem;
	display: flex;
	justify-content: center;
}

.flowstate-support-title {
	font-family: 'Jost', sans-serif;
	font-size: 1.05rem;
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.4rem;
	line-height: 1.3;
}

.flowstate-support-desc {
	font-size: 0.85rem;
	color: #475569;
	line-height: 1.55;
	margin-bottom: 1.25rem;
}

/* Help Banner */
.flowstate-search-help-banner {
	background-color: #f7fbfa;
	padding: clamp(3rem, 5vw, 4.5rem) 0;
	position: relative;
	overflow: hidden;
	border-top: 1px solid #eef2f6;
}

.flowstate-search-help-box {
	position: relative;
}

.flowstate-search-help-title {
	font-family: 'Jost', sans-serif;
	font-size: clamp(1.8rem, 3.5vw, 2.5rem);
	font-weight: 800;
	color: #0a3d40;
	margin-bottom: 0.75rem;
}

.flowstate-search-help-sub {
	font-size: 1rem;
	color: #475569;
	max-width: 600px;
	margin: 0 auto 1.75rem;
	line-height: 1.6;
}

.flowstate-search-help-watermark {
	position: absolute;
	bottom: -15px;
	right: 0;
	font-family: 'Caveat', cursive;
	font-size: clamp(2rem, 3.5vw, 3rem);
	color: #0a3d40;
	opacity: 0.25;
	font-weight: 700;
	line-height: 1.1;
	display: flex;
	flex-direction: column;
	pointer-events: none;
	transform: rotate(-3deg);
	text-align: right;
}

/* Responsive */
@media (max-width: 1024px) {
	.flowstate-search-hero__grid {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.flowstate-search-large-form {
		margin: 0 auto;
	}

	.flowstate-search-hero__visual {
		max-width: 520px;
		margin: 0 auto;
	}

	.flowstate-search-main__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.flowstate-search-card {
		flex-direction: column;
	}

	.flowstate-search-card__media {
		width: 100%;
		height: 180px;
	}

	.flowstate-search-results-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.75rem;
	}
}

@media (max-width: 640px) {
	.flowstate-search-hero__title {
		font-size: 2rem;
	}

	.flowstate-search-hero__photo {
		height: 300px;
	}

	.flowstate-search-large-form {
		flex-direction: column;
	}

	.flowstate-search-submit-btn {
		width: 100%;
	}

	.flowstate-search-tabs-list {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 6px;
	}

	.flowstate-search-tabs-list::-webkit-scrollbar {
		display: none;
	}

	.flowstate-search-tab {
		white-space: nowrap;
		flex-shrink: 0;
	}
}

/* ============================================================
   Section 42: FULL-SCREEN HERO BACKGROUND OUTSIDE CONTAINER
   ============================================================ */

.flowstate-hero--fullscreen-bg {
	position: relative;
	overflow: hidden;
	min-height: 85vh;
	display: flex;
	align-items: center;
	padding: clamp(4rem, 8vw, 7rem) 0;
	background-color: #0a3d40;
}

/* Full-bleed background outside container */
.flowstate-hero-fullscreen-media {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	pointer-events: none;
	overflow: hidden;
}

.flowstate-hero-fullscreen-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center right;
	display: block;
}

/* Semi-transparent soft gradient overlay for readability */
.flowstate-hero-fullscreen-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(247, 251, 250, 0.97) 0%,
		rgba(247, 251, 250, 0.93) 42%,
		rgba(247, 251, 250, 0.65) 65%,
		rgba(247, 251, 250, 0.15) 100%
	);
	z-index: 2;
}

/* Foreground Container on Top */
.flowstate-hero-foreground-container {
	position: relative;
	z-index: 3;
	width: 100%;
}

.flowstate-hero__visual--transparent {
	min-height: 480px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: relative;
}

.flowstate-hero-floating-elements {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 450px;
}

.flowstate-hero__visual--transparent .flowstate-float-badge--script {
	position: absolute;
	top: 20px;
	right: 10px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(8px);
	padding: 0.6rem 1.25rem;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.12);
}

.flowstate-hero__visual--transparent .flowstate-float-badge--teal {
	position: absolute;
	bottom: 110px;
	right: 15px;
	background-color: #0a3d40;
	color: #ffffff;
	box-shadow: 0 10px 30px rgba(10, 61, 64, 0.3);
}

.flowstate-hero__visual--transparent .flowstate-float-badge--location {
	position: absolute;
	bottom: 20px;
	left: 30px;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(8px);
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.15);
}

/* Responsive */
@media (max-width: 1100px) {
	.flowstate-hero-fullscreen-overlay {
		background: linear-gradient(
			90deg,
			rgba(247, 251, 250, 0.98) 0%,
			rgba(247, 251, 250, 0.92) 55%,
			rgba(247, 251, 250, 0.55) 85%,
			rgba(247, 251, 250, 0.25) 100%
		);
	}
}

@media (max-width: 1024px) {
	.flowstate-hero-fullscreen-overlay {
		background: linear-gradient(
			180deg,
			rgba(247, 251, 250, 0.96) 0%,
			rgba(247, 251, 250, 0.92) 60%,
			rgba(247, 251, 250, 0.80) 100%
		);
	}

	.flowstate-hero__visual--transparent {
		min-height: 240px;
	}

	.flowstate-hero-floating-elements {
		min-height: 220px;
	}
}

@media (max-width: 768px) {
	.flowstate-hero-fullscreen-overlay {
		background: rgba(247, 251, 250, 0.94);
	}

	.flowstate-hero__visual--transparent {
		display: none;
	}
}


/* PIXEL-PERFECT HOMEPAGE STYLES MATCHING MASTER MOCKUP media_1789403976604.png */
/* ==========================================================================
   PIXEL-PERFECT HOMEPAGE STYLES MATCHING MASTER MOCKUP media_1789403976604.png
   Pure Native CSS - FlowState NYC Theme
   ========================================================================== */

/* Topbar Refinement */
.flowstate-topbar {
	background-color: #0a3d40;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 500;
	padding: 8px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.flowstate-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.flowstate-topbar-left {
	display: flex;
	align-items: center;
	gap: 6px;
	color: rgba(255, 255, 255, 0.9);
}
.flowstate-topbar-center {
	letter-spacing: 0.2em;
	font-weight: 600;
	font-size: 0.8rem;
	color: #5ce1e6;
	text-transform: uppercase;
}
.flowstate-topbar-right {
	display: flex;
	align-items: center;
	gap: 20px;
}
.flowstate-topbar-phone {
	color: #ffffff;
	text-decoration: none;
	font-weight: 600;
	transition: color 0.2s;
}
.flowstate-topbar-phone:hover {
	color: #5ce1e6;
}
.flowstate-topbar-socials {
	display: flex;
	align-items: center;
	gap: 12px;
}
.flowstate-topbar-socials a {
	color: rgba(255, 255, 255, 0.85);
	transition: color 0.2s, transform 0.2s;
	display: inline-flex;
}
.flowstate-topbar-socials a:hover {
	color: #5ce1e6;
	transform: translateY(-1px);
}

/* ==========================================================================
   01. HERO SECTION (2-Column Mockup Layout)
   ========================================================================== */
.flowstate-hero--mockup-match {
	background-color: #f2f8f6;
	padding: 50px 0 70px;
	position: relative;
	overflow: hidden;
}
.flowstate-hero-dots-accent {
	position: absolute;
	top: 40px;
	left: 45%;
	width: 180px;
	height: 180px;
	background-image: radial-gradient(#5ce1e6 1.5px, transparent 1.5px);
	background-size: 14px 14px;
	opacity: 0.65;
	pointer-events: none;
	z-index: 1;
}
.flowstate-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.05fr);
	gap: 48px;
	align-items: center;
	position: relative;
	z-index: 2;
}
.flowstate-hero__eyebrow {
	color: #2a7e75;
	font-weight: 700;
	letter-spacing: 0.16em;
	font-size: 0.82rem;
	margin-bottom: 1rem;
	display: inline-block;
}
.flowstate-hero__title {
	font-size: 3.5rem;
	font-weight: 800;
	line-height: 1.12;
	color: #1e293b;
	margin: 0 0 1.2rem;
	letter-spacing: -0.02em;
}
.flowstate-hero__title-highlight {
	color: #0a3d40;
}
.flowstate-hero__subtitle {
	font-size: 1.15rem;
	font-weight: 600;
	color: #0a3d40;
	line-height: 1.4;
	margin: 0 0 1rem;
}
.flowstate-hero__desc {
	font-size: 1.02rem;
	color: #475569;
	line-height: 1.65;
	margin: 0 0 1.8rem;
	max-width: 520px;
}
.flowstate-hero__actions {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 2.5rem;
	flex-wrap: wrap;
}
.flowstate-hero-cta-btn {
	background-color: #0a3d40;
	color: #ffffff;
	border: 1.5px solid #0a3d40;
	padding: 12px 26px;
	font-weight: 600;
	box-shadow: 0 4px 14px rgba(10, 61, 64, 0.2);
}
.flowstate-hero-cta-btn:hover {
	background-color: #082d2f;
	color: #ffffff;
}
.flowstate-hero-sec-btn {
	background-color: #ffffff;
	color: #0a3d40;
	border: 1.5px solid #0a3d40;
	padding: 12px 24px;
	font-weight: 600;
}
.flowstate-hero-sec-btn:hover {
	background-color: #f7faf9;
	color: #0a3d40;
}
.flowstate-hero__feature-pills {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	padding-top: 1rem;
	border-top: 1px solid rgba(10, 61, 64, 0.1);
}
.flowstate-feature-pill {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}
.flowstate-feature-pill__icon {
	color: #0a3d40;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.flowstate-feature-pill__icon svg {
	width: 24px;
	height: 24px;
}
.flowstate-feature-pill__label {
	font-size: 0.8rem;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.3;
}

/* Right Column Visual */
.flowstate-hero-photo-wrapper {
	position: relative;
	width: 100%;
}
.flowstate-hero-script-top {
	font-family: var(--fs-font-script), 'Caveat', cursive;
	font-size: 2.4rem;
	color: #0a3d40;
	transform: rotate(-6deg);
	position: absolute;
	top: -24px;
	right: 18px;
	z-index: 4;
	font-weight: 600;
	pointer-events: none;
}
.flowstate-hero-img-box {
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 18px 45px rgba(10, 61, 64, 0.12);
	position: relative;
	z-index: 2;
	background: #ffffff;
}
.flowstate-hero-main-photo {
	width: 100%;
	height: auto;
	max-height: 580px;
	object-fit: cover;
	display: block;
}
.flowstate-hero-teal-card {
	position: absolute;
	right: -24px;
	top: 50%;
	transform: translateY(-50%);
	background: #0a3d40;
	color: #ffffff;
	border-radius: 18px;
	padding: 16px 22px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
	z-index: 5;
	display: flex;
	flex-direction: column;
	gap: 2px;
	border: 1px solid rgba(255, 255, 255, 0.1);
}
.flowstate-hero-teal-card__line {
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.35;
	color: #ffffff;
}
.flowstate-hero-teal-card__line--script {
	font-family: var(--fs-font-script), 'Caveat', cursive;
	font-size: 1.35rem;
	color: #5ce1e6;
}
.flowstate-hero-location-card {
	position: absolute;
	right: 18px;
	bottom: -22px;
	background: #ffffff;
	border-radius: 16px;
	padding: 12px 18px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.1);
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 12px;
	border: 1px solid #e2ece9;
}
.flowstate-hero-location-card__icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #eaf6f4;
	color: #0a3d40;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.flowstate-hero-location-card__icon svg {
	width: 18px;
	height: 18px;
}
.flowstate-hero-location-card__content {
	display: flex;
	flex-direction: column;
}
.flowstate-hero-location-card__title {
	font-size: 0.85rem;
	font-weight: 700;
	color: #1e293b;
	line-height: 1.2;
}
.flowstate-hero-location-card__desc {
	font-size: 0.78rem;
	color: #64748b;
	font-weight: 500;
}

/* ==========================================================================
   02. DOCTOR BIO (3-Column Layout)
   ========================================================================== */
.flowstate-section--doctor-bio {
	background-color: #ffffff;
	padding: clamp(3rem, 5vw, 4.5rem) 0;
	position: relative;
	overflow: visible;
}
.flowstate-doctor-intro--mockup {
	display: grid;
	grid-template-columns: 350px 1fr 300px;
	gap: 40px;
	align-items: center;
	position: relative;
}

/* --- Column 1: Layered Doctor Photo Frame --- */
.flowstate-doctor-intro__col-photo {
	position: relative;
	display: flex;
	justify-content: flex-start;
	padding-left: 45px;
}
.flowstate-doctor-frame-wrapper {
	position: relative;
	width: 250px;
	height: 370px;
}
.flowstate-doctor-frame-dots {
	position: absolute;
	top: 50%;
	left: -36px;
	transform: translateY(-50%);
	width: 38px;
	height: 130px;
	background-image: radial-gradient(#5ce1e6 2px, transparent 2px);
	background-size: 13px 13px;
	opacity: 0.9;
	z-index: 1;
	pointer-events: none;
}
.flowstate-doctor-frame-pastel {
	position: absolute;
	top: 50px;
	right: -48px;
	width: 135px;
	height: 250px;
	background: #dff4f0;
	border-radius: 18px;
	z-index: 1;
	pointer-events: none;
}
.flowstate-doctor-frame-teal-box {
	position: absolute;
	top: -18px;
	right: -24px;
	width: calc(100% - 10px);
	height: calc(100% + 18px);
	background: #0a3d40;
	border-radius: 14px;
	z-index: 2;
	pointer-events: none;
}
.flowstate-doctor-frame-reflection {
	position: absolute;
	top: 16px;
	left: -54px;
	width: 108px;
	height: calc(100% - 32px);
	border-radius: 12px;
	overflow: hidden;
	z-index: 3;
	box-shadow: -4px 6px 16px rgba(10, 61, 64, 0.12);
	pointer-events: none;
}
.flowstate-doctor-reflection-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 8% center;
	display: block;
}
.flowstate-doctor-frame-box {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 12px;
	overflow: hidden;
	z-index: 4;
	box-shadow: 0 14px 36px rgba(10, 61, 64, 0.18);
	background: #ffffff;
	border: none;
}
.flowstate-doctor-frame-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 68% 15%;
	display: block;
}

/* --- Column 2: Bio Copy & Action --- */
.flowstate-doctor-intro__col-bio {
	padding-right: 10px;
}
.flowstate-doctor-intro__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.16;
	color: #1e293b;
	margin: 0 0 1rem;
	letter-spacing: -0.015em;
}
.flowstate-doctor-intro__title-dark {
	color: #1e293b;
}
.flowstate-doctor-intro__text {
	font-size: 0.94rem;
	color: #475569;
	line-height: 1.65;
	margin-bottom: 1.35rem;
	max-width: 520px;
}
.flowstate-doctor-signature-block {
	margin-bottom: 1.5rem;
}
.flowstate-doctor-signature-script {
	font-family: var(--fs-font-script), 'Caveat', cursive;
	font-size: 2.3rem;
	color: #0a3d40;
	line-height: 1;
	font-weight: 600;
}
.flowstate-doctor-signature-sub {
	font-size: 0.85rem;
	color: #64748b;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin-top: 4px;
}
.flowstate-doctor-intro__action .flowstate-btn {
	background-color: #0a3d40;
	color: #ffffff !important;
	border-radius: 9999px;
	padding: 12px 28px;
	font-weight: 600;
	font-size: 0.92rem;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(10, 61, 64, 0.2);
	transition: background-color 0.2s, transform 0.2s;
}
.flowstate-doctor-intro__action .flowstate-btn:hover {
	background-color: #072b2d;
	transform: translateY(-1px);
}

/* --- Column 3: 4 Circular Badge Cards Stack with Left Divider --- */
.flowstate-doctor-intro__col-badges {
	display: flex;
	flex-direction: column;
	gap: 22px;
	border-left: 1px solid #e2ece9;
	padding-left: 36px;
}
.flowstate-circle-card {
	display: flex;
	align-items: center;
	gap: 16px;
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
	margin: 0;
	transition: transform 0.2s;
}
.flowstate-circle-card:hover {
	transform: translateX(4px);
	box-shadow: none;
}
.flowstate-circle-card__icon {
	width: 48px;
	height: 48px;
	min-width: 48px;
	border-radius: 50%;
	border: 1.5px solid #2a7e78;
	background: #ffffff;
	color: #0a3d40;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(42, 126, 120, 0.12);
	flex-shrink: 0;
}
.flowstate-circle-card__icon svg {
	width: 22px;
	height: 22px;
}
.flowstate-circle-card__title {
	font-size: 0.92rem;
	color: #1e293b;
	margin: 0;
	line-height: 1.3;
}
.flowstate-circle-card__bold {
	font-weight: 700;
	color: #1e293b;
	display: block;
}
.flowstate-circle-card__sub {
	font-weight: 400;
	color: #64748b;
	font-size: 0.82rem;
	display: block;
	margin-top: 2px;
}
.flowstate-circle-card__main {
	font-weight: 700;
	color: #1e293b;
	display: block;
}

/* ==========================================================================
   03. OUR CHIROPRACTIC CARE (White Cards)
   ========================================================================== */
.flowstate-section--dark-teal {
	background-color: #0a3d40;
	padding: 70px 0 80px;
}
.flowstate-service-card--white {
	background: #ffffff;
	border-radius: 14px;
	padding: 14px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 16px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.flowstate-service-card--white:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 35px rgba(0, 0, 0, 0.18);
}
.flowstate-service-card__thumb {
	width: 140px;
	height: 140px;
	min-width: 140px;
	border-radius: 10px;
	overflow: hidden;
	flex-shrink: 0;
}
.flowstate-service-card__thumb a {
	display: block;
	width: 100%;
	height: 100%;
}
.flowstate-service-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 10px;
	transition: transform 0.4s ease;
}
.flowstate-service-card--white:hover .flowstate-service-card__thumb img {
	transform: scale(1.05);
}
.flowstate-service-card__body {
	padding: 4px 6px 4px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-grow: 1;
}
.flowstate-service-card__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 6px;
	letter-spacing: -0.01em;
}
.flowstate-service-card__title a {
	color: #0a3d40;
	text-decoration: none;
	transition: color 0.2s;
}
.flowstate-service-card__title a:hover {
	color: #2a7e78;
}
.flowstate-service-card__desc {
	font-size: 0.81rem;
	color: #475569;
	line-height: 1.4;
	margin-bottom: 8px;
}
.flowstate-service-card__action {
	margin-top: auto;
}
.flowstate-service-card__action .flowstate-text-link {
	font-size: 0.84rem;
	font-weight: 700;
	color: #2a7e78;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	transition: color 0.2s;
}
.flowstate-service-card__action .flowstate-text-link:hover {
	color: #0a3d40;
}

/* ==========================================================================
   04. CONDITIONS WE SERVE (14 Cards Grid)
   ========================================================================== */
.flowstate-conditions-mockup-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 14px;
	margin-top: 2rem;
}
.flowstate-condition-box {
	background: #ffffff;
	border: 1px solid #e2ece9;
	border-radius: 14px;
	padding: 22px 10px 18px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: all 0.25s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}
.flowstate-condition-box:hover {
	transform: translateY(-4px);
	border-color: #0a3d40;
	box-shadow: 0 8px 20px rgba(10, 61, 64, 0.1);
}
.flowstate-condition-box__icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1.5px solid #0a3d40;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0a3d40;
	margin-bottom: 12px;
	transition: background-color 0.2s, color 0.2s;
}
.flowstate-condition-box:hover .flowstate-condition-box__icon {
	background-color: #0a3d40;
	color: #ffffff;
}
.flowstate-condition-box__icon svg {
	width: 22px;
	height: 22px;
}
.flowstate-condition-box__title {
	font-size: 0.82rem;
	font-weight: 700;
	color: #1e293b;
	line-height: 1.3;
}

/* ==========================================================================
   05. OUR APPROACH (3-Column Tri-Grid)
   ========================================================================== */
.flowstate-approach-tri-grid {
	display: grid;
	grid-template-columns: 1.15fr 1.25fr 0.95fr;
	gap: 40px;
	align-items: center;
}
.flowstate-video-player-box {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 14px 35px rgba(0, 0, 0, 0.12);
	background: #000000;
}
.flowstate-video-script-badge {
	position: absolute;
	top: 14px;
	right: 18px;
	font-family: var(--fs-font-script), 'Caveat', cursive;
	font-size: 1.85rem;
	color: #ffffff;
	z-index: 4;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
	pointer-events: none;
}
.flowstate-video-script-badge--left {
	right: auto;
	left: 18px;
}
.flowstate-video-poster-img {
	width: 100%;
	height: 340px;
	object-fit: cover;
	display: block;
	opacity: 0.92;
}
.flowstate-player-play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	color: #0a3d40;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
	z-index: 3;
	transition: transform 0.2s, background-color 0.2s;
}
.flowstate-player-play-btn:hover {
	transform: translate(-50%, -50%) scale(1.08);
	background: #ffffff;
}
.flowstate-player-play-btn svg {
	width: 22px;
	height: 22px;
	margin-left: 2px;
}
.flowstate-video-controls-bar {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.75));
	padding: 12px 16px;
	display: flex;
	align-items: center;
	gap: 12px;
	color: #ffffff;
	z-index: 3;
}
.flowstate-ctrl-btn {
	background: none;
	border: none;
	color: #ffffff;
	cursor: pointer;
	display: flex;
	align-items: center;
	padding: 0;
}
.flowstate-ctrl-time {
	font-size: 0.75rem;
	font-weight: 500;
	white-space: nowrap;
}
.flowstate-ctrl-progress {
	flex-grow: 1;
	height: 4px;
	background: rgba(255, 255, 255, 0.3);
	border-radius: 2px;
	overflow: hidden;
}
.flowstate-ctrl-progress__bar {
	height: 100%;
	background: #5ce1e6;
	border-radius: 2px;
}
.flowstate-ctrl-icons {
	display: flex;
	align-items: center;
	gap: 8px;
	color: rgba(255, 255, 255, 0.85);
}

.flowstate-approach-title {
	font-size: 2.2rem;
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin: 0 0 1.2rem;
}
.flowstate-approach-desc {
	font-size: 0.98rem;
	color: #475569;
	line-height: 1.7;
	margin-bottom: 1.5rem;
}
.flowstate-approach-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 1.8rem;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.flowstate-approach-checklist li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.92rem;
	font-weight: 600;
	color: #1e293b;
}
.flowstate-checklist-check {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #0a3d40;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.flowstate-checklist-check svg {
	width: 12px;
	height: 12px;
}

/* Quote Callout Box on Right */
.flowstate-approach-quote-box {
	background: #ffffff;
	border-radius: 20px;
	padding: 32px 28px;
	border: 1px solid #e2ece9;
	box-shadow: 0 10px 30px rgba(10, 61, 64, 0.06);
	position: relative;
}
.flowstate-approach-quote-mark {
	font-size: 4.5rem;
	color: #0a3d40;
	line-height: 0.8;
	font-family: Georgia, serif;
	margin-bottom: 8px;
}
.flowstate-approach-quote-text {
	font-size: 1.05rem;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.6;
	margin: 0 0 1.5rem;
	font-style: normal;
}
.flowstate-approach-signature {
	font-family: var(--fs-font-script), 'Caveat', cursive;
	font-size: 2.1rem;
	color: #0a3d40;
	line-height: 1.1;
}
.flowstate-approach-author-sub {
	font-size: 0.82rem;
	color: #64748b;
	font-weight: 600;
	margin-top: 2px;
}

/* ==========================================================================
   06. WATCH & LEARN
   ========================================================================== */
.flowstate-watch-grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 50px;
	align-items: center;
}
.flowstate-watch-title {
	font-size: 2.3rem;
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin: 0 0 1.2rem;
}
.flowstate-watch-desc {
	font-size: 1rem;
	color: #475569;
	line-height: 1.7;
	margin-bottom: 1.8rem;
}
.flowstate-watch-script-bottom {
	font-family: var(--fs-font-script), 'Caveat', cursive;
	font-size: 2.2rem;
	color: #0a3d40;
	margin-top: 1.8rem;
}

/* ==========================================================================
   07. RIBBON BAR
   ========================================================================== */
.flowstate-ribbon-bar--mockup {
	background-color: #0a3d40;
	padding: 28px 0;
}
.flowstate-ribbon-bar--mockup .flowstate-ribbon-bar__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}
.flowstate-ribbon-bar--mockup .flowstate-ribbon-item {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 16px;
}
.flowstate-ribbon-bar--mockup .flowstate-ribbon-item__icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, 0.35);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.flowstate-ribbon-bar--mockup .flowstate-ribbon-item__icon svg {
	width: 22px;
	height: 22px;
}
.flowstate-ribbon-bar--mockup .flowstate-ribbon-item__title {
	font-size: 1rem;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 3px;
}
.flowstate-ribbon-bar--mockup .flowstate-ribbon-item__desc {
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.75);
	margin: 0;
	line-height: 1.35;
}

/* ==========================================================================
   08. TESTIMONIALS (Side-by-side Avatar Cards)
   ========================================================================== */
.flowstate-testimonials-mockup-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 2rem;
}
.flowstate-testimonial-mockup-card {
	display: flex;
	gap: 18px;
	background: #ffffff;
	border-radius: 18px;
	padding: 24px 22px;
	border: 1px solid #e2ece9;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}
.flowstate-testimonial-mockup-card__avatar {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	border: 2px solid #5ce1e6;
}
.flowstate-testimonial-mockup-card__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.flowstate-testimonial-mockup-card__quote {
	font-size: 0.94rem;
	color: #334155;
	line-height: 1.55;
	margin: 0 0 10px;
	font-style: normal;
}
.flowstate-testimonial-mockup-card__name {
	font-size: 0.95rem;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 4px;
}
.flowstate-testimonial-mockup-card__stars {
	display: flex;
	gap: 3px;
	color: #f59e0b;
}

/* ==========================================================================
   09. BLOG POST CARDS
   ========================================================================== */
.flowstate-section--blog-mockup {
	background-color: #f4f9f8;
}
.flowstate-blog-mockup-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 2rem;
}
.flowstate-post-mockup-card {
	background: #ffffff;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid #e2ece9;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
	display: flex;
	flex-direction: column;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.flowstate-post-mockup-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}
.flowstate-post-mockup-card__thumb {
	height: 210px;
	overflow: hidden;
}
.flowstate-post-mockup-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.flowstate-post-mockup-card:hover .flowstate-post-mockup-card__thumb img {
	transform: scale(1.04);
}
.flowstate-post-mockup-card__body {
	padding: 22px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.flowstate-post-mockup-card__date {
	font-size: 0.82rem;
	color: #94a3b8;
	font-weight: 500;
	margin-bottom: 8px;
}
.flowstate-post-mockup-card__title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.35;
	margin: 0 0 16px;
}
.flowstate-post-mockup-card__title a {
	color: inherit;
	text-decoration: none;
}
.flowstate-post-mockup-card__action {
	margin-top: auto;
}
.flowstate-post-mockup-card__action .flowstate-text-link {
	font-size: 0.9rem;
	font-weight: 700;
	color: #0a3d40;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* ==========================================================================
   10. FAQ & VISIT US DUAL
   ========================================================================== */
.flowstate-faq-visit-grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 50px;
}
.flowstate-faq-col__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 1.8rem;
}
.flowstate-faq-title,
.flowstate-visit-title {
	font-size: 2.2rem;
	font-weight: 800;
	color: #0a3d40;
	line-height: 1.2;
	margin: 0;
}
.flowstate-faq-view-link {
	font-size: 0.9rem;
	font-weight: 700;
	color: #0a3d40;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
/* .flowstate-faq-box styles are unified globally in MASTER STANDARDIZED FAQ ACCORDION DESIGN section */


/* Visit Us Column - Unified White Card */
.flowstate-visit-card-unified {
	background: #ffffff;
	border: 1px solid #e2ece9;
	border-radius: 18px;
	padding: 24px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}
.flowstate-visit-card-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: stretch;
}
.flowstate-visit-left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.flowstate-visit-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.75rem;
	font-weight: 700;
	color: #1e293b;
	line-height: 1.22;
	margin: 0.4rem 0 1.1rem;
	letter-spacing: -0.015em;
}
.flowstate-visit-info-list {
	list-style: none;
	padding: 0;
	margin: 0 0 1.2rem;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.flowstate-visit-info-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.flowstate-visit-info-icon {
	color: #0a3d40;
	margin-top: 3px;
	flex-shrink: 0;
}
.flowstate-visit-info-icon svg {
	width: 18px;
	height: 18px;
}
.flowstate-visit-info-text p {
	margin: 0;
	font-size: 0.88rem;
	color: #475569;
	line-height: 1.45;
}
.flowstate-visit-info-text a {
	color: #1e293b;
	font-weight: 500;
	text-decoration: none;
}
.flowstate-visit-info-text strong {
	color: #1e293b;
	font-weight: 700;
}
.flowstate-visit-action .flowstate-btn {
	background-color: #0a3d40;
	color: #ffffff !important;
	border-radius: 9999px;
	padding: 10px 24px;
	font-weight: 600;
	font-size: 0.9rem;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(10, 61, 64, 0.18);
	transition: background-color 0.2s, transform 0.2s;
}
.flowstate-visit-action .flowstate-btn:hover {
	background-color: #072b2d;
	transform: translateY(-1px);
}

/* Map Card */
.flowstate-visit-right {
	display: flex;
}
.flowstate-visit-map-card {
	background: #eef6f4;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #d8ebd7;
	display: flex;
	flex-direction: column;
	width: 100%;
	position: relative;
}
.flowstate-map-card-graphic {
	flex: 1;
	min-height: 210px;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="400" height="300" viewBox="0 0 400 300"><rect width="400" height="300" fill="%23f2f7f5"/><path d="M-20,60 Q80,40 180,90 T380,140" fill="none" stroke="%23ffffff" stroke-width="18"/><path d="M80,-20 Q120,100 160,200 T240,320" fill="none" stroke="%23ffffff" stroke-width="14"/><path d="M220,-20 L260,320" fill="none" stroke="%23ffffff" stroke-width="10"/><path d="M-20,180 Q100,160 220,210 T420,240" fill="none" stroke="%23ffffff" stroke-width="12"/><path d="M260,110 C310,130 350,180 390,260 L390,300 L240,300 Z" fill="%23c2e6da" opacity="0.65"/><circle cx="50" cy="50" r="12" fill="%234285f4" opacity="0.85"/><circle cx="340" cy="40" r="10" fill="%234285f4" opacity="0.85"/><circle cx="270" cy="245" r="10" fill="%23e91e63" opacity="0.9"/></svg>') center center / cover no-repeat;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.flowstate-map-card-pin-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	top: -6px;
}
.flowstate-map-card-callout {
	background: #ffffff;
	padding: 8px 14px;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
	display: flex;
	flex-direction: column;
	font-size: 0.78rem;
	color: #1e293b;
	text-align: center;
	margin-bottom: 6px;
	border: 1px solid #e2ece9;
	line-height: 1.35;
}
.flowstate-map-card-callout strong {
	color: #0a3d40;
	font-size: 0.82rem;
	font-weight: 700;
	margin-bottom: 2px;
}
.flowstate-map-card-marker {
	color: #0a3d40;
	width: 32px;
	height: 32px;
	filter: drop-shadow(0 3px 6px rgba(0,0,0,0.2));
}
.flowstate-map-card-marker svg {
	width: 28px;
	height: 28px;
}
.flowstate-map-card-footer {
	padding: 10px 16px;
	text-align: right;
	background: #ffffff;
	border-top: 1px solid #e2ece9;
}
.flowstate-map-card-footer a {
	color: #2a7e78;
	font-size: 0.84rem;
	font-weight: 700;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.flowstate-map-card-footer a:hover {
	color: #0a3d40;
}

/* ==========================================================================
   11. FINAL CTA BANNER
   ========================================================================== */
.flowstate-cta-section--mockup {
	background-color: #0a3d40;
	background-image: none !important;
	padding: 85px 0;
	position: relative;
	overflow: hidden;
}
.flowstate-cta-section__inner {
	position: relative;
	z-index: 2;
	text-align: center;
}
.flowstate-eyebrow--mint-light {
	color: #5ce1e6;
	font-weight: 700;
	letter-spacing: 0.18em;
	font-size: 0.82rem;
	margin-bottom: 1rem;
	display: inline-block;
}
.flowstate-cta-title {
	color: #ffffff;
	font-size: 2.8rem;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 1rem;
}
.flowstate-cta-desc {
	color: rgba(255, 255, 255, 0.85);
	font-size: 1.05rem;
	margin: 0 auto 2rem;
	max-width: 580px;
}
.flowstate-cta-primary-btn {
	background-color: #ffffff;
	color: #0a3d40;
	padding: 14px 30px;
	font-weight: 700;
	font-size: 1rem;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}
.flowstate-cta-primary-btn:hover {
	background-color: #f7faf9;
	color: #082d2f;
}
.flowstate-cta-script-watermark {
	position: absolute;
	right: 3%;
	top: 50%;
	transform: translateY(-50%) rotate(-8deg);
	font-family: var(--fs-font-script), 'Caveat', cursive;
	font-size: 2.8rem;
	color: rgba(255, 255, 255, 0.55);
	line-height: 1.1;
	pointer-events: none;
	text-align: right;
}

/* ==========================================================================
   12. FOOTER LAYOUT
   ========================================================================== */
.flowstate-site-footer--mockup {
	background-color: #ffffff;
	padding-top: 0;
}
.flowstate-footer-mockup-layout {
	background: #ffffff;
	padding: 42px 0 36px;
	border-top: 1px solid #e2ece9;
}
.flowstate-footer-mockup-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
}
.flowstate-footer-mockup-center {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}
.flowstate-footer-mockup-nav {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.92rem;
	font-weight: 600;
}
.flowstate-footer-mockup-nav a {
	color: #1e293b;
	text-decoration: none;
	transition: color 0.2s;
}
.flowstate-footer-mockup-nav a:hover {
	color: #0a3d40;
}
.flowstate-footer-nav-sep {
	color: #cbd5e1;
	font-size: 0.8rem;
}
.flowstate-footer-mockup-socials {
	display: flex;
	align-items: center;
	gap: 14px;
}
.flowstate-footer-mockup-socials a {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #0a3d40;
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s, background-color 0.2s;
}
.flowstate-footer-mockup-socials a:hover {
	background-color: #135c60;
	transform: translateY(-2px);
}
.flowstate-footer-mockup-socials svg {
	width: 15px;
	height: 15px;
}
.flowstate-footer-mockup-locations {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 0.88rem;
	font-weight: 600;
	color: #1e293b;
}
.flowstate-footer-loc-item {
	display: flex;
	align-items: center;
	gap: 8px;
}
.flowstate-footer-loc-icon {
	color: #0a3d40;
}

/* Multi-Column Footer Grid with Conditions & Verified Badge */
.flowstate-footer-grid--columns {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1.1fr 1.3fr;
	gap: clamp(24px, 3.5vw, 44px);
	padding: 44px 0 36px;
}
.flowstate-footer-col__title {
	font-size: 1.05rem;
	font-weight: 700;
	color: #0a3d40;
	margin-top: 0;
	margin-bottom: 16px;
	letter-spacing: -0.01em;
}
.flowstate-footer-col__list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.flowstate-footer-col__list li {
	margin-bottom: 10px;
}
.flowstate-footer-col__list a {
	color: #475569;
	text-decoration: none;
	font-size: 0.92rem;
	transition: color 0.2s ease, transform 0.2s ease;
	display: inline-block;
}
.flowstate-footer-col__list a:hover {
	color: #0a3d40;
	transform: translateX(3px);
}
.flowstate-footer-col__text {
	color: #64748b;
	font-size: 0.9rem;
	line-height: 1.6;
	margin-top: 12px;
	margin-bottom: 16px;
}
.flowstate-footer-badge {
	margin-top: 16px;
	display: inline-block;
}
.flowstate-footer-badge img {
	max-width: 160px;
	height: auto;
	display: block;
}
.flowstate-footer-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
	font-size: 0.9rem;
	color: #334155;
	line-height: 1.5;
}
.flowstate-footer-contact-item a {
	color: #0a3d40;
	font-weight: 600;
	text-decoration: none;
}
.flowstate-footer-contact-item a:hover {
	text-decoration: underline;
}

/* Footer Bottom Bar */
.flowstate-footer-mockup-bottom {
	background-color: #0a3d40;
	padding: 16px 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.85rem;
}
.flowstate-footer-mockup-bottom__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.flowstate-footer-mockup-bottom__right a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	transition: color 0.2s;
}
.flowstate-footer-mockup-bottom__right a:hover {
	color: #5ce1e6;
}
.flowstate-footer-bottom-sep {
	margin: 0 8px;
	color: rgba(255, 255, 255, 0.4);
}

/* ==========================================================================
   RESPONSIVE QUERIES
   ========================================================================== */
@media (max-width: 1024px) {
	.flowstate-hero__grid {
		grid-template-columns: 1fr;
	}
	.flowstate-doctor-intro--mockup {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.flowstate-approach-tri-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-watch-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-conditions-mockup-grid {
		grid-template-columns: repeat(4, 1fr);
	}
	.flowstate-ribbon-bar--mockup .flowstate-ribbon-bar__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-faq-visit-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-footer-mockup-row {
		flex-direction: column;
		text-align: center;
	}
	.flowstate-footer-mockup-locations {
		align-items: center;
	}
	.flowstate-testimonials-mockup-grid,
	.flowstate-blog-mockup-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	.flowstate-footer-grid--columns {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}
}

@media (max-width: 640px) {
	.flowstate-hero__title {
		font-size: 2.5rem;
	}
	.flowstate-hero__feature-pills {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-conditions-mockup-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.flowstate-ribbon-bar--mockup .flowstate-ribbon-bar__grid {
		grid-template-columns: 1fr;
	}
	.flowstate-testimonials-mockup-grid,
	.flowstate-blog-mockup-grid {
		grid-template-columns: 1fr;
	}
	.flowstate-visit-dual-content {
		grid-template-columns: 1fr;
	}
	.flowstate-footer-grid--columns {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 30px 0 20px;
	}
	.flowstate-footer-mockup-bottom__inner {
		flex-direction: column;
		gap: 8px;
		text-align: center;
	}
}

/* ==========================================================================
   HOMEPAGE MOBILE SPACING & EMPTY GAPS OVERHAUL (ITEM 13)
   ========================================================================== */
@media (max-width: 768px) {
	/* Section Vertical Spacing */
	.flowstate-section {
		padding: 2.25rem 0 !important;
	}
	.flowstate-section--dark-teal {
		padding: 2.5rem 0 !important;
	}
	.flowstate-section-header {
		margin-bottom: 22px !important;
	}
	.flowstate-section-header--split {
		margin-bottom: 22px !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 12px !important;
	}

	/* Hero Section */
	.flowstate-hero--diagonal-cut {
		min-height: auto !important;
		height: auto !important;
		padding: 28px 0 20px !important;
		flex-direction: column !important;
	}
	.flowstate-hero__leaf-accent,
	.flowstate-hero__botanical-accent,
	.flowstate-hero__leaf-img,
	.flowstate-hero__diagonal-border-stroke,
	.flowstate-hero__diagonal-stroke,
	.flowstate-hero__diagonal-dots,
	.flowstate-hero__dot-matrix {
		display: none !important;
	}
	.flowstate-hero__container {
		grid-template-columns: 1fr !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
		gap: 0 !important;
	}
	.flowstate-hero__left-block {
		max-width: 100% !important;
	}
	.flowstate-hero__headline {
		font-size: clamp(1.85rem, 6.5vw, 2.35rem) !important;
		line-height: 1.18 !important;
		margin-bottom: 0.5rem !important;
	}
	.flowstate-hero__tagline-sub {
		font-size: 1.05rem !important;
		margin-bottom: 0.75rem !important;
	}
	.flowstate-hero__description {
		font-size: 0.92rem !important;
		line-height: 1.55 !important;
		margin-bottom: 1.1rem !important;
	}
	.flowstate-hero__button-group {
		margin-bottom: 1.25rem !important;
		gap: 10px !important;
		flex-direction: column !important;
		align-items: stretch !important;
	}
	.flowstate-hero__btn-calendar,
	.flowstate-hero__btn-how {
		justify-content: center !important;
		width: 100% !important;
		text-align: center !important;
	}
	.flowstate-hero__feature-row {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px 10px !important;
		margin-top: 1.25rem !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.flowstate-hero__feature-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
		padding: 8px 6px !important;
		gap: 6px !important;
	}
	.flowstate-hero__feature-title {
		font-size: 0.8rem !important;
		line-height: 1.3 !important;
		color: #0a3d40 !important;
		font-weight: 600 !important;
	}
	.flowstate-hero__right-block {
		min-height: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		display: none !important;
	}
	.flowstate-hero__teal-pill-card {
		display: none !important;
	}
	.flowstate-hero__container {
		order: 1 !important;
	}
	.flowstate-hero__location-badge-card {
		order: 10 !important;
		position: static !important;
		transform: none !important;
		margin: 20px auto 0 !important;
		display: inline-flex !important;
		align-self: center !important;
		width: fit-content !important;
	}

	/* Doctor Bio Section */
	.flowstate-doctor-intro--mockup {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
	.flowstate-doctor-intro__col-photo {
		padding-left: 0 !important;
		justify-content: center !important;
		margin: 0 auto 16px !important;
	}
	.flowstate-doctor-frame-wrapper {
		margin: 0 auto !important;
		width: 240px !important;
		height: 330px !important;
	}
	.flowstate-doctor-intro__col-bio {
		padding-right: 0 !important;
		text-align: left !important;
	}
	.flowstate-doctor-intro__title {
		font-size: clamp(1.65rem, 5.5vw, 2.1rem) !important;
		margin-bottom: 0.75rem !important;
	}
	.flowstate-doctor-intro__text {
		margin-bottom: 1rem !important;
		font-size: 0.92rem !important;
	}
	.flowstate-doctor-signature-block {
		margin-bottom: 1.1rem !important;
	}
	.flowstate-doctor-signature-script {
		font-size: 2rem !important;
	}
	.flowstate-doctor-intro__col-badges {
		border-left: none !important;
		padding-left: 0 !important;
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
		margin-top: 18px !important;
	}
	.flowstate-circle-card {
		gap: 10px !important;
	}
	.flowstate-circle-card__icon {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
	}
	.flowstate-circle-card__icon svg {
		width: 18px !important;
		height: 18px !important;
	}
	.flowstate-circle-card__title {
		font-size: 0.82rem !important;
	}

	/* Services Grid on Mobile */
	.flowstate-service-card--white {
		padding: 12px !important;
		gap: 12px !important;
	}
	.flowstate-service-card__thumb {
		width: 110px !important;
		height: 110px !important;
		min-width: 110px !important;
	}

	/* Conditions Grid on Mobile */
	.flowstate-conditions-mockup-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
		margin-top: 1.25rem !important;
	}
	.flowstate-condition-box {
		padding: 14px 8px 12px !important;
	}

	/* Approach Section on Mobile */
	.flowstate-approach-tri-grid {
		grid-template-columns: 1fr !important;
		gap: 22px !important;
	}
	.flowstate-approach-title {
		font-size: clamp(1.6rem, 5vw, 1.95rem) !important;
		margin-bottom: 0.75rem !important;
	}
	.flowstate-approach-checklist {
		margin: 14px 0 !important;
		gap: 8px !important;
	}
	.flowstate-approach-quote-box {
		padding: 20px !important;
		margin-top: 10px !important;
	}

	/* Ribbon Bar on Mobile */
	.flowstate-ribbon-bar--mockup {
		padding: 24px 0 !important;
	}
	.flowstate-ribbon-bar--mockup .flowstate-ribbon-bar__grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
	.flowstate-ribbon-bar--mockup .flowstate-ribbon-item,
	.flowstate-ribbon-item {
		display: flex !important;
		justify-content: flex-start !important;
		align-items: center !important;
		text-align: left !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 2px 0 !important;
	}
	.flowstate-ribbon-bar--mockup .flowstate-ribbon-item__icon,
	.flowstate-ribbon-item__icon {
		flex-shrink: 0 !important;
		margin-left: 0 !important;
	}
	.flowstate-ribbon-bar--mockup .flowstate-ribbon-item__body,
	.flowstate-ribbon-item__body {
		text-align: left !important;
		flex: 1 1 auto !important;
	}
	.flowstate-ribbon-bar--mockup .flowstate-ribbon-item__title,
	.flowstate-ribbon-item__title {
		text-align: left !important;
		margin: 0 0 3px !important;
	}
	.flowstate-ribbon-bar--mockup .flowstate-ribbon-item__desc,
	.flowstate-ribbon-item__desc {
		text-align: left !important;
		margin: 0 !important;
	}

	/* Watch & Learn on Mobile */
	.flowstate-watch-grid {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	/* Testimonials & Blog on Mobile (<= 768px) */
	.flowstate-testimonials-mockup-grid,
	.flowstate-blog-mockup-grid {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	/* FAQ & Visit Us on Mobile (<= 768px) */
	.flowstate-section--faq-visit-mockup {
		padding: 2.75rem 0 !important;
	}
	.flowstate-faq-visit-grid {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}
	.flowstate-faq-col__header {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 12px !important;
		margin-bottom: 1.25rem !important;
	}
	.flowstate-faq-title {
		font-size: 1.85rem !important;
		line-height: 1.2 !important;
	}
	.flowstate-faq-view-link {
		font-size: 0.9rem !important;
		font-weight: 700 !important;
	}
	.flowstate-faq-list .flowstate-faq-item,
	.flowstate-faq-list .flowstate-faq-box {
		margin-bottom: 10px !important;
	}

	/* Visit Us Unified Card on Mobile: Map on Top, Text Below */
	.flowstate-visit-card-unified {
		padding: 22px 20px !important;
		border-radius: 16px !important;
	}
	.flowstate-visit-card-grid {
		display: flex !important;
		flex-direction: column !important;
		gap: 22px !important;
	}
	.flowstate-visit-right {
		order: 1 !important;
		width: 100% !important;
	}
	.flowstate-visit-left {
		order: 2 !important;
		width: 100% !important;
	}
	.flowstate-visit-title {
		font-size: 1.55rem !important;
		line-height: 1.25 !important;
		margin: 0.25rem 0 0.85rem !important;
	}
	.flowstate-visit-info-list {
		margin-bottom: 1.2rem !important;
		gap: 12px !important;
	}
	.flowstate-visit-action .flowstate-btn {
		width: 100% !important;
		justify-content: center !important;
	}
	.flowstate-visit-map-card {
		border-radius: 12px !important;
		overflow: hidden !important;
		border: 1px solid #e2ece9 !important;
	}
	.flowstate-map-card-graphic {
		min-height: 240px !important;
		width: 100% !important;
		position: relative !important;
	}
	.flowstate-map-card-graphic iframe {
		width: 100% !important;
		height: 100% !important;
		min-height: 240px !important;
		border: 0 !important;
	}
	.flowstate-map-card-footer {
		padding: 10px 14px !important;
		background: #ffffff !important;
	}
}

@media (max-width: 480px) {
	.flowstate-section {
		padding: 1.75rem 0 !important;
	}
	.flowstate-doctor-intro__col-badges {
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}
	.flowstate-service-card--white {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
	.flowstate-service-card__thumb {
		width: 100% !important;
		height: 160px !important;
		min-width: 100% !important;
	}

	/* FAQ & Visit Us on Mobile Phones (<= 480px) */
	.flowstate-section--faq-visit-mockup {
		padding: 2rem 0 !important;
	}
	.flowstate-faq-title {
		font-size: 1.6rem !important;
	}
	.flowstate-visit-card-unified {
		padding: 18px 14px !important;
		border-radius: 14px !important;
	}
	.flowstate-visit-card-grid {
		display: flex !important;
		flex-direction: column !important;
		gap: 16px !important;
	}
	.flowstate-visit-right {
		order: 1 !important;
		width: 100% !important;
	}
	.flowstate-visit-left {
		order: 2 !important;
		width: 100% !important;
	}
	.flowstate-visit-title {
		font-size: 1.35rem !important;
	}
	.flowstate-visit-info-list li {
		font-size: 0.88rem !important;
		gap: 10px !important;
	}
	.flowstate-visit-info-icon {
		width: 20px !important;
		height: 20px !important;
		flex-shrink: 0 !important;
	}
	.flowstate-map-card-graphic {
		min-height: 210px !important;
	}
	.flowstate-map-card-graphic iframe {
		min-height: 210px !important;
	}
}

/* Schedule Page Jane App Booking Card Mobile Responsiveness */
@media (max-width: 640px) {
	.flowstate-janeapp-card {
		border-radius: 14px !important;
		margin-bottom: 24px !important;
	}
	.flowstate-janeapp-card > div:first-child {
		padding: 24px 18px !important;
	}
	.flowstate-janeapp-card > div:first-child .flowstate-btn {
		width: 100% !important;
		justify-content: center !important;
		padding: 12px 20px !important;
		font-size: 0.95rem !important;
	}
	.flowstate-janeapp-card > div:nth-child(2) {
		padding: 24px 16px !important;
	}
	.flowstate-janeapp-card [style*="grid-template-columns"] {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
}

/* Extra Small Mobile Screens (<= 400px) Fine-Tuning */
@media (max-width: 400px) {
	.flowstate-ribbon-bar--mockup .flowstate-ribbon-item,
	.flowstate-ribbon-item {
		gap: 12px !important;
	}
	.flowstate-ribbon-bar--mockup .flowstate-ribbon-item__icon,
	.flowstate-ribbon-item__icon {
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
	}
	.flowstate-ribbon-bar--mockup .flowstate-ribbon-item__title,
	.flowstate-ribbon-item__title {
		font-size: 0.92rem !important;
	}
	.flowstate-ribbon-bar--mockup .flowstate-ribbon-item__desc,
	.flowstate-ribbon-item__desc {
		font-size: 0.78rem !important;
	}
}


/* ==========================================================================
   DIAGONAL CUT FULL-BLEED HERO STYLES (MATCHING media_1789408887190.png)
   ========================================================================== */

.flowstate-hero--diagonal-cut {
	position: relative;
	width: 100%;
	min-height: 520px;
	overflow: visible;
	background-color: #ffffff;
	display: flex;
	align-items: center;
}

/* 1. Full-Bleed Doctor Photo Background */
.flowstate-hero__fullbleed-media {
	position: absolute;
	top: 0;
	right: 0;
	width: 58vw;
	height: 100%;
	z-index: 1;
	overflow: hidden;
}
.flowstate-hero__fullbleed-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
	display: block;
}

/* 2. Diagonal White Polygon Panel on the Left */
.flowstate-hero__diagonal-panel {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	background: #ffffff;
	clip-path: polygon(0 0, calc(50vw - 35px) 0, calc(50vw + 42px) 100%, 0 100%);
	z-index: 2;
	filter: drop-shadow(4px 0 14px rgba(72, 188, 166, 0.18));
}
.flowstate-hero__leaf-accent {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: auto;
	max-width: 40vw;
	z-index: 3;
	pointer-events: none;
	opacity: 0.35;
	overflow: hidden;
}
.flowstate-hero__leaf-img {
	height: 100%;
	width: auto;
	object-fit: contain;
	object-position: left center;
}
.flowstate-hero__diagonal-border-stroke {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	pointer-events: none;
	clip-path: polygon(calc(50vw - 35px) 0, calc(50vw - 15px) 0, calc(50vw + 62px) 100%, calc(50vw + 42px) 100%);
	background: linear-gradient(180deg, rgba(165, 232, 224, 0.75) 0%, rgba(92, 225, 230, 0.45) 100%);
	z-index: 3;
}

/* 3. Cyan Dot Matrix Grid on Seam */
.flowstate-hero__diagonal-dots {
	position: absolute;
	top: 50%;
	left: calc(50vw - 26px);
	transform: translateY(-50%);
	width: 52px;
	height: 110px;
	background-image: radial-gradient(#5ce1e6 2px, transparent 2px);
	background-size: 14px 14px;
	z-index: 4;
	pointer-events: none;
	opacity: 0.95;
}

/* 4. Foreground Content Container */
.flowstate-hero__container {
	position: relative;
	z-index: 10;
	display: grid;
	grid-template-columns: minmax(0, 560px) 1fr;
	gap: 40px;
	align-items: center;
	width: 100%;
	padding-top: 32px;
	padding-bottom: 32px;
}

/* Left Column Elements */
.flowstate-hero__left-block {
	max-width: 540px;
}
.flowstate-hero__eyebrow {
	color: #2a7e78;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin-bottom: 0.75rem;
	display: inline-block;
}
.flowstate-hero__headline {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.015em;
	margin: 0 0 0.85rem;
}
.flowstate-hero__headline-dark {
	color: #1e293b;
}
.flowstate-hero__headline-teal {
	color: #0a3d40;
}
.flowstate-hero__subheadline {
	font-size: 1.05rem;
	font-weight: 600;
	color: #0a3d40;
	line-height: 1.35;
	margin: 0 0 0.75rem;
}
.flowstate-hero__description {
	font-size: 0.93rem;
	color: #475569;
	line-height: 1.55;
	margin: 0 0 1.35rem;
	max-width: 500px;
}

/* Buttons */
.flowstate-hero__button-group {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}
.flowstate-hero__btn-calendar {
	background-color: #0a3d40;
	color: #ffffff !important;
	border-radius: 9999px;
	padding: 12px 26px;
	font-weight: 600;
	font-size: 0.92rem;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	border: 1.5px solid #0a3d40;
	box-shadow: 0 4px 14px rgba(10, 61, 64, 0.25);
	transition: background-color 0.2s, transform 0.2s;
}
.flowstate-hero__btn-calendar:hover {
	background-color: #072b2d;
	color: #ffffff !important;
	transform: translateY(-1px);
}
.flowstate-hero__btn-calendar svg {
	width: 18px;
	height: 18px;
}
.flowstate-hero__btn-how {
	background-color: #ffffff;
	color: #0a3d40 !important;
	border: 1.5px solid #2a7e78;
	border-radius: 9999px;
	padding: 12px 26px;
	font-weight: 600;
	font-size: 0.92rem;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}
.flowstate-hero__btn-how:hover {
	background-color: #f2f8f6;
	color: #0a3d40 !important;
}
.flowstate-hero__btn-how svg {
	width: 16px;
	height: 16px;
}

/* 4 Feature Row */
.flowstate-hero__feature-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(10, 61, 64, 0.12);
	max-width: 520px;
}
.flowstate-hero__feature-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
}
.flowstate-hero__feature-icon {
	color: #0a3d40;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.flowstate-hero__feature-icon svg {
	width: 24px;
	height: 24px;
}
.flowstate-hero__feature-title {
	font-size: 0.74rem;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.25;
}

/* Right Overlays (over doctor photo) */
.flowstate-hero__right-block {
	position: relative;
	height: 100%;
	min-height: 400px;
	pointer-events: none;
}
.flowstate-hero__script-top {
	position: absolute;
	top: 10px;
	right: 30px;
	font-family: var(--fs-font-script), 'Caveat', cursive;
	font-size: 2.7rem;
	color: #0a3d40;
	transform: rotate(-8deg);
	line-height: 1.05;
	font-weight: 600;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.85);
	z-index: 5;
}
.flowstate-hero__teal-pill-card {
	position: absolute;
	right: 0 !important;
	bottom: 0 !important;
	background-color: #0a3d40;
	color: #ffffff;
	border-radius: 20px 0 0 0;
	padding: 20px 32px 22px 28px;
	box-shadow: -6px 8px 25px rgba(0, 0, 0, 0.18);
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	border-left: 1px solid rgba(255, 255, 255, 0.15);
	pointer-events: auto;
	z-index: 6;
}
.flowstate-hero__teal-card-lines {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-family: var(--fs-font-script), 'Caveat', cursive;
	font-size: 1.55rem;
	color: #ffffff;
	line-height: 1.25;
}
.flowstate-hero__teal-line {
	color: #ffffff;
}
.flowstate-hero__teal-line--script {
	color: #5ce1e6;
}
.flowstate-hero__location-badge-card {
	background-color: #ffffff;
	border-radius: 14px;
	padding: 10px 20px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14);
	display: flex;
	align-items: center;
	gap: 12px;
	border: 1px solid #e2ece9;
	pointer-events: auto;
	z-index: 10;
}
@media (min-width: 1025px) {
	.flowstate-hero__location-badge-card {
		position: absolute !important;
		right: 280px !important;
		bottom: -28px !important;
	}
}
.flowstate-hero__location-pin-icon {
	color: #0a3d40;
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.flowstate-hero__location-pin-icon svg {
	width: 18px;
	height: 18px;
}
.flowstate-hero__location-info strong {
	font-size: 0.82rem;
	font-weight: 700;
	color: #1e293b;
	display: block;
}
.flowstate-hero__location-info span {
	font-size: 0.78rem;
	color: #64748b;
	font-weight: 500;
	display: block;
}

/* Responsive Queries for Hero */
@media (max-width: 1200px) {
	.flowstate-hero__headline {
		font-size: 3.1rem;
	}
	.flowstate-hero__diagonal-panel {
		clip-path: polygon(0 0, calc(52vw - 20px) 0, calc(52vw + 35px) 100%, 0 100%);
	}
	.flowstate-hero__diagonal-dots {
		left: calc(52vw - 15px);
	}
}

@media (max-width: 1024px) {
	.flowstate-hero--diagonal-cut {
		min-height: auto;
		padding: 40px 0;
	}
	.flowstate-hero__fullbleed-media {
		width: 100%;
		opacity: 0.22;
	}
	.flowstate-hero__diagonal-panel {
		clip-path: none;
		background: rgba(255, 255, 255, 0.94);
	}
	.flowstate-hero__leaf-accent,
	.flowstate-hero__botanical-accent,
	.flowstate-hero__leaf-img,
	.flowstate-hero__diagonal-border-stroke,
	.flowstate-hero__diagonal-stroke,
	.flowstate-hero__diagonal-dots,
	.flowstate-hero__dot-matrix {
		display: none !important;
	}
	.flowstate-hero__container {
		grid-template-columns: 1fr;
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.flowstate-hero__right-block {
		min-height: auto;
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	.flowstate-hero__script-top {
		position: static;
		transform: none;
		text-align: center;
	}
	.flowstate-hero__cluster {
		position: static;
		align-items: flex-start;
	}
}

@media (max-width: 900px) {
	.flowstate-hero__teal-pill-card,
	.flowstate-testimonials-hero-teal-box,
	.flowstate-hiw-hero-teal-box {
		bottom: 0 !important;
		right: 0 !important;
		border-radius: 16px 0 0 0 !important;
		padding: 14px 20px !important;
	}
	.flowstate-hero__location-badge-card {
		order: 10 !important;
		position: static !important;
		right: auto !important;
		left: auto !important;
		transform: none !important;
		bottom: auto !important;
		margin: 20px auto 0 !important;
		display: inline-flex !important;
		align-self: center !important;
		width: fit-content !important;
		white-space: nowrap !important;
	}
}

@media (max-width: 640px) {
	.flowstate-hero__headline {
		font-size: 2.4rem;
	}
	.flowstate-hero__feature-row {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px 10px !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.flowstate-hero__button-group {
		flex-direction: column;
		align-items: stretch;
	}
	.flowstate-hero__btn-calendar,
	.flowstate-hero__btn-how {
		justify-content: center;
	}
	.flowstate-hero__teal-pill-card {
		display: none !important;
	}
	.flowstate-testimonials-hero-teal-box,
	.flowstate-hiw-hero-teal-box {
		position: static !important;
		border-radius: 14px !important;
		margin: 20px auto 0 !important;
		text-align: center !important;
		width: 100% !important;
		max-width: 380px !important;
	}
	.flowstate-hero__location-badge-card {
		order: 10 !important;
		position: static !important;
		transform: none !important;
		margin: 20px auto 0 !important;
		display: inline-flex !important;
		align-self: center !important;
		width: fit-content !important;
	}
}

/* ==========================================================================
   CROSS-TEMPLATE COMPATIBILITY RULES FOR HERO & CLINIC SECTIONS
   ========================================================================== */

/* Hero Image full coverage */
.flowstate-hero__fullbleed-media picture {
	display: block;
	width: 100%;
	height: 100%;
}
.flowstate-hero__fullbleed-media img,
.flowstate-hero__image,
.flowstate-hero__fullbleed-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center 20% !important;
	display: block !important;
}

.flowstate-hero__leaf-accent picture {
	display: block;
	height: 100%;
	width: auto;
}
.flowstate-doctor-frame-box picture {
	display: block;
	width: 100%;
	height: 100%;
}

/* Botanical Leaf Accent */
.flowstate-hero__botanical-accent,
.flowstate-hero__leaf-accent {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: auto;
	max-width: 40vw;
	z-index: 3;
	pointer-events: none;
	opacity: 0.35;
	overflow: hidden;
}

/* Diagonal Seam Border Stroke */
.flowstate-hero__diagonal-stroke,
.flowstate-hero__diagonal-border-stroke {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	pointer-events: none;
	clip-path: polygon(calc(50vw - 35px) 0, calc(50vw - 15px) 0, calc(50vw + 62px) 100%, calc(50vw + 42px) 100%);
	background: linear-gradient(180deg, rgba(165, 232, 224, 0.75) 0%, rgba(92, 225, 230, 0.45) 100%);
	z-index: 3;
}

/* Diagonal Dot Matrix Grid */
.flowstate-hero__dot-matrix,
.flowstate-hero__diagonal-dots {
	position: absolute;
	top: 50%;
	left: calc(50vw - 26px);
	transform: translateY(-50%);
	width: 52px;
	height: 110px;
	background-image: radial-gradient(#5ce1e6 2px, transparent 2px);
	background-size: 14px 14px;
	z-index: 4;
	pointer-events: none;
	opacity: 0.95;
}

/* Dark Teal Card Lines */
.flowstate-hero__teal-pill-inner,
.flowstate-hero__teal-card-lines {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-family: var(--fs-font-script), 'Caveat', cursive;
	font-size: 1.55rem;
	color: #ffffff;
	line-height: 1.25;
}

.flowstate-hero__teal-line,
.flowstate-hero__teal-line-1,
.flowstate-hero__teal-line-2 {
	color: #ffffff;
}

.flowstate-hero__teal-line-3,
.flowstate-hero__teal-line--script {
	color: #5ce1e6;
	font-family: var(--fs-font-script), 'Caveat', cursive;
}

/* Location Badge Card */
.flowstate-hero__location-icon,
.flowstate-hero__location-pin-icon {
	color: #0a3d40;
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.flowstate-hero__location-icon svg,
.flowstate-hero__location-pin-icon svg {
	width: 18px;
	height: 18px;
}

.flowstate-hero__location-text,
.flowstate-hero__location-info {
	display: flex;
	flex-direction: column;
}
.flowstate-hero__location-text strong,
.flowstate-hero__location-info strong {
	font-size: 0.82rem;
	font-weight: 700;
	color: #1e293b;
	display: block;
}
.flowstate-hero__location-text span,
.flowstate-hero__location-info span {
	font-size: 0.78rem;
	color: #64748b;
	font-weight: 500;
	display: block;
}

/* Hero Content Column */
.flowstate-hero__content-col,
.flowstate-hero__left-block {
	max-width: 540px;
	z-index: 10;
}

.flowstate-hero__actions,
.flowstate-hero__button-group {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}

/* Feature Pills Row */
.flowstate-hero__feature-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(10, 61, 64, 0.12);
	max-width: 520px;
}

.flowstate-hero__pill-item,
.flowstate-hero__feature-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
}

.flowstate-hero__pill-icon,
.flowstate-hero__feature-icon {
	color: #0a3d40;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-hero__pill-icon svg,
.flowstate-hero__feature-icon svg {
	width: 24px;
	height: 24px;
}

.flowstate-hero__pill-text,
.flowstate-hero__feature-title {
	font-size: 0.74rem;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.25;
}

/* ==========================================================================
   HERO MOBILE RESPONSIVE STANDARDIZATION
   - Hides leaf background accent on mobile screens
   - Hides vertical seam stroke line and dots running down the middle
   - Converts feature items below buttons into a 2-column grid
   - Positions "Proudly Serving New York City" location card at the end of hero
   ========================================================================== */
@media (max-width: 1024px) {
	.flowstate-hero,
	.flowstate-hero--diagonal-cut,
	.flowstate-hiw-hero,
	.flowstate-testimonials-hero,
	.flowstate-prenatal-hero,
	.flowstate-hero--page,
	.flowstate-hero--cases,
	.flowstate-hero--wellness,
	.flowstate-page-hero,
	header.flowstate-hero,
	section.flowstate-hero {
		display: flex !important;
		flex-direction: column !important;
	}

	.flowstate-hero__container,
	.flowstate-container.flowstate-hero__container {
		order: 1 !important;
		width: 100% !important;
	}

	.flowstate-hero__location-badge-card,
	.flowstate-testimonials-hero .flowstate-hero__location-badge-card,
	.flowstate-hiw-hero .flowstate-hero__location-badge-card {
		order: 10 !important;
		position: static !important;
		transform: none !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		top: auto !important;
		margin: 22px auto 0 !important;
		display: inline-flex !important;
		align-self: center !important;
		z-index: 10 !important;
		width: fit-content !important;
	}

	.flowstate-hero__leaf-accent,
	.flowstate-hero__botanical-accent,
	.flowstate-hero__leaf-img,
	.flowstate-hero__diagonal-border-stroke,
	.flowstate-hero__diagonal-stroke,
	.flowstate-hero__diagonal-dots,
	.flowstate-hero__dot-matrix {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}

	.flowstate-hero__feature-row {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 14px 10px !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 1.25rem !important;
	}

	.flowstate-hero__feature-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
		padding: 8px 6px !important;
		gap: 6px !important;
	}

	.flowstate-hero__feature-title {
		font-size: 0.8rem !important;
		line-height: 1.3 !important;
		color: #0a3d40 !important;
		font-weight: 600 !important;
	}
}

/* Clinic Grid & Map Card Height Alignment */
.flowstate-section--clinic-info .flowstate-clinic-grid {
	align-items: stretch !important;
}

.flowstate-section--clinic-info .flowstate-clinic-col {
	display: flex;
	flex-direction: column;
}

.flowstate-section--clinic-info .flowstate-map-card {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
}

.flowstate-section--clinic-info .flowstate-map-card iframe {
	width: 100% !important;
	height: 100% !important;
	min-height: 280px !important;
	border: 0 !important;
	display: block !important;
}

/* ==========================================================================
   MASTER FAQ SECTION & ACCORDION STANDARDIZATION
   ========================================================================== */
.flowstate-section--faq-split,
.flowstate-section--faq-prenatal {
	background-color: #f8faf9;
	padding: clamp(4rem, 6vw, 6rem) 0;
}

.flowstate-section--faq-split .flowstate-split-grid,
.flowstate-section--faq-prenatal .flowstate-split-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: clamp(2rem, 4.5vw, 4.5rem);
	align-items: center;
}

@media (max-width: 1024px) {
	.flowstate-section--faq-split .flowstate-split-grid,
	.flowstate-section--faq-prenatal .flowstate-split-grid {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
}

/* ==========================================================================
   MASTER STANDARDIZED FAQ ACCORDION DESIGN (UNIFIED ACROSS ALL PAGES)
   Matches Reference Mockup: Circular Bubble on Left (+/-), No Right Toggle,
   Dark Teal Active Border, Clean Left Indentation
   ========================================================================== */
.flowstate-faq-box,
.flowstate-faq-item {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px !important;
	margin-bottom: 12px !important;
	overflow: hidden !important;
	box-shadow: none !important;
	transition: border-color 0.22s ease, box-shadow 0.22s ease !important;
}

.flowstate-faq-box:hover,
.flowstate-faq-item:hover {
	border-color: #cbd5e1 !important;
}

.flowstate-faq-box.is-open,
.flowstate-faq-box.is-active,
.flowstate-faq-item.is-open,
.flowstate-faq-item.is-active {
	border-color: #0a3d40 !important;
	box-shadow: 0 6px 20px rgba(10, 61, 64, 0.06) !important;
}

.flowstate-faq-box__trigger,
.flowstate-faq-trigger {
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	padding: 1.2rem 1.4rem !important;
	background: none !important;
	border: none !important;
	text-align: left !important;
	cursor: pointer !important;
	font-family: inherit !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: #0a3d40 !important;
	transition: color 0.2s ease !important;
}

.flowstate-faq-box__trigger:hover,
.flowstate-faq-trigger:hover {
	color: #0c7075 !important;
}

/* Left Circle Bubble Icon (Unified 28px Dark Teal Circle) */
.flowstate-faq-box__icon,
.flowstate-faq-icon-bubble,
.flowstate-faq-icon-circle {
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	border-radius: 50% !important;
	background: #0a3d40 !important;
	color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	font-size: 1.25rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	position: relative !important;
	transition: background-color 0.2s ease !important;
}

/* Hide any SVG icons inside the bubble across all templates */
.flowstate-faq-box__icon svg,
.flowstate-faq-icon-circle svg {
	display: none !important;
}

/* Pseudo plus/minus for elements without inner plus/minus spans */
.flowstate-faq-box__icon::after,
.flowstate-faq-icon-circle::after {
	content: '+';
	font-size: 1.25rem;
	line-height: 1;
	color: #ffffff;
	font-weight: 400;
	margin-top: -1px;
}

.flowstate-faq-box.is-open .flowstate-faq-box__icon::after,
.flowstate-faq-box.is-active .flowstate-faq-box__icon::after,
.flowstate-faq-box.is-open .flowstate-faq-icon-circle::after,
.flowstate-faq-box.is-active .flowstate-faq-icon-circle::after {
	content: '−';
	margin-top: -2px;
}

/* When inner spans exist (.flowstate-faq-icon-bubble), cancel pseudo content */
.flowstate-faq-icon-bubble::after {
	display: none !important;
	content: '' !important;
}

.flowstate-faq-icon-minus {
	display: none;
	margin-top: -2px;
}

.flowstate-faq-icon-plus {
	display: inline-block;
	margin-top: -1px;
}

.flowstate-faq-item.is-open .flowstate-faq-icon-minus,
.flowstate-faq-box.is-open .flowstate-faq-icon-minus,
.flowstate-faq-box.is-active .flowstate-faq-icon-minus {
	display: inline-block !important;
}

.flowstate-faq-item.is-open .flowstate-faq-icon-plus,
.flowstate-faq-box.is-open .flowstate-faq-icon-plus,
.flowstate-faq-box.is-active .flowstate-faq-icon-plus {
	display: none !important;
}

/* Hide right-side toggle everywhere */
.flowstate-faq-box__toggle,
.flowstate-accordion-icon,
.flowstate-faq-toggle {
	display: none !important;
}

/* Question Title */
.flowstate-faq-box__question,
.flowstate-faq-question-text {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: #0a3d40 !important;
	flex-grow: 1 !important;
	line-height: 1.4 !important;
	margin: 0 !important;
}

/* Answer Container & Indentation */
.flowstate-faq-box__answer,
.flowstate-faq-panel {
	padding: 0 1.4rem 1.4rem 4.1rem !important;
}

.flowstate-faq-box:not(.is-open):not(.is-active) .flowstate-faq-box__answer,
.flowstate-faq-panel[hidden] {
	display: none !important;
}

.flowstate-faq-box.is-open .flowstate-faq-box__answer,
.flowstate-faq-box.is-active .flowstate-faq-box__answer,
.flowstate-faq-item.is-open .flowstate-faq-panel:not([hidden]) {
	display: block !important;
}

.flowstate-faq-box__answer p,
.flowstate-faq-panel p,
.flowstate-faq-answer-inner p {
	font-size: 0.96rem !important;
	color: #475569 !important;
	line-height: 1.7 !important;
	margin: 0 0 0.75rem 0 !important;
}

.flowstate-faq-box__answer p:last-child,
.flowstate-faq-panel p:last-child,
.flowstate-faq-answer-inner p:last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 768px) {
	.flowstate-faq-box__trigger,
	.flowstate-faq-trigger {
		padding: 1rem 1.15rem !important;
		gap: 12px !important;
		font-size: 1rem !important;
	}
	.flowstate-faq-box__question,
	.flowstate-faq-question-text {
		font-size: 1rem !important;
		line-height: 1.38 !important;
	}
	.flowstate-faq-box__icon,
	.flowstate-faq-icon-bubble,
	.flowstate-faq-icon-circle {
		width: 26px !important;
		height: 26px !important;
		min-width: 26px !important;
		font-size: 1.15rem !important;
	}
	.flowstate-faq-box__answer,
	.flowstate-faq-panel {
		padding: 0 1.15rem 1.15rem 3.2rem !important;
	}
	.flowstate-faq-box__answer p,
	.flowstate-faq-panel p,
	.flowstate-faq-answer-inner p {
		font-size: 0.93rem !important;
		line-height: 1.6 !important;
	}
}

@media (max-width: 576px) {
	.flowstate-faq-box,
	.flowstate-faq-item {
		border-radius: 10px !important;
		margin-bottom: 10px !important;
	}
	.flowstate-faq-box__trigger,
	.flowstate-faq-trigger {
		padding: 0.88rem 0.95rem !important;
		gap: 10px !important;
		font-size: 0.95rem !important;
	}
	.flowstate-faq-box__question,
	.flowstate-faq-question-text {
		font-size: 0.95rem !important;
		line-height: 1.35 !important;
	}
	.flowstate-faq-box__icon,
	.flowstate-faq-icon-bubble,
	.flowstate-faq-icon-circle {
		width: 24px !important;
		height: 24px !important;
		min-width: 24px !important;
		font-size: 1.1rem !important;
	}
	.flowstate-faq-box__answer,
	.flowstate-faq-panel {
		padding: 0 0.95rem 1rem 0.95rem !important;
	}
	.flowstate-faq-box__answer p,
	.flowstate-faq-panel p,
	.flowstate-faq-answer-inner p {
		font-size: 0.9rem !important;
		line-height: 1.55 !important;
	}
}

/* "You're in Good Hands" Split Card */
.flowstate-prenatal-hands-split-card {
	display: flex;
	flex-direction: row;
	border-radius: 18px;
	overflow: hidden;
	background-color: #edf6f4;
	box-shadow: 0 10px 30px rgba(10, 61, 64, 0.08);
	width: 100%;
	max-width: 680px;
	align-items: stretch;
}

.flowstate-prenatal-hands-photo-col {
	flex: 0 0 45%;
	min-width: 0;
	position: relative;
	overflow: hidden;
}

.flowstate-prenatal-hands-photo-col img {
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	display: block;
}

.flowstate-prenatal-hands-script-overlay {
	position: absolute;
	bottom: 16px;
	left: 16px;
	right: 16px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	color: #ffffff;
	font-family: var(--fs-font-script, 'Dancing Script', 'Caveat', cursive, sans-serif);
	font-size: 1.4rem;
	line-height: 1.1;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
	pointer-events: none;
}

.flowstate-prenatal-hands-content-col {
	flex: 1 1 55%;
	padding: 30px 26px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.flowstate-prenatal-hands-title,
.flowstate-prenatal-hands-card__title {
	font-size: 1.85rem;
	line-height: 1.15;
	color: #0a3d40;
	font-family: var(--fs-font-sans);
	margin-top: 0;
	margin-bottom: 1.25rem;
}

.flowstate-prenatal-hands-checklist,
.flowstate-prenatal-hands-list {
	list-style: none !important;
	list-style-type: none !important;
	padding: 0 !important;
	margin: 0 0 1.5rem 0 !important;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.flowstate-prenatal-hands-checklist li,
.flowstate-prenatal-hands-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.94rem;
	font-weight: 500;
	color: #1e293b;
	list-style: none !important;
	list-style-type: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.flowstate-prenatal-hands-checklist li::before,
.flowstate-prenatal-hands-list li::before {
	content: none !important;
	display: none !important;
}

.flowstate-prenatal-check-circle {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #064e4b;
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 0.75rem;
	font-weight: 700;
	margin-right: 2px;
}

.flowstate-prenatal-hands-btn {
	background-color: #064e4b !important;
	color: #ffffff !important;
	border-radius: 9999px !important;
	padding: 13px 20px !important;
	font-weight: 600 !important;
	font-size: 0.94rem !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: 100% !important;
	border: none !important;
	box-shadow: 0 4px 14px rgba(6, 78, 75, 0.25);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.flowstate-prenatal-hands-btn:hover {
	background-color: #043836 !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

@media (max-width: 768px) {
	.flowstate-prenatal-hands-split-card {
		flex-direction: column !important;
		border-radius: 16px !important;
		max-width: 100% !important;
	}
	.flowstate-prenatal-hands-photo-col {
		flex: 0 0 auto !important;
		width: 100% !important;
		height: 220px !important;
		min-height: 220px !important;
		max-height: 240px !important;
	}
	.flowstate-prenatal-hands-photo-col img {
		width: 100% !important;
		height: 100% !important;
		min-height: 220px !important;
		max-height: 240px !important;
		object-fit: cover !important;
	}
	.flowstate-prenatal-hands-content-col {
		flex: 1 1 auto !important;
		width: 100% !important;
		padding: 24px 20px !important;
		box-sizing: border-box !important;
	}
	.flowstate-prenatal-hands-card__title {
		font-size: 1.55rem !important;
		margin-bottom: 1rem !important;
	}
	.flowstate-prenatal-hands-list {
		gap: 10px !important;
		margin-bottom: 1.25rem !important;
	}
	.flowstate-prenatal-hands-list li {
		font-size: 0.9rem !important;
	}
	.flowstate-prenatal-hands-btn {
		width: 100% !important;
		justify-content: center !important;
	}
}

@media (max-width: 480px) {
	.flowstate-prenatal-hands-photo-col {
		height: 190px !important;
		min-height: 190px !important;
		max-height: 200px !important;
	}
	.flowstate-prenatal-hands-photo-col img {
		min-height: 190px !important;
		max-height: 200px !important;
	}
	.flowstate-prenatal-hands-content-col {
		padding: 18px 14px !important;
	}
	.flowstate-prenatal-hands-card__title {
		font-size: 1.35rem !important;
	}
}

/* ==================================================
   HOW IT WORKS - FOUR SIMPLE STEPS SECTION (MOCKUP MATCH)
================================================== */
.flowstate-hiw-steps-section {
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
	background-color: #ffffff;
}

.flowstate-hiw-section-header {
	max-width: 680px;
	margin: 0 auto 3.5rem auto;
	text-align: center;
}

.flowstate-hiw-eyebrow {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #0a3d40;
	margin-bottom: 0.6rem;
}

.flowstate-hiw-heading {
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-weight: 800;
	color: #0b1a28;
	line-height: 1.2;
	margin-bottom: 0.8rem;
}

.flowstate-hiw-subheading {
	font-size: 1.05rem;
	color: #475569;
	line-height: 1.6;
}

/* Grid layout with arrows: 4 cards + 3 arrows in row (EQUAL HEIGHT) */
.flowstate-hiw-steps-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) !important;
	align-items: stretch !important;
	gap: 14px !important;
}

.flowstate-hiw-step-card {
	height: 100% !important;
	min-height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	background: #ffffff !important;
	border: 1px solid #e8f0ed !important;
	border-radius: 16px !important;
	padding: 14px 14px 22px !important;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.06) !important;
	box-sizing: border-box !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.flowstate-hiw-step-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.12) !important;
}

.flowstate-hiw-step-card__media {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 4 / 3 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background-color: #f1f5f9 !important;
	box-shadow: 0 4px 14px rgba(10, 61, 64, 0.08) !important;
	flex: 0 0 auto !important;
}

.flowstate-hiw-step-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.3s ease !important;
}

.flowstate-hiw-step-card:hover .flowstate-hiw-step-img {
	transform: scale(1.03) !important;
}

.flowstate-hiw-step-number {
	position: absolute !important;
	top: 10px !important;
	left: 10px !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background-color: #0a3d40 !important;
	color: #ffffff !important;
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 2 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}

.flowstate-hiw-step-arrow {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	margin-top: -50px !important;
	padding: 0 2px !important;
	flex-shrink: 0 !important;
}

.flowstate-hiw-step-arrow svg {
	width: 24px !important;
	height: 24px !important;
	color: #0a3d40 !important;
	display: block !important;
}

.flowstate-hiw-step-card__content {
	margin-top: 16px !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	justify-content: flex-start !important;
}

.flowstate-hiw-step-title {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: #0a3d40 !important;
	margin-bottom: 8px !important;
	line-height: 1.3 !important;
	min-height: 2.8em !important;
	display: flex !important;
	align-items: flex-start !important;
}

.flowstate-hiw-step-desc {
	font-size: 0.9rem !important;
	color: #475569 !important;
	line-height: 1.55 !important;
	margin: 0 !important;
	flex-grow: 1 !important;
}

.flowstate-hiw-inline-link {
	color: #0a3d40 !important;
	text-decoration: underline !important;
	font-weight: 600 !important;
}

.flowstate-hiw-inline-link:hover {
	color: #072b2d !important;
}

@media (max-width: 1024px) {
	.flowstate-hiw-steps-grid {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		grid-auto-rows: 1fr !important;
		gap: 28px !important;
	}
	.flowstate-hiw-step-arrow {
		display: none !important;
	}
}

@media (max-width: 640px) {
	.flowstate-hiw-steps-grid {
		grid-template-columns: 1fr !important;
		grid-auto-rows: auto !important;
		gap: 24px !important;
	}
	.flowstate-hiw-step-title {
		min-height: auto !important;
	}
}

/* ==================================================
   HOW IT WORKS - SECTION 3: MORE THAN ADJUSTMENTS (MOCKUP MATCH 1:1)
================================================== */
.flowstate-hiw-why-section {
	padding: clamp(3rem, 5vw, 5rem) 0;
	background-color: #ffffff;
}

.flowstate-hiw-why-card {
	background: linear-gradient(135deg, #eaf5f3 0%, #edf7f5 100%);
	border-radius: 20px;
	padding: clamp(2rem, 4.5vw, 3.5rem);
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr);
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
	position: relative;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(10, 61, 64, 0.05);
}

.flowstate-hiw-why-card::before {
	content: '';
	position: absolute;
	top: -20px;
	right: -20px;
	width: 220px;
	height: 220px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3d40' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round' opacity='0.15'%3E%3Cpath d='M12 3c-2 4-2 9 0 13 2-4 2-9 0-13z'/%3E%3Cpath d='M12 16c-3-2-7-1-9 2 3 1 7 0 9-2z'/%3E%3Cpath d='M12 16c3-2 7-1 9 2-3 1-7 0-9-2z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
}

.flowstate-hiw-why__visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.flowstate-hiw-why__photo-wrapper {
	position: relative;
	width: 100%;
	max-width: 490px;
	overflow: visible; /* Prevents cursive text from ever being clipped */
}

.flowstate-hiw-why__photo-box {
	position: relative;
	width: 100%;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 14px 35px rgba(10, 61, 64, 0.12);
	aspect-ratio: 4 / 3.4;
	background-color: #f1f5f9;
}

.flowstate-hiw-why__photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 15%;
	display: block;
}

.flowstate-hiw-why-script {
	position: absolute;
	top: 28%;
	left: -28px;
	transform: translateY(-50%) rotate(-7deg);
	font-family: 'Caveat', cursive, sans-serif;
	font-size: 2.1rem;
	font-weight: 700;
	color: #0c7075;
	line-height: 1.12;
	z-index: 5;
	text-shadow: 0 2px 10px rgba(255, 255, 255, 0.95), 0 0 16px rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
	pointer-events: none;
	white-space: nowrap;
}

.flowstate-hiw-why__content {
	position: relative;
	z-index: 2;
}

.flowstate-hiw-why__lead {
	font-size: 1.02rem;
	color: #475569;
	line-height: 1.65;
	margin-bottom: 1.8rem;
}

.flowstate-hiw-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 2.2rem 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.flowstate-hiw-checklist-item {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.96rem;
	font-weight: 600;
	color: #1e293b;
}

.flowstate-hiw-check-icon {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #0a3d40;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-hiw-watermark {
	position: absolute;
	bottom: -15px;
	right: 10px;
	transform: rotate(-6deg);
	font-family: 'Caveat', cursive, sans-serif;
	font-size: 2rem;
	font-weight: 700;
	color: #0a3d40;
	line-height: 1.1;
	opacity: 0.9;
	display: flex;
	flex-direction: column;
	pointer-events: none;
}

@media (max-width: 900px) {
	.flowstate-hiw-why-card {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
	.flowstate-hiw-why__photo-wrapper {
		max-width: 440px;
	}
	.flowstate-hiw-why-script {
		left: 0;
		top: 20%;
	}
	.flowstate-hiw-watermark {
		position: static;
		transform: none;
		margin-top: 1.5rem;
		text-align: right;
	}
}

/* ==================================================
   HOW IT WORKS - HERO SECTION (1:1 MOCKUP MATCH)
================================================== */
.flowstate-hiw-hero {
	position: relative;
	z-index: 5 !important;
	min-height: clamp(540px, 68vh, 700px) !important;
	background-color: #f8fafc !important;
	overflow: visible !important;
	display: flex !important;
	align-items: center !important;
}

/* Hide cluttering leaf accent and seam dots for HIW hero */
.flowstate-hiw-hero .flowstate-hero__leaf-accent,
.flowstate-hiw-hero .flowstate-hero__diagonal-dots {
	display: none !important;
}

/* Fullbleed media layer: woman smiling with eyes closed on right */
.flowstate-hiw-hero .flowstate-hero__fullbleed-media {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	width: 52vw !important;
	height: 100% !important;
	z-index: 1 !important;
	overflow: hidden !important;
	opacity: 1 !important;
}

.flowstate-hiw-hero .flowstate-hero__fullbleed-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center 20% !important;
	display: block !important;
}

/* Diagonal panel: clean soft mint/white panel */
.flowstate-hiw-hero .flowstate-hero__diagonal-panel {
	background: linear-gradient(135deg, #ffffff 0%, #f4fbf9 60%, #ebf8f5 100%) !important;
	clip-path: polygon(0 0, calc(58vw + 30px) 0, calc(58vw - 65px) 100%, 0 100%) !important;
	box-shadow: 10px 0 30px rgba(12, 74, 79, 0.06) !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	z-index: 2 !important;
}

/* Diagonal border stroke: delicate soft mint cyan wash along the seam */
.flowstate-hiw-hero .flowstate-hero__diagonal-border-stroke {
	clip-path: polygon(calc(58vw + 30px) 0, calc(58vw + 48px) 0, calc(58vw - 47px) 100%, calc(58vw - 65px) 100%) !important;
	background: linear-gradient(180deg, rgba(165, 232, 224, 0.75) 0%, rgba(92, 225, 230, 0.4) 100%) !important;
	z-index: 3 !important;
}

/* Foreground container */
.flowstate-hiw-hero .flowstate-hero__container {
	position: relative !important;
	z-index: 10 !important;
	display: grid !important;
	grid-template-columns: minmax(0, 580px) 1fr !important;
	gap: 40px !important;
	align-items: center !important;
	width: 100% !important;
	padding-top: clamp(40px, 5vw, 64px) !important;
	padding-bottom: clamp(40px, 5vw, 64px) !important;
}

/* Left block */
.flowstate-hiw-hero__left-block {
	max-width: 550px !important;
}

/* Eyebrow: A SIMPLE PROCESS. A HEALTHIER YOU. */
.flowstate-hiw-hero__eyebrow {
	color: #0c4a4f !important;
	font-family: var(--fs-font-sans, 'Jost', sans-serif) !important;
	font-size: 0.84rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	margin-bottom: 0.95rem !important;
	display: inline-block !important;
	line-height: 1.3 !important;
}

/* Title: 3 stacked lines */
.flowstate-hiw-hero__title {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: clamp(2.5rem, 4.3vw, 3.5rem) !important;
	line-height: 1.14 !important;
	letter-spacing: -0.015em !important;
	margin: 0 0 1.4rem 0 !important;
	display: flex !important;
	flex-direction: column !important;
}

/* Line 1: How It Works - Deep Navy/Indigo */
.flowstate-hiw-hero__title .flowstate-hiw-title-line1 {
	color: #122448 !important;
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: clamp(2.4rem, 4.2vw, 3.4rem) !important;
	font-weight: 700 !important;
	display: block !important;
	margin-bottom: 0.15em !important;
}

/* Line 2: Your Path to Better Health - Deep Teal (Smaller Subheading Size) */
.flowstate-hiw-hero__title .flowstate-hiw-title-line2 {
	color: #0c4a4f !important;
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: clamp(1.6rem, 2.6vw, 2.2rem) !important;
	font-weight: 700 !important;
	display: block !important;
	line-height: 1.22 !important;
}

/* Line 3: in Lower Manhattan - Deep Teal (Smaller Subheading Size) */
.flowstate-hiw-hero__title .flowstate-hiw-title-line3 {
	color: #0c4a4f !important;
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: clamp(1.6rem, 2.6vw, 2.2rem) !important;
	font-weight: 700 !important;
	display: block !important;
	line-height: 1.22 !important;
}

/* Paragraph lead */
.flowstate-hiw-hero__lead {
	font-family: var(--fs-font-sans, 'Jost', sans-serif) !important;
	font-size: 1.02rem !important;
	color: #334155 !important;
	line-height: 1.65 !important;
	max-width: 530px !important;
	margin: 0 0 2.5rem 0 !important;
}

.flowstate-hiw-hero .flowstate-hero__subheadline {
	display: none !important;
}

/* Feature Badges Row (NO line above, NO background boxes on icons) */
.flowstate-hiw-hero__badges {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: clamp(20px, 3.6vw, 44px) !important;
	margin-top: 0 !important;
	border-top: none !important;
	padding-top: 0 !important;
	max-width: 560px !important;
}

.flowstate-hiw-badge {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	gap: 12px !important;
	flex: 0 0 auto !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	box-shadow: none !important;
}

.flowstate-hiw-badge__icon {
	width: 44px !important;
	height: 44px !important;
	background: transparent !important;
	color: #0c4a4f !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	transition: transform 0.2s ease !important;
}

.flowstate-hiw-badge:hover .flowstate-hiw-badge__icon {
	transform: translateY(-2px) !important;
	background: transparent !important;
}

.flowstate-hiw-badge__icon svg {
	width: 36px !important;
	height: 36px !important;
	stroke: #0c4a4f !important;
}

.flowstate-hiw-badge__text {
	display: flex !important;
	flex-direction: column !important;
	font-family: var(--fs-font-sans, 'Jost', sans-serif) !important;
	font-size: 0.88rem !important;
	line-height: 1.25 !important;
	color: #0c4a4f !important;
	text-align: center !important;
}

.flowstate-hiw-badge__text strong {
	font-weight: 700 !important;
	color: #0c4a4f !important;
	display: block !important;
}

.flowstate-hiw-badge__text span {
	font-weight: 700 !important;
	color: #0c4a4f !important;
	display: block !important;
}

/* Right block — cursive text overlay and teal card */
.flowstate-hiw-hero .flowstate-hero__right-block {
	position: relative !important;
	height: 100% !important;
	min-height: 400px !important;
	pointer-events: none !important;
}

.flowstate-hiw-hero .flowstate-hero__script-top {
	position: absolute !important;
	top: 10px !important;
	right: 30px !important;
	transform: rotate(-8deg) !important;
}

.flowstate-hiw-hero .flowstate-hero__teal-pill-card {
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: 6 !important;
}

@media (min-width: 1025px) {
	.flowstate-hiw-hero .flowstate-hero__location-badge-card {
		position: absolute !important;
		right: 280px !important;
		bottom: -28px !important;
		z-index: 10 !important;
	}
}

/* --- HIW Hero Responsive: Tablet --- */
@media (max-width: 1200px) {
	.flowstate-hiw-hero .flowstate-hero__diagonal-panel {
		clip-path: polygon(0 0, calc(58vw + 10px) 0, calc(58vw - 50px) 100%, 0 100%) !important;
	}
	.flowstate-hiw-hero .flowstate-hero__diagonal-border-stroke {
		clip-path: polygon(calc(58vw + 10px) 0, calc(58vw + 26px) 0, calc(58vw - 34px) 100%, calc(58vw - 50px) 100%) !important;
	}
}

@media (max-width: 1024px) {
	.flowstate-hiw-hero {
		min-height: auto !important;
		padding: 40px 0 !important;
	}
	.flowstate-hiw-hero .flowstate-hero__fullbleed-media {
		width: 100% !important;
		opacity: 0.18 !important;
	}
	.flowstate-hiw-hero .flowstate-hero__diagonal-panel {
		clip-path: none !important;
		background: rgba(255, 255, 255, 0.96) !important;
	}
	.flowstate-hiw-hero .flowstate-hero__diagonal-border-stroke {
		display: none !important;
	}
	.flowstate-hiw-hero .flowstate-hero__container {
		grid-template-columns: 1fr !important;
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}
	.flowstate-hiw-hero .flowstate-hero__right-block {
		min-height: auto !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 20px !important;
	}
	.flowstate-hiw-hero .flowstate-hero__script-top {
		position: static !important;
		transform: none !important;
		text-align: center !important;
	}
	.flowstate-hiw-hero .flowstate-hero__teal-pill-card {
		position: static !important;
		border-radius: 14px !important;
		text-align: center !important;
	}
}

@media (max-width: 900px) {
	.flowstate-hiw-hero__badges {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
	}
}

@media (max-width: 640px) {
	.flowstate-hiw-hero__title .flowstate-hiw-title-line1 {
		font-size: 2.1rem !important;
	}
	.flowstate-hiw-hero__title .flowstate-hiw-title-line2,
	.flowstate-hiw-hero__title .flowstate-hiw-title-line3 {
		font-size: 1.45rem !important;
	}
}

/* ==================================================
   TESTIMONIALS HERO SECTION STYLING
================================================== */
.flowstate-testimonials-hero__title {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: clamp(2.5rem, 4.3vw, 3.5rem) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.015em !important;
	margin: 0 0 1.0rem 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}

/* Line 1: Patient Testimonials */
.flowstate-testimonials-hero__title .flowstate-testimonials-title-line1,
.flowstate-testimonials-hero__title .flowstate-hero__headline-dark,
.flowstate-testimonials-hero .flowstate-hero__headline-dark {
	color: #1e293b !important;
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: clamp(2.4rem, 4.2vw, 3.4rem) !important;
	font-weight: 700 !important;
	display: block !important;
	margin-bottom: 0 !important;
	line-height: 1.05 !important;
}

/* Line 2: "From Our Community" (Reduced Subtitle Font Size) */
.flowstate-testimonials-hero__title .flowstate-testimonials-title-line2,
.flowstate-testimonials-hero__title .flowstate-hero__headline-teal,
.flowstate-testimonials-hero .flowstate-hero__headline-teal {
	color: #0a3d40 !important;
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: clamp(1.5rem, 2.4vw, 2.0rem) !important;
	font-weight: 700 !important;
	display: block !important;
	line-height: 1.15 !important;
	margin-top: 0 !important;
}

.flowstate-testimonials-hero .flowstate-hero__subheadline {
	display: none !important;
}

@media (max-width: 640px) {
	.flowstate-testimonials-hero__title .flowstate-testimonials-title-line1,
	.flowstate-testimonials-hero__title .flowstate-hero__headline-dark,
	.flowstate-testimonials-hero .flowstate-hero__headline-dark {
		font-size: 2.1rem !important;
	}
	.flowstate-testimonials-hero__title .flowstate-testimonials-title-line2,
	.flowstate-testimonials-hero__title .flowstate-hero__headline-teal,
	.flowstate-testimonials-hero .flowstate-hero__headline-teal {
		font-size: 1.45rem !important;
	}
}

/* ==========================================================================
   GLOBAL SUB-PAGE HERO HEIGHT STANDARDIZATION (700PX FOR ALL SUB-PAGES)
   Excludes Homepage (body.home / body.front-page)
   ========================================================================== */
@media (min-width: 1025px) {
	body:not(.home):not(.front-page) .flowstate-hero,
	body:not(.home):not(.front-page) .flowstate-hero--diagonal-cut,
	body:not(.home):not(.front-page) .flowstate-hiw-hero,
	body:not(.home):not(.front-page) .flowstate-testimonials-hero,
	body:not(.home):not(.front-page) .flowstate-prenatal-hero,
	body:not(.home):not(.front-page) .flowstate-hero--page,
	body:not(.home):not(.front-page) .flowstate-hero--cases,
	body:not(.home):not(.front-page) .flowstate-hero--wellness,
	body:not(.home):not(.front-page) .flowstate-page-hero,
	body:not(.home):not(.front-page) .flowstate-hero--mockup-match,
	body:not(.home):not(.front-page) header.flowstate-hero,
	body:not(.home):not(.front-page) section.flowstate-hero {
		height: 700px !important;
		min-height: 700px !important;
		max-height: 700px !important;
	}

	body:not(.home):not(.front-page) .flowstate-hero .flowstate-hero__container,
	body:not(.home):not(.front-page) .flowstate-hero--diagonal-cut .flowstate-hero__container,
	body:not(.home):not(.front-page) .flowstate-hiw-hero .flowstate-hero__container,
	body:not(.home):not(.front-page) .flowstate-testimonials-hero .flowstate-hero__container {
		height: 100% !important;
		min-height: 700px !important;
		align-items: center !important;
	}
}

@media (max-width: 1024px) {
	body:not(.home):not(.front-page) .flowstate-hero,
	body:not(.home):not(.front-page) .flowstate-hero--diagonal-cut,
	body:not(.home):not(.front-page) .flowstate-hiw-hero,
	body:not(.home):not(.front-page) .flowstate-testimonials-hero,
	body:not(.home):not(.front-page) .flowstate-prenatal-hero,
	body:not(.home):not(.front-page) .flowstate-hero--page,
	body:not(.home):not(.front-page) .flowstate-hero--cases,
	body:not(.home):not(.front-page) .flowstate-hero--wellness,
	body:not(.home):not(.front-page) header.flowstate-hero,
	body:not(.home):not(.front-page) section.flowstate-hero {
		height: auto !important;
		min-height: auto !important;
		max-height: none !important;
		padding: 40px 0 !important;
	}
}

/* ==========================================================================
   UNIFIED ACCESSIBLE BREADCRUMB STYLING (1:1 MATCH FOR MOCKUP)
   ========================================================================== */
.flowstate-breadcrumb,
.flowstate-breadcrumbs,
.flowstate-breadcrumb-list {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	font-family: var(--fs-font-sans, 'Jost', sans-serif) !important;
	font-size: 0.88rem !important;
	line-height: 1.4 !important;
	margin: 0 0 0.9rem 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: transparent !important;
}

.flowstate-breadcrumb-item {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
}

.flowstate-breadcrumb a,
.flowstate-breadcrumbs a,
.flowstate-breadcrumb-item a {
	color: #64748b !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.flowstate-breadcrumb a:hover,
.flowstate-breadcrumbs a:hover,
.flowstate-breadcrumb-item a:hover {
	color: #0a3d40 !important;
	text-decoration: underline !important;
}

.flowstate-breadcrumb .sep,
.flowstate-breadcrumbs .flowstate-breadcrumb-sep,
.flowstate-breadcrumb-sep {
	color: #94a3b8 !important;
	font-size: 0.82rem !important;
	font-weight: 400 !important;
	margin: 0 2px !important;
	user-select: none !important;
}

.flowstate-breadcrumb .current,
.flowstate-breadcrumbs .is-active,
.flowstate-breadcrumb-item.is-active span,
.flowstate-breadcrumb-item span:not(.flowstate-breadcrumb-sep) {
	color: #1e293b !important;
	font-weight: 700 !important;
}

/* ==========================================================================
   ABOUT US PAGE STYLES (MATCHING MOCKUP 1:1)
   ========================================================================== */
.flowstate-btn-video {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: transparent;
	border: none;
	color: #0a3d40;
	font-weight: 600;
	font-size: 0.98rem;
	text-decoration: none;
	cursor: pointer;
	padding: 8px 14px;
	border-radius: 30px;
	transition: all 0.25s ease;
}

.flowstate-btn-video:hover {
	background: rgba(12, 112, 117, 0.08);
	color: #0c7075;
}

.flowstate-btn-video__play-icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #edf6f4;
	border: 1px solid #d4eae5;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0c7075;
	box-shadow: 0 4px 12px rgba(10, 61, 64, 0.08);
	transition: transform 0.25s ease;
}

.flowstate-btn-video:hover .flowstate-btn-video__play-icon {
	transform: scale(1.08);
	background: #0c7075;
	color: #ffffff;
}

.flowstate-hero__script-overlay {
	position: absolute;
	top: 32px;
	right: 48px;
	font-family: 'Caveat', 'Dancing Script', 'Brush Script MT', cursive, sans-serif;
	font-size: clamp(2rem, 3.5vw, 3.2rem);
	color: #0a3d40;
	font-weight: 700;
	line-height: 1.1;
	transform: rotate(-4deg);
	z-index: 4;
	pointer-events: none;
	text-shadow: 0 2px 8px rgba(255, 255, 255, 0.8);
	opacity: 0.85;
}

@media (max-width: 991px) {
	.flowstate-hero__script-overlay {
		display: none;
	}
}

/* 4-Column Core Values Strip Bar */
.flowstate-about-strip {
	background: #edf6f4;
	border: 1px solid #d4eae5;
	border-radius: 16px;
	padding: 28px 32px;
	margin-top: 2rem;
	box-shadow: 0 4px 20px rgba(10, 61, 64, 0.03);
}

.flowstate-about-strip__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

@media (max-width: 991px) {
	.flowstate-about-strip__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

@media (max-width: 576px) {
	.flowstate-about-strip__grid {
		grid-template-columns: 1fr;
	}
}

.flowstate-about-strip__item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.flowstate-about-strip__icon {
	width: 44px;
	height: 44px;
	min-width: 44px;
	border-radius: 50%;
	background: #ffffff;
	border: 1px solid #c8e5e0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0c7075;
	box-shadow: 0 2px 8px rgba(10, 61, 64, 0.05);
}

.flowstate-about-strip__title {
	font-size: 1rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 2px 0;
	line-height: 1.3;
}

.flowstate-about-strip__desc {
	font-size: 0.85rem;
	color: #475569;
	margin: 0;
	line-height: 1.35;
}

/* Mission & Vision Section */
.flowstate-about-mission-grid {
	display: grid;
	grid-template-columns: 1fr 1.1fr 1fr;
	gap: 32px;
	align-items: center;
}

@media (max-width: 991px) {
	.flowstate-about-mission-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

.flowstate-about-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	padding: 36px 32px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-shadow: 0 6px 24px rgba(10, 61, 64, 0.04);
	position: relative;
	overflow: hidden;
}

.flowstate-about-card--vision {
	background: linear-gradient(135deg, #ffffff 0%, #f4faf8 100%);
	border-color: #d4eae5;
}

.flowstate-about-card__leaf-accent {
	position: absolute;
	top: -10px;
	right: -10px;
	width: 120px;
	height: 120px;
	opacity: 0.15;
	pointer-events: none;
}

.flowstate-about-photo-wrapper {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.12);
	aspect-ratio: 4 / 3;
}

.flowstate-about-photo-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Why Patients Choose FlowState Grid */
.flowstate-about-why-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

@media (max-width: 991px) {
	.flowstate-about-why-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 576px) {
	.flowstate-about-why-grid {
		grid-template-columns: 1fr;
	}
}

.flowstate-about-why-grid .flowstate-why-card,
.flowstate-tools-left-grid .flowstate-why-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 24px 20px;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-about-why-grid .flowstate-why-card:hover,
.flowstate-tools-left-grid .flowstate-why-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.08);
	border-color: #c8e5e0;
}

.flowstate-about-why-grid .flowstate-why-card__icon,
.flowstate-tools-left-grid .flowstate-why-card__icon {
	width: 42px;
	height: 42px;
	min-width: 42px;
	border-radius: 12px;
	background: #edf6f4;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flowstate-about-why-grid .flowstate-why-card__title,
.flowstate-tools-left-grid .flowstate-why-card__title {
	font-size: 1rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 4px 0;
}

.flowstate-about-why-grid .flowstate-why-card__desc,
.flowstate-tools-left-grid .flowstate-why-card__desc {
	font-size: 0.88rem;
	color: #64748b;
	margin: 0;
	line-height: 1.4;
}

/* Meet Our Team Badges */
.flowstate-team-badges-row {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #e2e8f0;
}

.flowstate-team-badge {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.85rem;
	font-weight: 600;
	color: #0a3d40;
}

.flowstate-team-badge__icon {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #edf6f4;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ==========================================================================
   MEET THE DOCTOR PAGE STYLES (MATCHING MOCKUP 1:1)
   ========================================================================== */
.flowstate-doctor-quote-box {
	position: absolute;
	right: -20px;
	bottom: 30px;
	width: calc(100% - 40px);
	max-width: 340px;
	background: #0a3d40;
	color: #ffffff;
	padding: 28px 24px;
	border-radius: 16px;
	box-shadow: 0 12px 32px rgba(10, 61, 64, 0.25);
	z-index: 3;
}

@media (max-width: 991px) {
	.flowstate-doctor-quote-box {
		position: relative;
		right: 0;
		bottom: 0;
		width: 100%;
		max-width: 100%;
		margin-top: 1rem;
	}
}

.flowstate-doctor-quote-box__icon {
	font-size: 2rem;
	color: #4ed0c6;
	line-height: 1;
	font-family: Georgia, serif;
	margin-bottom: 8px;
}

.flowstate-doctor-quote-box__text {
	margin: 0 0 12px 0;
	font-size: 0.98rem;
	line-height: 1.5;
	color: #e2f4f2;
	font-style: italic;
}

.flowstate-doctor-quote-box__author {
	font-size: 0.88rem;
	font-weight: 700;
	color: #ffffff;
}

/* 3-Column Education & Credentials Grid */
.flowstate-doc-credentials-grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr 0.95fr;
	gap: 32px;
	align-items: stretch;
}

@media (max-width: 1080px) {
	.flowstate-doc-credentials-grid {
		grid-template-columns: 1fr 1fr;
		gap: 28px;
	}
	.flowstate-doc-interests-card {
		grid-column: 1 / -1;
	}
}

@media (max-width: 768px) {
	.flowstate-doc-credentials-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.flowstate-doc-interests-card {
		grid-column: auto;
	}
	.flowstate-doc-credentials-photo-wrap {
		min-height: 360px !important;
	}
}

.flowstate-doc-credentials-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 18px;
}

.flowstate-doc-cred-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	background: #ffffff;
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px solid #e2ece9;
	box-shadow: 0 2px 8px rgba(10, 61, 64, 0.03);
	transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}

.flowstate-doc-cred-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(10, 61, 64, 0.08);
	border-color: #2a7e78;
}

.flowstate-doc-cred-item__icon {
	width: 42px;
	height: 42px;
	min-width: 42px;
	border-radius: 10px;
	background: #edf6f4;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #d4eae5;
	flex-shrink: 0;
}

.flowstate-doc-cred-item__icon svg {
	width: 20px;
	height: 20px;
}

.flowstate-doc-cred-item__body {
	flex: 1;
}

.flowstate-doc-cred-item__title {
	font-size: 0.98rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 3px 0;
}

.flowstate-doc-cred-item__sub {
	font-size: 0.86rem;
	color: #64748b;
	margin: 0;
	line-height: 1.45;
}

/* Special Interests Mint Card */
.flowstate-doc-interests-card {
	background: #edf6f4;
	border: 1px solid #d4eae5;
	border-radius: 20px;
	padding: 28px 22px;
	height: 100%;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.04);
}

.flowstate-doc-interests-title {
	font-size: 1.3rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 16px 0;
	padding-bottom: 12px;
	border-bottom: 1px solid #c8e5e0;
}

.flowstate-doc-interests-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.flowstate-doc-interest-pill {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #ffffff;
	padding: 10px 14px;
	border-radius: 12px;
	border: 1px solid rgba(12, 112, 117, 0.12);
	box-shadow: 0 2px 6px rgba(10, 61, 64, 0.03);
	color: #0a3d40;
	font-size: 0.88rem;
	font-weight: 600;
	transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}

.flowstate-doc-interest-pill:hover {
	transform: translateX(4px);
	box-shadow: 0 4px 12px rgba(10, 61, 64, 0.08);
	border-color: #2a7e78;
}

.flowstate-doc-interest-pill__icon {
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.flowstate-doc-interest-pill__icon svg {
	width: 17px;
	height: 17px;
}

/* Section 5: Our Care Philosophy (4 Pillars) */
.flowstate-doc-philosophy-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

@media (max-width: 991px) {
	.flowstate-doc-philosophy-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

@media (max-width: 576px) {
	.flowstate-doc-philosophy-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

.flowstate-doc-philo-card {
	background: #ffffff;
	border: 1px solid #e2ece9;
	border-radius: 18px;
	padding: 28px 22px;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.04);
	position: relative;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	display: flex;
	flex-direction: column;
}

.flowstate-doc-philo-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(10, 61, 64, 0.09);
	border-color: #2a7e78;
}

.flowstate-doc-philo-card__number {
	font-size: 1.8rem;
	font-weight: 800;
	color: #2a7e78;
	letter-spacing: -0.02em;
	margin-bottom: 12px;
	line-height: 1;
}

.flowstate-doc-philo-card__title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 10px 0;
}

.flowstate-doc-philo-card__desc {
	font-size: 0.92rem;
	color: #64748b;
	line-height: 1.55;
	margin: 0;
}

/* Why I Started FlowState Story Banner */
.flowstate-doc-story-banner {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 24px;
	overflow: hidden;
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	box-shadow: 0 10px 32px rgba(10, 61, 64, 0.06);
}

@media (max-width: 991px) {
	.flowstate-doc-story-banner {
		grid-template-columns: 1fr;
	}
}

.flowstate-doc-story-media {
	position: relative;
	min-height: 280px;
}

.flowstate-doc-story-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.flowstate-doc-story-script {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%) rotate(-6deg);
	font-family: 'Caveat', 'Dancing Script', cursive, sans-serif;
	font-size: clamp(2rem, 3vw, 2.8rem);
	color: #ffffff;
	font-weight: 700;
	line-height: 1.15;
	text-shadow: 0 3px 12px rgba(0, 0, 0, 0.6);
	pointer-events: none;
	text-align: right;
}

.flowstate-doc-story-content {
	padding: 40px 36px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

@media (max-width: 576px) {
	.flowstate-doc-story-content {
		padding: 28px 20px;
	}
}

/* ==========================================================================
   CHIROPRACTIC CARE PAGE STYLES (MATCHING MOCKUP 1:1)
   ========================================================================== */
/* Hero Floating Badge Stack */
.flowstate-hero-badge-stack {
	position: absolute;
	right: 48px;
	bottom: 40px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	z-index: 4;
}

@media (max-width: 991px) {
	.flowstate-hero-badge-stack {
		display: none;
	}
}

.flowstate-hero-badge-pill {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(8px);
	padding: 10px 18px;
	border-radius: 30px;
	box-shadow: 0 6px 20px rgba(10, 61, 64, 0.12);
	border: 1px solid rgba(212, 234, 229, 0.8);
	color: #0a3d40;
	font-size: 0.9rem;
	font-weight: 700;
}

.flowstate-hero-badge-pill__icon {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #edf6f4;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 5-Step Process Flow Grid */
.flowstate-chiro-process-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
	position: relative;
}

@media (max-width: 1024px) {
	.flowstate-chiro-process-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.flowstate-chiro-process-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.flowstate-chiro-process-grid {
		grid-template-columns: 1fr;
	}
}

.flowstate-chiro-step-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	padding: 32px 20px 24px 20px;
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 6px 20px rgba(10, 61, 64, 0.04);
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.flowstate-chiro-step-card:hover {
	transform: translateY(-4px);
	border-color: #c8e5e0;
	box-shadow: 0 10px 28px rgba(10, 61, 64, 0.08);
}

.flowstate-chiro-step-num {
	position: absolute;
	top: -18px;
	left: 50%;
	transform: translateX(-50%);
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #0a3d40;
	color: #ffffff;
	font-weight: 700;
	font-size: 0.95rem;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 10px rgba(10, 61, 64, 0.2);
}

.flowstate-chiro-step-icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: #edf6f4;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	margin-top: 6px;
}

.flowstate-chiro-step-title {
	font-size: 1rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 8px 0;
	line-height: 1.3;
}

.flowstate-chiro-step-desc {
	font-size: 0.85rem;
	color: #64748b;
	margin: 0;
	line-height: 1.45;
}

/* ==========================================================================
   RESOURCES PAGE STYLES (MATCHING MOCKUP 1:1)
   ========================================================================== */
/* Hero Search & Popular Topic Pills */
.flowstate-resource-search-form {
	display: flex;
	align-items: center;
	background: #ffffff;
	border: 1px solid #c8e5e0;
	border-radius: 30px;
	padding: 4px 6px 4px 18px;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.06);
	margin-top: 1.5rem;
	max-width: 520px;
}

.flowstate-resource-search-input {
	border: none;
	outline: none;
	background: transparent;
	width: 100%;
	font-size: 0.92rem;
	color: #0a3d40;
}

.flowstate-resource-search-input::placeholder {
	color: #94a3b8;
}

.flowstate-resource-search-btn {
	background: #0a3d40;
	color: #ffffff;
	border: none;
	border-radius: 24px;
	padding: 10px 24px;
	font-weight: 700;
	font-size: 0.88rem;
	cursor: pointer;
	transition: background 0.2s ease;
	white-space: nowrap;
}

.flowstate-resource-search-btn:hover {
	background: #0c7075;
}

.flowstate-topic-pills-row {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 1rem;
	font-size: 0.85rem;
	color: #64748b;
}

.flowstate-topic-pill {
	background: #ffffff;
	border: 1px solid #d4eae5;
	color: #0c7075;
	font-weight: 600;
	font-size: 0.8rem;
	padding: 4px 12px;
	border-radius: 20px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.flowstate-topic-pill:hover {
	background: #0c7075;
	color: #ffffff;
	border-color: #0c7075;
}

/* 6-Column Category Strip */
.flowstate-resource-cat-section {
	padding-top: clamp(4.5rem, 6vw, 5.5rem) !important;
}

@media (max-width: 640px) {
	.flowstate-resource-cat-section {
		padding-top: 2.5rem !important;
	}
}

.flowstate-resource-cat-strip {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 16px;
}

@media (max-width: 1024px) {
	.flowstate-resource-cat-strip {
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
	}
}

@media (max-width: 576px) {
	.flowstate-resource-cat-strip {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
}

.flowstate-resource-cat-card {
	background: #edf6f4;
	border: 1px solid #d4eae5;
	border-radius: 16px;
	padding: 20px 14px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.flowstate-resource-cat-card:hover {
	transform: translateY(-4px);
	border-color: #0c7075;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.08);
	background: #ffffff;
}

.flowstate-resource-cat-icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #ffffff;
	color: #0c7075;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
	box-shadow: 0 2px 8px rgba(10, 61, 64, 0.04);
}

.flowstate-resource-cat-card:hover .flowstate-resource-cat-icon {
	background: #0c7075;
	color: #ffffff;
}

.flowstate-resource-cat-title {
	font-size: 0.95rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 4px 0;
}

.flowstate-resource-cat-desc {
	font-size: 0.8rem;
	color: #64748b;
	margin: 0;
	line-height: 1.35;
}

/* Card Overlay Badges */
.flowstate-card-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	background: rgba(10, 61, 64, 0.88);
	backdrop-filter: blur(4px);
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	padding: 4px 10px;
	border-radius: 12px;
	text-transform: uppercase;
	z-index: 2;
}

/* Helpful Tools & Downloads 2-Column Grid */
.flowstate-tools-downloads-grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 32px;
	align-items: stretch;
}

@media (max-width: 991px) {
	.flowstate-tools-downloads-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

.flowstate-tools-left-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

@media (max-width: 576px) {
	.flowstate-tools-left-grid {
		grid-template-columns: 1fr;
	}
}

/* Standardized 4-Column & 3-Column Grids */
.flowstate-grid-4 {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 24px !important;
}

@media (max-width: 1024px) {
	.flowstate-grid-4 {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
	}
}

@media (max-width: 576px) {
	.flowstate-grid-4 {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
}

.flowstate-grid-3 {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 24px !important;
}

@media (max-width: 991px) {
	.flowstate-grid-3 {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
	}
}

@media (max-width: 576px) {
	.flowstate-grid-3 {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
}

/* Standalone Article Card for Resources & Blog Grids */
.flowstate-article-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	box-shadow: 0 4px 16px rgba(10, 61, 64, 0.04);
}

.flowstate-article-card:hover {
	transform: translateY(-4px);
	border-color: #c8e5e0;
	box-shadow: 0 8px 24px rgba(10, 61, 64, 0.08);
}

.flowstate-article-card__media {
	width: 100%;
	height: 170px;
	overflow: hidden;
	position: relative;
}

.flowstate-article-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.flowstate-article-card:hover .flowstate-article-card__img {
	transform: scale(1.05);
}

.flowstate-article-card__content {
	padding: 20px 18px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.flowstate-article-card__title {
	font-size: 1.05rem;
	font-weight: 700;
	color: #0a3d40;
	margin: 0 0 6px 0;
	line-height: 1.35;
}

.flowstate-article-card__meta {
	font-size: 0.78rem;
	color: #94a3b8;
	margin-bottom: 12px;
}

.flowstate-article-card__link {
	color: #0c7075;
	font-weight: 700;
	font-size: 0.88rem;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: auto;
}

/* Dynamic Blog Enhancements */
a.flowstate-blog-pill {
	text-decoration: none;
	display: inline-flex;
	align-items: center;
}

a.flowstate-blog-pill:hover {
	text-decoration: none;
	background-color: #e2e8f0;
	color: #0a3d40;
}

a.flowstate-blog-pill.is-active:hover {
	background-color: #0a3d40;
	color: #ffffff;
}

.flowstate-pill-count {
	font-size: 0.76rem;
	opacity: 0.8;
	margin-left: 4px;
}

.flowstate-topics-list li.is-active a {
	color: #0a3d40;
	font-weight: 700;
}

.flowstate-tag-pill {
	display: inline-block;
	font-size: 0.8rem;
	padding: 4px 10px;
	background: #f1f5f9;
	border-radius: 6px;
	color: #334155;
	text-decoration: none;
	transition: all 0.2s ease;
}

.flowstate-tag-pill:hover {
	background: #0a3d40;
	color: #ffffff;
	text-decoration: none;
}

/* ============================================================
   100% RESPONSIVE ENHANCEMENTS FOR BLOG & SINGLE POSTS
   ============================================================ */

/* 1. Category Filter Pills: Mobile Horizontal Swipe */
@media (max-width: 640px) {
	.flowstate-blog-filter-pills {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 8px;
		margin-bottom: 1.5rem;
		scrollbar-width: none;
		-ms-overflow-style: none;
		gap: 0.45rem;
	}
	.flowstate-blog-filter-pills::-webkit-scrollbar {
		display: none;
	}
	.flowstate-blog-pill {
		white-space: nowrap;
		flex-shrink: 0;
		padding: 0.4rem 0.85rem;
		font-size: 0.8rem;
	}
}

/* 2. Blog Main Grid Layout on Tablets & Mobile */
@media (max-width: 1024px) {
	.flowstate-blog-main__grid,
	.flowstate-post-main__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.flowstate-blog-sidebar {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
		align-items: start;
	}

	.flowstate-search-widget,
	.flowstate-newsletter-widget {
		grid-column: 1 / -1;
	}
}

@media (max-width: 768px) {
	.flowstate-blog-sidebar {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}

	.flowstate-blog-main-section {
		padding: clamp(2rem, 5vw, 3.5rem) 0;
	}

	.flowstate-blog-articles-header {
		margin-bottom: 1.25rem;
	}

	.flowstate-blog-articles-title {
		font-size: clamp(1.5rem, 5.5vw, 1.85rem);
	}

	.flowstate-blog-articles-subtitle {
		font-size: 0.88rem;
	}

	.flowstate-blog-grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
		margin-bottom: 2rem;
	}

	.flowstate-blog-card {
		border-radius: 12px;
	}

	.flowstate-blog-card__body {
		padding: 1rem 1rem 1.25rem;
	}

	.flowstate-blog-card__title {
		font-size: 1rem;
		line-height: 1.35;
	}

	.flowstate-blog-card__excerpt {
		font-size: 0.84rem;
		margin-bottom: 0.75rem;
	}

	.flowstate-blog-smallsteps-box {
		flex-direction: column;
		text-align: center;
		gap: 1.25rem;
	}

	.flowstate-blog-smallsteps-box .flowstate-btn {
		width: 100%;
		justify-content: center;
	}
}

/* 3. Accessible Responsive Pagination */
.flowstate-blog-pagination {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 1rem;
}

@media (max-width: 640px) {
	.flowstate-blog-pagination {
		justify-content: center;
		gap: 0.35rem;
	}

	.flowstate-page-number,
	.flowstate-page-next {
		min-width: 42px;
		min-height: 42px;
		font-size: 0.95rem;
	}
}

/* 4. Single Post Page Responsiveness */
@media (max-width: 1024px) {
	.flowstate-post-hero__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.flowstate-post-hero__visual {
		max-width: 580px;
		margin: 0 auto;
		width: 100%;
	}
}

@media (max-width: 768px) {
	.flowstate-post-hero {
		padding: clamp(1.75rem, 4vw, 2.5rem) 0;
	}

	.flowstate-post-hero__title {
		font-size: clamp(1.6rem, 5.5vw, 2.2rem);
		line-height: 1.25;
	}

	.flowstate-post-hero__subtitle {
		font-size: 0.95rem;
		line-height: 1.55;
	}

	.flowstate-post-hero__meta {
		gap: 0.65rem 1rem;
	}

	.flowstate-meta-item {
		font-size: 0.82rem;
	}

	.flowstate-post-hero__photo {
		height: 240px;
		border-radius: 14px;
	}

	.flowstate-post-hero-script {
		right: 10px;
		top: 10px;
		font-size: clamp(1.3rem, 4vw, 1.8rem);
	}

	.flowstate-post-content-col {
		font-size: 0.96rem;
		line-height: 1.75;
	}

	.flowstate-related-grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.flowstate-post-cta-watermark {
		display: none;
	}

	.flowstate-post-cta-banner {
		padding: 2.5rem 1rem;
	}
}

/* 5. Mobile Search Inputs & Header Search Popup */
@media (max-width: 768px) {
	.flowstate-blog-search-input,
	.flowstate-newsletter-input {
		font-size: 16px !important;
	}

	.flowstate-header-search-popup {
		position: fixed !important;
		top: 68px !important;
		left: 12px !important;
		right: 12px !important;
		width: auto !important;
		max-width: none !important;
	}
	.flowstate-header-search-popup::before {
		right: 32px !important;
	}
	.flowstate-header-search-input {
		font-size: 16px !important;
	}
}

/* 6. Extra Small Screens (320px – 400px) */
@media (max-width: 400px) {
	.flowstate-blog-hero__badges {
		grid-template-columns: 1fr !important;
		gap: 0.5rem;
	}

	.flowstate-hero__feature-row {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px 8px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.flowstate-hero__feature-item {
		padding: 6px 4px !important;
	}

	.flowstate-hero__feature-title {
		font-size: 0.74rem !important;
	}

	.flowstate-blog-badge,
	.flowstate-hero__pill-item {
		padding: 0.65rem 0.85rem;
	}

	.flowstate-blog-card__meta {
		font-size: 0.75rem;
	}

	.flowstate-recent-thumb-link {
		width: 58px;
		height: 48px;
	}

	.flowstate-recent-title {
		font-size: 0.82rem;
	}
}

/* ============================================================
   Section 40: AJAX FILTERS & LIVE SEARCH FEEDBACK
   ============================================================ */

.flowstate-ajax-loading {
	opacity: 0.45 !important;
	pointer-events: none !important;
	transition: opacity 0.2s ease !important;
	position: relative;
}

.flowstate-ajax-fade-in {
	animation: flowstateFadeInUp 0.35s ease forwards;
}

@keyframes flowstateFadeInUp {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ============================================================
   Section 41: UNIFIED HERO MOBILE LAYOUT & LOCATION BADGE PLACEMENT
   - Enforces Flex column ordering on mobile
   - Container (order: 1) contains breadcrumbs, titles, buttons, and 2-column feature items
   - Location badge card (order: 10) always renders at the end/bottom of the hero section
   - Leaf backgrounds, diagonal strokes, and dot matrices completely hidden on mobile
   ============================================================ */
@media (max-width: 1024px) {
	.flowstate-hero,
	.flowstate-hero--diagonal-cut,
	.flowstate-hiw-hero,
	.flowstate-testimonials-hero,
	.flowstate-prenatal-hero,
	.flowstate-hero--page,
	.flowstate-hero--cases,
	.flowstate-hero--wellness,
	.flowstate-page-hero,
	header.flowstate-hero,
	section.flowstate-hero {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		position: relative !important;
	}

	.flowstate-hero__container,
	.flowstate-container.flowstate-hero__container {
		order: 1 !important;
		width: 100% !important;
	}

	.flowstate-hero__location-badge-card,
	.flowstate-testimonials-hero .flowstate-hero__location-badge-card,
	.flowstate-hiw-hero .flowstate-hero__location-badge-card {
		order: 10 !important;
		position: static !important;
		transform: none !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		top: auto !important;
		margin: 24px auto 0 !important;
		display: inline-flex !important;
		align-self: center !important;
		z-index: 10 !important;
		width: fit-content !important;
		box-shadow: 0 4px 18px rgba(0, 0, 0, 0.1) !important;
	}

	/* Hide decorative botanical leaves & middle cyan cut line */
	.flowstate-hero__leaf-accent,
	.flowstate-hero__botanical-accent,
	.flowstate-hero__leaf-img,
	.flowstate-hero__diagonal-border-stroke,
	.flowstate-hero__diagonal-stroke,
	.flowstate-hero__diagonal-dots,
	.flowstate-hero__dot-matrix {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}

	/* 4 Feature Items: 2 Columns Grid Across All Mobile Viewports */
	.flowstate-hero__feature-row,
	.flowstate-hiw-hero__badges,
	.flowstate-testimonials-hero__badges {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px 10px !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 1.25rem !important;
	}

	.flowstate-hero__feature-item,
	.flowstate-hiw-hero__badges .flowstate-hiw-badge,
	.flowstate-testimonials-hero__badges .flowstate-hero__feature-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
		padding: 8px 6px !important;
		gap: 6px !important;
	}

	.flowstate-hero__feature-title,
	.flowstate-hiw-badge__text,
	.flowstate-testimonials-badge__text {
		font-size: 0.8rem !important;
		line-height: 1.3 !important;
		color: #0a3d40 !important;
		font-weight: 600 !important;
		text-align: center !important;
	}

	/* Hide CTA Low-Visibility Script Watermarks on Mobile (Matches User Request) */
	.flowstate-cta-script-watermark,
	.flowstate-cta-script,
	.flowstate-cta-section .flowstate-cta-script-watermark,
	.flowstate-cta-section .flowstate-cta-script,
	.flowstate-cta-section--mockup .flowstate-cta-script-watermark,
	.flowstate-cta-section--mockup .flowstate-cta-script,
	.flowstate-testimonials-cta-watermark,
	.flowstate-hiw-watermark,
	.flowstate-sports-cta-watermark,
	.flowstate-brainfog-cta-watermark,
	.flowstate-deskworker-cta-watermark,
	.flowstate-trigeminal-bottom-cta__watermark,
	.flowstate-fibro-bottom-cta__watermark,
	.flowstate-vertigo-watermark,
	.flowstate-video-cta__watermark,
	.flowstate-contact-cta-watermark,
	.flowstate-post-cta-watermark,
	.flowstate-faq-sidebar-watermark {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}
}
