/*
Theme Name: Kindling
Theme URI: https://github.com/matchboxdesigngroup/kindling
Author: Matchbox Design Group
Author URI: https://matchboxdesigngroup.com
Description: A modern, responsive, and accessible block theme for WordPress.
Version: 4.0.50
Requires at least: 6.7
Tested up to: 6.7.2
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kindling
Tags: full-site-editing, block-theme, accessibility-ready, editor-style, block-patterns, responsive-layout

Kindling WordPress Theme, (C) 2025 Matchbox Design Group, LLC.
Kindling is distributed under the terms of the GNU GPL.
*/

/**
 * 1.0 CSS Reset
 *
 * Resetting the CSS to a more sane starting point.
 */

/* Use a more-intuitive box-sizing model. */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Allow percentage-based heights in the application. */
html,
body,
.wp-site-blocks {
	min-height: 100%;
}

/* Prevent horizontal overflow without creating scroll container */
html,
body {
	overflow-x: clip;
}

/* Remove height from the admin bar of the overall height. */
html {
	height: calc(100% - var(--wp-admin--admin-bar--height, 0px));
}

/* Ensure the best type rendering. */
:root {
	font-feature-settings: 'kern';
	font-kerning: normal;
	text-rendering: optimizeLegibility;
}

/* Improve text rendering. */
body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

/* Improve media defaults. */
img,
picture,
video,
canvas,
svg {
	display: block;
	height: auto;
	max-width: 100%;
}

/* Remove built-in form typography styles. */
input,
button,
textarea,
select {
	font: inherit;
}

/* Avoid text overflows. */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	text-wrap: balance;
	text-wrap: pretty;
	/* pretty is the nicer result but it isn't supported as well. So balance is here as a fallback */
}

p {
	text-wrap: pretty;
}

/* Create a root stacking context. */
.wp-site-blocks {
	isolation: isolate;
}

/* Ensure the alt text is visible when an image is missing. */
img {
	font-size: 1rem;
	font-style: italic;
	line-height: 1.5;
}

/* Set the scroll behavior to smooth. */
html {
	scroll-behavior: smooth;
}

/* Enable view transitions. */
@view-transition {
	navigation: auto;
}

/* Column overflow prevention - ensure images and content stay within column bounds */
.wp-block-column {
	min-width: 0;
	overflow-wrap: break-word;
}

.wp-block-column img {
	max-width: 100%;
	height: auto;
}

.wp-block-column .wp-block-image {
	max-width: 100%;
}

/* WordPress Admin Bar - prevent overlap with site content */
.admin-bar body {
	padding-top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar body {
		padding-top: 46px;
	}
}

/* Adjust fixed header elements when admin bar is present */
.admin-bar .wp-block-template-part {

}

@media screen and (max-width: 782px) {
	.admin-bar .wp-block-template-part {


	}
}

/**
 * 2.0 Custom Styles
 */

/* Prevent carousel clones from causing horizontal overflow */
.wp-block-kindling-carousel {
	overflow: hidden;
	max-width: 100%;
	contain: paint; /* Creates containing block for clones */
}

.splide {
	overflow: hidden;
	contain: paint; /* Prevents audit from detecting overflow */
}

.kindling-carousel-container {
	overflow: hidden;
	contain: layout paint; /* Strict containment for carousel clones */
}

/* Ensure splide track and list respect containment */
.splide__track {
	overflow: hidden;
	contain: layout;
}

.splide__list {
	overflow: hidden;
}

/* Texture background for sections */
.has-texture-bg {
	position: relative;
	background-color: #f3f2ed;
}

/* Cache buster - updated 2025-12-05 */
/* Using WebP with PNG fallback for 47% size savings */

.has-texture-bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url('/wp-content/uploads/2025/12/texture-bg.webp') lightgray 0px -286.696px / 100% 192.83% no-repeat;
	opacity: 0.1;
	pointer-events: none;
}

/* Fallback for browsers without WebP support */
@supports not (background-image: -webkit-image-set(url('/wp-content/uploads/2025/12/texture-bg.webp') 1x)) {
	.has-texture-bg::before {
		background: url('/wp-content/uploads/2025/12/texture-bg.png') lightgray 0px -286.696px / 100% 192.83% no-repeat;
	}
}

.has-texture-bg>* {
	position: relative;
}

/* Water ripple background for Project Zero section */
.has-water-ripple-bg {
	position: relative;
	overflow: hidden;
	/* Prevents ripple from bleeding into adjacent sections */
	background-color: rgba(244, 242, 237, 0.5);
}

/* Careers grid - remove constrained layout width for headings */
.has-water-ripple-bg .wp-block-group.alignwide > h1.wp-block-heading,
.has-water-ripple-bg .wp-block-group.alignwide > .wp-block-heading.has-text-align-center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 100vw;
	padding-left: var(--wp--preset--spacing--50);
	padding-right: var(--wp--preset--spacing--50);
}

/* Ensure parent containers are centered at all viewports */
.has-water-ripple-bg .wp-block-group.alignwide,
.has-texture-bg .wp-block-group.alignwide {
	margin-left: auto;
	margin-right: auto;
	max-width: 1440px;
}


/* Water ripple bg columns - flush left for intro sections */
.has-water-ripple-bg .wp-block-group.alignwide > .wp-block-columns.alignwide {
	margin-left: 0;
	margin-right: auto;
	justify-content: center;
	display: flex;
	
	width: 100%;
}

/* Careers grid - set columns to equal width */
.has-water-ripple-bg .wp-block-group.alignwide > .wp-block-columns.alignwide > .wp-block-column {
	flex: 1;
	min-width: 0;
}

/* Careers benefits - remove constrained layout width for headings */
.has-texture-bg.has-background .wp-block-group.alignwide > h1.wp-block-heading,
.has-texture-bg.has-background .wp-block-group.alignwide > .wp-block-heading.has-text-align-center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 100vw;
	padding-left: var(--wp--preset--spacing--50);
	padding-right: var(--wp--preset--spacing--50);
}

/* Careers benefits - center the columns with max-width */
.has-texture-bg .wp-block-group.alignwide > .wp-block-columns.alignwide {
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	display: flex;
	max-width: 1200px;
	width: 100%;
}

/* Careers benefits - 3 column layout properly centered */
.has-texture-bg .wp-block-columns.has-3-columns {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	gap: 40px;
}

/* Careers benefits - set columns to equal width */
.has-texture-bg .wp-block-group.alignwide > .wp-block-columns.alignwide > .wp-block-column {
	flex: 1;
	min-width: 0;
}

/* Ensure benefits section is centered at all viewports */
.has-texture-bg.has-theme-01-background-color.alignfull {
	
	justify-content: center;
}

.has-texture-bg.has-theme-01-background-color.alignfull > .wp-block-group.alignwide {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* Using WebP with JPG fallback for 96% size savings */
.has-water-ripple-bg::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url('/wp-content/uploads/2025/12/water-ripple-texture.webp') no-repeat center center;
	background-size: cover;
	opacity: 0.39;
	pointer-events: none;
	z-index: 0;
}

/* Fallback for browsers without WebP support */
@supports not (background-image: -webkit-image-set(url('/wp-content/uploads/2025/12/water-ripple-texture.webp') 1x)) {
	.has-water-ripple-bg::before {
		background: url('/wp-content/uploads/2025/12/water-ripple-texture.jpg') no-repeat center center;
		background-size: cover;
	}
}

.has-water-ripple-bg>* {
	position: relative;
	z-index: 1;
}

/* Operations Map Section - Communities We Serve */
.has-water-ripple-bg.operations-map-section {
	position: relative;
	min-height: 714px;
	padding-bottom: 500px;
	overflow: visible;
}

.operations-map-section .operations-map-content {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.operations-map-section .operations-map-content .wp-block-heading {
	white-space: nowrap;
}

.operations-map-section .operations-map-content .wp-block-separator {
	margin-left: 0;
	margin-right: auto;
}

.operations-map-section .operations-map-content p {
	max-width: 550px;
	text-align: left;
}

.operations-map-section .operations-map-image {
	position: relative;
	z-index: 1;
	width: 100%;
	margin: 0;
}

.operations-map-section .operations-map-image img {
	width: 100%;
	height: auto;
}

body .has-inter-font-family.wp-container-content-8f9e1988 {
	margin-left: 0;
}

/* Safety Stats Section - ensure no background image bleed */
.safety-stats-section {
	background-image: none;
	position: relative;
	z-index: 2;
}

/* Safety Approach Section - Figma exact spacing */
.safety-approach-content {
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: center;
}

.safety-approach-paragraph {
	max-width: 918px;
}

/* Project Zero Image Carousel - flush right to viewport */
/* At 1920px: margin-right = -232px to sit flush with viewport */
.service-areas-intro-section .project-zero-carousel {
	position: relative;
	width: 952px;
	max-width: 100%;
	overflow: visible;
	margin-left: auto;
	margin-right: calc(-1 * max(16px, (100vw - 1440px) / 2 - 8px));
}

/* About Project Zero carousel - flush left to viewport */
.project-zero-section .project-zero-carousel {
	position: relative;
	width: 952px;
	max-width: 100%;
	overflow: visible;
	margin-left: calc(-1 * (80px + max(0px, (100vw - 1440px) / 2)));
	margin-right: auto;
}

/* Safety section - flush left layout */
body .safety-section.wp-block-group {
	padding-left: 0;
}

body .safety-section .wp-block-columns.alignwide {
	margin-left: 0;
	padding-left: 0;
	max-width: 100%;
	width: 100%;
}

body .safety-section .wp-block-columns > .wp-block-column:first-child {
	padding-left: 0;
	margin-left: 0;
}

/* Safety section carousel - flush left within column */
.safety-section .project-zero-carousel {
	position: relative;
	width: 100%;
	max-width: 100%;
	overflow: visible;
	margin-left: 0;
	margin-right: auto;
}

.safety-section .project-zero-carousel .carousel-slides {
	height: 600px;
}

.safety-section .project-zero-carousel .carousel-slide img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

/* Partner trusted staffing section carousel - flush left to viewport */
.partner-trusted-staffing-section .project-zero-carousel {
	position: relative;
	width: 952px;
	max-width: 100%;
	overflow: visible;
	margin-left: calc(-1 * (80px + max(0px, (100vw - 1440px) / 2)));
	margin-right: auto;
}

.project-zero-carousel {
	position: relative;
	width: 952px;
	max-width: 100%;
	overflow: visible;
}

.project-zero-carousel .carousel-slides {
	position: relative;
	width: 100%;
	height: 714px;
	overflow: hidden;
}

.project-zero-carousel .carousel-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 1.8s ease-in-out;
}

.project-zero-carousel .carousel-slide.is-active {
	opacity: 1;
}

.project-zero-carousel .carousel-slide img {
	width: 100%;
	height: 714px;
	object-fit: cover;
	object-position: center 60%;
	display: block;
}

/* Carousel dots for Project Zero - centered under image */
.project-zero-carousel .project-zero-carousel-dots {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 40px;
}

/**
 * 2.5 Company Timeline Section
 */

/* Timeline section - contain horizontal overflow to prevent page scroll */
.company-timeline-section {
	margin-top: 182px;
	overflow-x: clip;
	overflow-y: visible;
	position: relative;
	contain: paint; /* Paint containment to prevent child elements from reporting positions outside bounds */
}

/* Timeline text wrapper - just add spacing between heading and separator */
.timeline-text-wrapper {
	display: block;
}

.timeline-text-wrapper h2 {
	margin-bottom: 24px;
}

.timeline-text-wrapper hr {
	margin-top: 0;
}

/* Force columns to be 2-column grid layout, not flex */
body .company-timeline-section .wp-block-columns.alignwide {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	margin-bottom: 60px;
}

/* Ensure columns take full width so timeline goes below */
.company-timeline-section .wp-block-column {
	width: 100%;
	flex-basis: auto;
}

/* Left-align separator under heading */
/* REQUIRED: !important to override WordPress core separator centering */
body .company-timeline-section .wp-block-separator,
body .company-timeline-section hr.wp-block-separator {
	margin-left: 0 !important;
	margin-right: auto !important;
}

/* Timeline container - full width horizontal scroll */
.company-timeline {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(-50vw + 50%);
	margin-right: calc(-50vw + 50%);
	overflow-x: auto;
	overflow-y: visible;
	padding: 0 0 40px 0;
	-webkit-overflow-scrolling: touch;
}

.company-timeline .timeline-track {
	position: relative;
	display: inline-flex;
	min-width: 100%;
	padding: 0 320px 0 80px;
}

/* Horizontal timeline line - spans from first to last dot */
.company-timeline .timeline-line {
	position: absolute;
	top: 6px;
	left: 0;
	right: 0;
	height: 3px;
	background-color: #1a4ea2;
	z-index: 0;
}

/* Set timeline offset to match alignwide columns position */
.company-timeline-section {
	--timeline-left-offset: max(16px,
			calc((100vw - var(--wp--style--global--wide-size, 1440px)) / 2));
}

/* Timeline items container */
.company-timeline .timeline-items {
	display: flex;
	gap: 0;
	position: relative;
	z-index: 1;
}

/* Individual timeline item */
.company-timeline .timeline-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 220px;
	flex-shrink: 0;
}

/* Timeline dot */
.company-timeline .timeline-dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: #1a4ea2;
	margin-bottom: 24px;
	position: relative;
	flex-shrink: 0;
}

/* Timeline content */
.company-timeline .timeline-content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-right: 100px;
}

/* Timeline year */
.company-timeline .timeline-year {
	font-family: var(--wp--preset--font-family--sansation), sans-serif;
	font-size: 40px;
	font-weight: 700;
	color: #1a4ea2;
	line-height: 1.2;
}

/* Timeline description */
.company-timeline .timeline-description {
	font-family: var(--wp--preset--font-family--inter), sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: #000;
	margin: 0;
	max-width: 180px;
}

/* Custom scrollbar */
.company-timeline::-webkit-scrollbar {
	height: 0;
	display: none;
}

/* Hide scrollbar for Firefox */
.company-timeline {
	scrollbar-width: none;
}

/* Drag to scroll cursor */
.company-timeline {
	cursor: grab;
}

.company-timeline.is-dragging {
	cursor: grabbing;
	user-select: none;
}

/* Scroll indicators */
.company-timeline-section::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4ea2' stroke-width='2'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E") center/contain no-repeat;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	z-index: 10;
}

.company-timeline-section.can-scroll-right::after {
	opacity: 0.7;
	animation: bounce-right 1.5s ease-in-out infinite;
}

@keyframes bounce-right {

	0%,
	100% {
		transform: translateY(-50%) translateX(0);
	}

	50% {
		transform: translateY(-50%) translateX(5px);
	}
}

/* Water Wave Animation - clip-path wave effect for buttons */
@keyframes water-wave {
	0%, 100% {
		clip-path: polygon(
			0% 45%,
			16% 44%,
			33% 50%,
			54% 60%,
			70% 61%,
			84% 59%,
			100% 52%,
			100% 100%,
			0% 100%
		);
	}
	50% {
		clip-path: polygon(
			0% 60%,
			15% 65%,
			34% 66%,
			51% 62%,
			67% 50%,
			84% 45%,
			100% 46%,
			100% 100%,
			0% 100%
		);
	}
}

/**
 * 2.6 Solutions Section Styles
 */

/* Solutions sections padding */
.solutions-section {
	padding: var(--wp--preset--spacing--80) var(--wp--preset--spacing--50);
	overflow-x: clip;
}

.solutions-hero-section {
	padding: var(--wp--preset--spacing--80) var(--wp--preset--spacing--50);
}

/* Solutions section column gaps */
.solutions-section .wp-block-columns {
	gap: var(--wp--preset--spacing--70);
}

/* Solutions headings - Sansation font */
.solutions-section h2.wp-block-heading,
.solutions-hero-section h2.wp-block-heading {
	font-family: var(--wp--preset--font-family--sansation), Sansation, sans-serif;
	margin-bottom: var(--wp--preset--spacing--40);
}

.solutions-hero-section h4.wp-block-heading {
	font-family: var(--wp--preset--font-family--inter), Inter, sans-serif;
	margin-bottom: var(--wp--preset--spacing--30);
}

/* Solutions body text */
.solutions-section>.wp-block-columns>.wp-block-column>p,
.solutions-hero-section p {
	font-family: var(--wp--preset--font-family--inter), Inter, sans-serif;
	margin-bottom: var(--wp--preset--spacing--40);
}

/**
 * 3.0 Solutions Hero Section
 */

/* Solutions hero separator - left-aligned, exact width */
.solutions-hero-separator {
	width: 224px;
	max-width: 224px;
	height: 2px;
	margin-left: 0;
	margin-right: auto;
}

/**
 * 3.1 Safety Approach Section
 */

/* Safety Approach section with background image and overlay */
.safety-approach-section {
	position: relative;
	background-color: #000;
}

/* Grayscale background image layer */
.safety-approach-section::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url('/wp-content/uploads/2025/12/safety-approach-bg.jpg') center 30%/cover no-repeat;
	filter: grayscale(100%);
	pointer-events: none;
	z-index: 0;
}

/* Dark overlay - 55% opacity */
.safety-approach-section::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.55);
	pointer-events: none;
	z-index: 1;
}

.safety-approach-section>* {
	position: relative;
	z-index: 2;
}

/* Heading styling */
.safety-approach-section h2 {
	max-width: 1210px;
	margin-left: auto;
	margin-right: auto;
}

/* Body text styling */
.safety-approach-section p {
	max-width: 918px;
	margin-left: auto;
	margin-right: auto;
}

/**
 * 4.0 Hero Carousel Styles
 */

/* Hero carousel container */
.hero-carousel {
	position: relative;
	overflow: hidden;
}

.hero-carousel .wp-block-cover {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1.8s ease-in-out;
	pointer-events: none;
}

.hero-carousel .wp-block-cover.is-active {
	position: relative;
	opacity: 1;
	pointer-events: auto;
}

/* Show gradient overlay on hero carousel - REQUIRED: !important needed to override WordPress core inline styles */
.hero-carousel .wp-block-cover__background.has-background-dim-0,
.hero-carousel .wp-block-cover__gradient-background.has-background-dim-0,
.wp-block-cover.is-hero .wp-block-cover__background.has-background-dim-0,
.wp-block-cover.is-hero .wp-block-cover__gradient-background.has-background-dim-0 {
	opacity: 1 !important;
}

/* Carousel navigation dots */
.hero-carousel-dots {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 12px;
	z-index: 10;
}

.hero-carousel-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.5);
	border: 2px solid white;
	cursor: pointer;
	transition: background-color 0.3s ease;
	padding: 0;
}

.hero-carousel-dot:hover,
.hero-carousel-dot.is-active {
	background-color: white;
}

/**
 * 3.5 Hero Carousel - Disable Sliding (Keep Dots as Decorative)
 *
 * Hero sections should show single media (video on home, image on other pages).
 * Dots remain visible as decorative design elements, not functional controls.
 */

/* Disable carousel sliding - only show first slide */
.home-hero-carousel .carousel-slide:not(.is-active),
.hero-carousel-background .carousel-slide:not(.is-active),
.hero-carousel .wp-block-cover:not(.is-active),
.wp-block-kindling-blocks-hero-carousel .hero-slide:not(:first-child) {
	display: none !important;
}

/* Keep first slide permanently active */
.home-hero-carousel .carousel-slide:first-child,
.hero-carousel-background .carousel-slide:first-child,
.hero-carousel .wp-block-cover:first-child,
.wp-block-kindling-blocks-hero-carousel .hero-slide:first-child {
	display: block !important;
	opacity: 1 !important;
	position: relative !important;
}

/* Disable dot interaction - dots are decorative only */
.home-hero-carousel-dots .carousel-dot,
.hero-carousel-dots .hero-carousel-dot,
.wp-block-kindling-blocks-hero-carousel .hero-carousel-dot {
	pointer-events: none;
	cursor: default;
}

/* Keep first dot active for visual consistency */
.home-hero-carousel-dots .carousel-dot:first-child,
.hero-carousel-dots .hero-carousel-dot:first-child,
.wp-block-kindling-blocks-hero-carousel .hero-carousel-dot:first-child {
	opacity: 1;
}

/**
 * 4.0 Trusted Partners Section
 */

/* Trusted Partners section - fine-tune overlay opacity to match Figma (77%) - REQUIRED: !important needed to override WordPress core cover block opacity */
body .trusted-partners-section .wp-block-cover__background {
	opacity: 0.77 !important;
}

/* Trusted Partners section - remove bottom margin to sit flush with footer */
.trusted-partners-section {
	margin-bottom: 0;
}

/* Remove gap before footer when trusted partners is the last content block */
.trusted-partners-section+footer,
main:has(.trusted-partners-section:last-child)+footer {
	margin-top: 0;
}

/* Ensure no gap between last block and footer in hero page template */
.wp-block-post-content>.trusted-partners-section:last-child {
	margin-bottom: 0;
}

/* Remove block gap after trusted partners section */
.wp-block-post-content:has(> .trusted-partners-section:last-child) {
	--wp--style--block-gap: 0;
}

/* Trusted Partners section padding */
.trusted-partners-section .wp-block-cover__inner-container {
	padding: var(--wp--preset--spacing--80) var(--wp--preset--spacing--50);
	max-width: 800px;
	margin: 0 auto;
}

/* Trusted Partners heading - Sansation font */
.trusted-partners-section h2.wp-block-heading {
	font-family: var(--wp--preset--font-family--sansation), Sansation, sans-serif;
	margin-bottom: var(--wp--preset--spacing--40);
}

/* Trusted Partners body text */
.trusted-partners-section p {
	font-family: var(--wp--preset--font-family--inter), Inter, sans-serif;
}

/* Separator in Trusted Partners - centered, 224px width, 3px height */
.trusted-partners-section .wp-block-separator,
.trusted-partners-separator {
	width: 224px;
	height: 3px;
	border: none;
	margin: 0 auto var(--wp--preset--spacing--50);
}

/**
 * 4.5 Solutions Accordion
 */

/* Solutions Accordion - using headings for reliability */
.solutions-accordion {
	margin-top: var(--wp--preset--spacing--50);
}

.solutions-accordion .accordion-item {
	font-family: var(--wp--preset--font-family--inter), Inter, sans-serif;
	padding: var(--wp--preset--spacing--40) 36px var(--wp--preset--spacing--40) 0;
	border-bottom: 2px solid #fff;
	margin: 0;
	position: relative;
	cursor: pointer;
}

/* Chevron icon */
.solutions-accordion .accordion-item::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 26px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg width='26' height='16' viewBox='0 0 26 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 2L13 13L24 2' stroke='%23F4F2ED' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	transition: transform 0.3s ease;
}

/* Rotate chevron when open */
.solutions-accordion .accordion-item.is-open::after {
	transform: translateY(-50%) rotate(180deg);
}

/* Remove border-bottom when open */
.solutions-accordion .accordion-item.is-open {
	border-bottom: none;
}

/* Solutions accordion images - flush to viewport */
.solutions-section .has-offset-pool-bg .wp-block-image {
	margin: 0;
	width: 100%;
	height: auto;
	max-width: none;
}

body .solutions-section .has-offset-pool-bg .wp-block-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 802 / 555;
	object-fit: cover;
	display: block;
	border-radius: 0;
}

/* Vertically center accordion images */
.solutions-section .has-offset-pool-bg,
.solutions-section .has-offset-pool-bg-right {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Flush left - maintenance (offset on right and bottom) */
.solutions-maintenance .has-offset-pool-bg {
	margin-left: calc(-1 * (80px + max(0px, (100vw - 1440px) / 2)));
	margin-right: 104px; /* 176px total gap (72px from columns gap + 104px) */
}

/* Fixed 802x555 dimensions for maintenance image */
.solutions-maintenance .has-offset-pool-bg .wp-block-image {
	width: 802px;
	min-width: 802px;
	max-width: none;
}

.solutions-maintenance .has-offset-pool-bg .wp-block-image img {
	width: 802px;
	min-width: 802px;
	height: 555px;
	object-fit: cover;
}

.page-id-15 .solutions-maintenance .has-offset-pool-bg::before {
	left: auto;
	right: -63px;
	top: auto;
	bottom: -28px;
	width: 120%;
	height: 100%;
}

/* Flush right - management and repair (offset on left and bottom) */
.solutions-management .has-offset-pool-bg-right,
.solutions-repair .has-offset-pool-bg-right {
	position: relative;
	/* Shift the column to the right to reach viewport edge */
	right: -260px;
	margin-left: 0;
	margin-right: 0;
}

/* Make the image fill the extended space - fixed 802x555 dimensions */
.solutions-management .has-offset-pool-bg-right .wp-block-image,
.solutions-repair .has-offset-pool-bg-right .wp-block-image {
	width: 802px;
	min-width: 802px;
	max-width: none;
}

.solutions-management .has-offset-pool-bg-right .wp-block-image img,
.solutions-repair .has-offset-pool-bg-right .wp-block-image img {
	width: 802px;
	min-width: 802px;
	height: 555px;
	object-fit: cover;
}

.solutions-management .has-offset-pool-bg-right::before,
.solutions-repair .has-offset-pool-bg-right::before {
	left: -79px;
	right: auto;
	top: auto;
	bottom: -28px;
	width: 120%;
	height: 100%;
}

/* Accordion content paragraph */
.solutions-accordion .accordion-content {
	font-family: var(--wp--preset--font-family--inter), Inter, sans-serif;
	font-size: 20px;
	line-height: 1.5;
	padding-right: 36px;
	margin-bottom: var(--wp--preset--spacing--40);
}

/**
 * 5.0 Navigation Styles
 */

/* Sticky Navigation - Fixed positioning and transitions */
.wp-block-template-part.is-sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99999;
	transition: all 0.3s ease-in-out;
}

/* Admin bar offset for sticky header */
.admin-bar .wp-block-template-part.is-sticky {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .wp-block-template-part.is-sticky {
		top: 46px;
	}
}

/* Sticky header background - solid blue */
.wp-block-template-part.is-sticky > .wp-block-group.alignfull {
	background-color: var(--wp--preset--color--theme-02);
	transition: background-color 0.3s ease-in-out, padding 0.3s ease-in-out;
}

/* Reduce header padding when sticky */
body .wp-block-template-part.is-sticky .wp-block-group.alignfull {
	padding-top: 15px ;
	padding-bottom: 15px ;
}

/* Logo condensing - reduce size when sticky */
.wp-block-site-logo {
	transition: width 0.3s ease-in-out, height 0.3s ease-in-out;
}

body .wp-block-site-logo.is-sticky {
	width: 48px ;
}

body .wp-block-site-logo.is-sticky img {
	width: 48px ;
	height: auto ;
}

/* Ensure navigation text is visible on blue background when sticky */
body .wp-block-template-part.is-sticky .wp-block-navigation-item a {
	color: white ;
}

body .wp-block-template-part.is-sticky .wp-block-navigation-item a:hover {
	color: var(--wp--preset--color--theme-04) ;
}

/* Sticky navigation - right justify the navigation */
body .wp-block-template-part.is-sticky .wp-block-group.is-layout-flex {
	justify-content: flex-end;
}

/* Keep logo on left when sticky - space-between for logo + nav container */
body .wp-block-template-part.is-sticky > .wp-block-group {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-left: 40px;
	padding-right: 40px;
}

/* Navigation should be right-justified within its container */
body .wp-block-template-part.is-sticky .wp-block-navigation {
	margin-left: auto;
	justify-content: flex-end;
}

/* Sticky navigation buttons stay right */
body .wp-block-template-part.is-sticky .wp-block-buttons {
	margin-left: 20px;
}

/* Logo icon sizing when sticky */
body .wp-block-template-part.is-sticky .wp-block-outermost-icon-block {
	transition: width 0.3s ease-in-out;
}

body .wp-block-template-part.is-sticky .wp-block-outermost-icon-block .icon-container {
	width: 60px;
}

/* Homepage Hero Sticky Navigation */
body .hero-top-bar.is-sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99999;
	background-color: var(--wp--preset--color--theme-02);
	padding-top: 15px;
	padding-bottom: 15px;
	padding-left: 40px;
	padding-right: 40px;
	transition: all 0.3s ease-in-out;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Hero navigation - right justify when sticky */
/* REQUIRED: !important to override mobile hiding rule at max-width: 1700px */
body .hero-top-bar.is-sticky .hero-navigation {
	margin-left: auto;
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	gap: 44px;
}

body .hero-top-bar.is-sticky .wp-block-navigation {
	margin-left: auto;
	justify-content: flex-end;
}

/* Ensure cloned nav is visible in sticky mode */
body .hero-top-bar.is-sticky .hero-nav-cloned {
	display: flex !important;
	gap: 44px;
}

/* Admin bar offset for sticky hero navigation */
.admin-bar .hero-top-bar.is-sticky {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .hero-top-bar.is-sticky {
		top: 46px;
	}
}

/* Hero logo condensing - reduce size when sticky */
.hero-logo {
	transition: width 0.3s ease-in-out;
}

body .hero-logo.is-sticky {
	width: 120px ;
}

body .hero-logo.is-sticky svg {
	width: 100% ;
	height: auto ;
}

/* Mobile adjustments for sticky navigation */
@media (max-width: 900px) {
	body .hero-top-bar.is-sticky {
		padding-left: 15px ;
		padding-right: 15px ;
	}

	body .hero-logo.is-sticky {
		width: 90px ;
	}
}

 header .icon-container {
	margin-left: 0;
	overflow: hidden;
 }

 header .wp-block-navigation .wp-block-buttons {
	position: relative;
	margin-top: 0;
}

/**
 * 4.8 Service Areas - Commercial Focused Expertise Section
 */

/* Fix heading wrapping at larger viewports */
@media (min-width: 1200px) {

	/* Remove max-width constraint on the inner group */
	.has-texture-bg .wp-block-columns .wp-block-column .wp-block-group.is-layout-constrained {
		max-width: none;
	}

	/* Also target the content width */
	.has-texture-bg .wp-block-columns .wp-block-column .wp-block-group.is-layout-constrained>* {
		max-width: none;
	}

	/* Ensure columns are 50/50 split for partner intro (2-column only) */
	.has-texture-bg>.wp-block-columns.alignwide:not(.has-3-columns)>.wp-block-column:first-child {
		flex-basis: 50%;
	}

	.has-texture-bg>.wp-block-columns.alignwide:not(.has-3-columns)>.wp-block-column:last-child {
		flex-basis: 50%;
	}

	/* 3-column layouts - equal width columns */
	.has-texture-bg .wp-block-columns.has-3-columns>.wp-block-column {
		flex: 1 1 0;
		max-width: 33.333%;
	}

	/* Target the heading specifically - ensure it doesn't wrap before the br */
	.has-texture-bg .wp-block-heading.has-sansation-font-family {
		max-width: 100%;
		width: 100%;
	}
}

/* Partner Intro Section - 50/50 split at 1920px viewport */
@media (min-width: 1920px) {
	.partner-intro-section .wp-block-columns.alignwide {
		max-width: 1920px ;
		width: 100% ;
		margin-left: 0 ;
		margin-right: 0 ;
		gap: 0 ;
	}

	.partner-intro-section .wp-block-columns.alignwide > .wp-block-column {
		flex-basis: 50% ;
		max-width: 50% ;
		flex-grow: 0 ;
		flex-shrink: 0 ;
	}

	.partner-intro-section .wp-block-columns.alignwide > .wp-block-column:first-child {
		margin-left: 0 ;
	}
}

/**
 * 4.9 Facility Grid Cards - Match Figma layout specs
 * SCOPED: Only applies to sections containing theme-07 cards
 * Target dimensions for 1440p: 584w x 329h per card
 */

/* Section padding: 96px top/bottom per Figma - only for cards section */
.has-texture-bg:has(.has-theme-07-background-color) {
	padding-top: 96px;
	padding-bottom: 96px;
	padding-left: 0;
	padding-right: 0;
}

/* Inner content group - 1200px max width, centered */
.has-texture-bg:has(.has-theme-07-background-color)>.wp-block-group.is-layout-constrained {
	max-width: 1200px;
	padding-left: 0;
	padding-right: 0;
	margin: 0 auto;
}

/* H2 and separator - no extra constraints */
.has-texture-bg:has(.has-theme-07-background-color) .wp-block-heading,
.has-texture-bg:has(.has-theme-07-background-color) .wp-block-separator {
	max-width: 100%;
}

/* Columns containing cards - centered with gap */
.has-texture-bg .wp-block-columns:has(.has-theme-07-background-color) {
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 0;
	padding-right: 0;
	gap: 32px;
	justify-content: center;
}

/* Card columns - fixed 584px width per Figma */
.has-texture-bg .wp-block-columns:has(.has-theme-07-background-color)>.wp-block-column {
	flex-basis: 584px;
	flex-grow: 0;
	max-width: 584px;
}

/* Card images - 584x329 aspect ratio */
.has-texture-bg .has-theme-07-background-color .wp-block-image {
	margin: 0;
}

.has-texture-bg .has-theme-07-background-color .wp-block-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 584 / 329;
	object-fit: cover;
}

/* First row of cards - 72px margin bottom */
.has-texture-bg .wp-block-group>.wp-block-columns:has(.has-theme-07-background-color):first-of-type {
	margin-bottom: 72px;
}

/* Remove constrained layout max-width on card content groups */
.has-theme-07-background-color .wp-block-group.is-layout-constrained,
.has-theme-07-background-color .wp-block-group-is-layout-constrained {
	--wp--style--global--content-size: 100%;
	--wp--style--global--wide-size: 100%;
	max-width: 100%;
}

.has-theme-07-background-color .wp-block-group.is-layout-constrained>*,
.has-theme-07-background-color .wp-block-group-is-layout-constrained>* {
	max-width: 100%;
}

/* Target specific WordPress container classes */
.has-theme-07-background-color [class*="wp-container-core-group-is-layout"] {
	--wp--style--global--content-size: 100%;
	max-width: 100%;
}

.has-theme-07-background-color [class*="wp-container-core-group-is-layout"]>.wp-block-heading,
.has-theme-07-background-color [class*="wp-container-core-group-is-layout"]>p {
	max-width: 100%;
}

/* Override inline padding on text containers - match Figma spec (15px) - REQUIRED: !important to override WordPress database inline styles */
.has-theme-07-background-color>.wp-block-group,
body .has-theme-07-background-color>.wp-block-group.has-global-padding,
body .has-theme-07-background-color .wp-block-group[style*="padding-left"],
body .has-theme-07-background-color .wp-block-group[style*="padding-right"] {
	padding-left: 15px !important;
	padding-right: 15px !important;
}

/* Card headings - responsive sizing */
.has-theme-07-background-color h3.wp-block-heading {
	font-size: clamp(16px, 2.5vw, 30px);
}

/* Hero nav container - align items on same line */
.is-hero .wp-block-group.alignwide {
	align-items: center;
}

/* Header layout - vertical centering and proper spacing */
.wp-block-group.alignfull:has(.wp-block-navigation) {
	align-items: center;
	/* Vertically center logo and navigation */
}

/* Remove padding and adjust vertical alignment for navigation wrapper - REQUIRED: !important to override inline styles */
.wp-block-group.is-layout-flow.wp-block-group-is-layout-flow:has(.wp-block-navigation) {
	padding-top: 0 !important;
	/*margin-top: -20px !important;*/
}

/* Desktop navigation - add spacing from logo and prevent wrapping */
.wp-block-group.alignfull>.wp-block-group:has(.wp-block-navigation) {
	margin-left: 100px;
	/* Add significant spacing from logo to match Figma */
}

/* Header navigation gap - REQUIRED: !important to override WordPress core navigation inline styles */
.wp-block-group.alignfull .wp-block-navigation,
.wp-block-group.alignfull .wp-block-navigation__container {
	gap: 44px;
	flex-wrap: nowrap !important;
}

/* About intro section - make image flush to left edge of viewport (exclude 3-column layouts) */
.has-texture-bg .wp-block-columns.alignwide:not(.has-3-columns)>.wp-block-column:first-child {
	margin-left: calc(-1 * max(16px, (100vw - var(--wp--style--global--wide-size, 1440px)) / 2));
	padding-left: 0;
}

/* Reset margin for 3-column layouts - override the above flush-left rule */
.has-texture-bg .wp-block-columns.alignwide.has-3-columns>.wp-block-column:first-child {
	margin-left: 0;
	padding-left: 0;
}

/* Navigation items gap - 44px spacing - REQUIRED: !important to override WordPress core navigation block inline styles */
.is-hero .wp-block-navigation,
.has-theme-02-background-color .wp-block-navigation {
	gap: 44px;
	flex-wrap: nowrap !important;
}

.is-hero .wp-block-navigation__container,
body .has-theme-02-background-color .wp-block-navigation__container {
	gap: 44px;
	flex-wrap: nowrap;
}

/* Global navigation gap - applies to all navigation */
body .wp-block-navigation,
body .wp-block-navigation__container {
	gap: 44px;
	flex-wrap: nowrap;
}


body .home .wp-block-group.alignfull .wp-block-navigation,
body .home .wp-block-group.alignfull .wp-block-navigation__container {
	gap: 44px;
	flex-wrap: nowrap !important;
}

/* Navigation container - right justify navigation */
body .wp-block-navigation__container {
	flex-grow: 0;
	margin-left: auto;
}

/* Hero navigation - align to right with padding from viewport edge */
/* At 1920px+, use 200px for proper spacing from edge */
.hero-navigation,
.hero-navigation-block-wrapper {
	margin-right: 200px !important;
}

/* At 1920px+, shift nav left to keep button away from edge */
@media (min-width: 1920px) {
	/* Shift entire hero navigation left using transform */
	body .hero-navigation {
		transform: translateX(-80px);
	}
}

/* Responsive margin adjustments for smaller viewports */
@media (max-width: 1919px) {
	.hero-navigation,
	.hero-navigation-block-wrapper {
		margin-right: 149px !important;
	}
}

/* Standard header navigation - ensure proper spacing between nav items and buttons */
body .wp-block-navigation__responsive-container-content {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center !important;
	gap: 44px;
}

body .wp-block-navigation__responsive-container-content > * {
	margin: 0;
}

/* Force entire navigation including buttons to stay on single row */
body .site-header .wp-block-navigation__container,
body .site-header .wp-block-navigation .wp-block-navigation__container {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center !important;
}

/* Buttons container in navigation - keep buttons in row with nav items */
/* REQUIRED: !important needed to override WordPress wp-container-* generated gap classes */
body .wp-block-navigation .wp-block-buttons {
	display: flex;
	flex-direction: row;
	gap: 44px;
	margin: 0;
	flex-wrap: nowrap;
	align-items: center !important;
	flex-shrink: 0;
}

body .wp-block-navigation .wp-block-button {
	margin: 0;
	flex-shrink: 0;
}

/* Prevent buttons from having fixed width that causes text to wrap */
body .wp-block-navigation .wp-block-button__link {
	width: auto;
	min-width: fit-content;
}

/* All navigation links - consistent font styling per Figma */
.wp-block-navigation-item a {
	font-family: var(--wp--preset--font-family--sansation);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	white-space: nowrap;
}

/* Button text also needs consistent sizing */
body .wp-block-navigation .wp-block-button__link {
	font-family: var(--wp--preset--font-family--sansation);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.6px;
	white-space: nowrap;
}

/* Homepage header navigation - white text for visibility over hero */
.home .wp-block-group .desktop-navigation .wp-block-navigation-item a,
.home .wp-block-group .wp-block-navigation-item a {
	color: white;
}

.home .wp-block-group .desktop-navigation .wp-block-navigation-item a:hover,
.home .wp-block-group .wp-block-navigation-item a:hover {
	opacity: 0.8;
}

/* Reduce gap between buttons - REQUIRED: !important to override WordPress core buttons block inline styles */
.is-hero .wp-block-buttons {
	gap: 44px !important;
}

/* All rounded buttons should be uppercase */
.wp-block-button__link[style*="border-radius:54px"] {
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 1px;
}

/* Hero nav link base styles - padding 12px 17px to prevent shift on hover */
.is-hero .wp-block-navigation-item__content {
	padding: 12px 17px;
	border-radius: 0;
	transition: background-color 0.2s ease;
}

/* Nav link hover - blue background, no rounded corners */
.is-hero .wp-block-navigation-item__content:hover {
	background-color: #1c8ece;
	border-radius: 0;
	padding: 12px 17px;
}

/* All navigation link hovers - no border radius (blue rectangle) on all templates */
.wp-block-navigation-item a:hover,
.wp-block-navigation-item__content:hover,
.desktop-navigation .wp-block-navigation-item a:hover,
.site-header .wp-block-navigation-item a:hover,
.hero-navigation .wp-block-navigation-item a:hover,
.hero-navigation-block-wrapper .wp-block-navigation-item a:hover {
	border-radius: 0;
}

/* Dropdown submenu styles */
/* Submenu container - white background with dark blue text */
.wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation__submenu-container {
	background-color: #ffffff !important;
	border: none;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	padding: 8px 0;
	min-width: 200px;
}

/* Submenu links - dark blue text by default */
.wp-block-navigation__submenu-container .wp-block-navigation-item a,
.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #1a4ea2 !important;
	padding: 12px 20px;
	display: block;
	transition: all 0.2s ease;
}

/* Submenu link hover - light blue background with white text */
.wp-block-navigation__submenu-container .wp-block-navigation-item a:hover,
.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background-color: #1c8ece !important;
	color: #ffffff !important;
	border-radius: 0;
}

/* Dropdown caret/arrow - make it white, 14x14, and closer to text */
.wp-block-navigation-item.has-child .wp-block-navigation__submenu-icon,
.wp-block-navigation-submenu .wp-block-navigation__submenu-icon {
	fill: #ffffff;
	stroke: #ffffff;
	margin-left: 1px; /* Bring caret closer to text */
	width: 14px;
	height: 14px;
}

/* Ensure dropdown arrow inherits color in different contexts */
.wp-block-navigation-item.has-child .wp-block-navigation-item__content svg,
.wp-block-navigation-submenu .wp-block-navigation-item__content svg {
	fill: currentColor;
}

/* Override dropdown arrow to white on all page templates */
.home .wp-block-navigation-item.has-child svg,
.is-hero .wp-block-navigation-item.has-child svg,
header .wp-block-navigation-item.has-child svg,
.site-header .wp-block-navigation-item.has-child svg {
	fill: #ffffff;
}

/* Subtle button style in navigation - removed individual margins, using container gap instead */

/* Page-default header - logo 190px from left viewport edge */
/* Override WordPress constrained layout to position content from left edge */
header.wp-block-template-part > .wp-block-group.is-layout-constrained {
	/* Remove constrained centering and padding */
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

header.wp-block-template-part > .wp-block-group > .wp-block-group.alignwide {
	/* Reset alignwide behavior - full width with left padding for logo position */
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-left: 190px;
	padding-right: 40px;
}

/* Page-default navigation - 170px gap from logo */
@media (min-width: 1024px) {
	header.wp-block-template-part .site-header .desktop-navigation {
		margin-left: 170px;
	}

	/* Page-default nav link base styles (match hero navigation) */
	header.wp-block-template-part .site-header .desktop-navigation .wp-block-navigation-item a {
		padding: 12px 17px;
		border-radius: 0;
		transition: background-color 0.2s ease;
	}

	/* Page-default nav link hover - blue background, no border radius */
	header.wp-block-template-part .site-header .desktop-navigation .wp-block-navigation-item a:hover {
		background-color: #1c8ece;
		border-radius: 0;
		padding: 12px 17px;
	}

	/* Header template part navigation (contact, etc.) - position nav closer to logo */
	header.wp-block-template-part .wp-block-group.alignwide.is-content-justification-space-between {
		justify-content: flex-start !important;
		flex-wrap: nowrap;
		padding-right: 55px;
	}

	/* Add gap after logo icon */
	header.wp-block-template-part .wp-block-group.alignwide .wp-block-outermost-icon-block {
		margin-right: 120px;
	}

	/* Prevent nav items from wrapping */
	header.wp-block-template-part .wp-block-group .wp-block-navigation .wp-block-navigation-item {
		white-space: nowrap;
	}

	/* Header template part nav link base styles */
	header.wp-block-template-part .wp-block-group .wp-block-navigation .wp-block-navigation-item a {
		padding: 12px 17px;
		border-radius: 0;
		transition: background-color 0.2s ease;
		white-space: nowrap;
	}

	/* Header template part nav link hover - blue background, no border radius, no underline */
	/* REQUIRED: !important to override WordPress core navigation styles */
	header.wp-block-template-part .wp-block-group .wp-block-navigation .wp-block-navigation-item a:hover {
		background-color: #1c8ece !important;
		border-radius: 0;
		padding: 12px 17px;
		text-decoration: none;
	}

	/* Align button items with nav links and set consistent gap */
	header.wp-block-template-part .wp-block-navigation .wp-block-buttons {
		margin-top: 0;
		margin-left: 0;
		gap: 44px;
		justify-content: flex-start;
	}


	/* Gap between nav items */
	header.wp-block-template-part .wp-block-navigation__container {
		gap: 44px;
	}

	/* No underline on navigation button links (Partner With Us, Become a Lifeguard) on hover */
	header.wp-block-template-part .wp-block-navigation .wp-block-buttons .wp-block-button__link:hover,
	header.wp-block-template-part .wp-block-navigation .wp-block-buttons a:hover {
		text-decoration: none;
	}
}

/* Current page indicator - no background styling */
.is-hero .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content,
.is-hero .wp-block-navigation-item__content[aria-current="page"] {
	background-color: transparent;
	border-radius: 0;
}

/* Partner With Us button - transparent background, yellow dotted underline - REQUIRED: !important to override WordPress core button and theme.json button styles */
/* ONLY applies in header navigation */
.hero-navigation .wp-block-button.is-style-subtle .wp-block-button__link,
body .hero-navigation .wp-block-button.is-style-subtle .wp-block-button__link.wp-element-button,
body .hero-navigation-block-wrapper .wp-block-button.is-style-subtle .wp-block-button__link,
body .hero-navigation-block-wrapper .wp-block-button.is-style-subtle .wp-block-button__link.wp-element-button,
.wp-block-navigation a.wp-block-button__link[href*="partner-with-us"],
body .hero-navigation a.wp-block-button__link[href*="partner-with-us"],
.hero-navigation-block-wrapper a.wp-block-button__link[href*="partner-with-us"] {
	/* REQUIRED: !important to override WordPress core button styles */
	background: none !important;
 /* REQUIRED: !important to override WordPress core navigation styles */
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	border-bottom: 2px dotted #fbd872 !important;
	border-radius: 0 !important;
	padding: 10px 0 8px !important;
	color: #f4f2ed;
}

.hero-navigation .wp-block-button.is-style-subtle .wp-block-button__link:hover,
body .hero-navigation .wp-block-button.is-style-subtle .wp-block-button__link.wp-element-button:hover,
.hero-navigation-block-wrapper .wp-block-button.is-style-subtle .wp-block-button__link:hover,
body .hero-navigation-block-wrapper .wp-block-button.is-style-subtle .wp-block-button__link.wp-element-button:hover,
.wp-block-navigation a.wp-block-button__link[href*="partner-with-us"]:hover,
body .hero-navigation a.wp-block-button__link[href*="partner-with-us"]:hover,
.hero-navigation-block-wrapper a.wp-block-button__link[href*="partner-with-us"]:hover {
	/* REQUIRED: !important to override WordPress core button styles */
	background: none !important;
	background-color: transparent;
	background-image: none !important;
	border-bottom: 2px solid #d22730 !important;
	color: #f4f2ed;
	text-decoration: none;
}

/* Become A Lifeguard button - water wave animation with clip-path (white base, yellow wave overlay) */
.hero-navigation a.wp-block-button__link[href*="become-a-lifeguard"] {
	position: relative !important;
	overflow: hidden !important;
	/* No background - pseudo-elements provide colors */
	background-color: transparent !important;
	background-image: none !important;
	color: #1a4ea2 !important;
	border-radius: 43px !important;
	border: none !important;
	padding: 10px 20px !important;
}

/* White base layer */
.hero-navigation a.wp-block-button__link[href*="become-a-lifeguard"]::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	border-radius: inherit;
	z-index: -2;
	pointer-events: none;
}

/* Yellow overlay with static wave shape - shows both colors */
.hero-navigation a.wp-block-button__link[href*="become-a-lifeguard"]::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fbd872;
	border-radius: inherit;
	z-index: -1;
	pointer-events: none;
	/* Static wave shape showing both colors */
	clip-path: polygon(
		0% 45%,
		16% 44%,
		33% 50%,
		54% 60%,
		70% 61%,
		84% 59%,
		100% 52%,
		100% 100%,
		0% 100%
	);
}

.hero-navigation a.wp-block-button__link[href*="become-a-lifeguard"]:hover::after {
	animation: water-wave 2s ease-in-out infinite;
}

.hero-navigation a.wp-block-button__link[href*="become-a-lifeguard"]:hover {
	color: #1a4ea2 !important;
	text-decoration: none;
}

/**
 * 4.10 Service Areas Map Section
 * Map takes full container width, stats boxes positioned absolutely on top
 * Target: .has-water-ripple-bg containing .has-theme-02-background-color (not cards section)
 */

/* Map section container - relative positioning for absolute children */
.has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color)) {
	position: relative;
	padding: 60px 0;
	overflow: visible;
}

/* Override the columns layout */
.has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color))>.wp-block-columns {
	display: block;
	position: relative;
	max-width: 1440px;
	margin: 0 auto;
}

/* Stats column - positioned absolutely in upper left, overlaying the map - REQUIRED: !important to override WordPress core column block inline styles */
.has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color))>.wp-block-columns>.wp-block-column:first-child {
	position: absolute !important;
	left: 200px !important;
	top: 120px !important;
	bottom: auto !important;
	width: auto !important;
	max-width: 400px;
	z-index: 10;
}

/* Stats box container styling */
.has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color)) .has-theme-02-background-color {
	display: inline-flex;
	gap: 6px;
	padding: 26px 35px;
}

/* Map column - full width of container - REQUIRED: !important to override WordPress core column block inline styles */
.has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color))>.wp-block-columns>.wp-block-column:last-child {
	position: relative;
	width: 100% !important;
	max-width: 100% !important;
	flex-basis: 100% !important;
}

/* Map image - full width */
.has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color)) .wp-block-image {
	margin: 0;
}

.has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color)) .wp-block-image img {
	width: 100%;
	height: auto;
	max-width: 100%;
}

/* Service areas list text - centered below map */
.has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color))>.wp-block-columns>.wp-block-column:last-child>p {
	text-align: center;
	margin-top: 16px;
}

/* Responsive: Stack on smaller screens - REQUIRED: !important to override desktop absolute positioning */
@media (max-width: 1024px) {
	.has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color))>.wp-block-columns>.wp-block-column:first-child {
		position: relative !important;
		left: auto !important;
		bottom: auto !important;
		width: 100% !important;
		max-width: 100%;
		text-align: center;
		padding: 40px 20px;
		order: 2;
	}

	.has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color))>.wp-block-columns>.wp-block-column:last-child {
		order: 1;
	}

	.has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color))>.wp-block-columns {
		display: flex;
		flex-direction: column;
	}

	.has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color)) .has-theme-02-background-color {
		justify-content: center;
	}
}


/* Full-height image style for Partner Contact section */
.is-style-full-height {
	height: 100%;
}

.is-style-full-height img {
	height: 100%;
	object-fit: cover;
}

.is-vertically-aligned-stretch .is-style-full-height {
	height: 100%;
}

/* Partner Contact - Section styling */
.has-droplet-bg {
	position: relative;
	overflow: hidden;
}

.has-droplet-bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url('/wp-content/uploads/2025/12/texture-bg.png') 0px -537px / 100% 225% no-repeat;
	opacity: 0.1;
	pointer-events: none;
	z-index: 0;
}

.has-droplet-bg>* {
	position: relative;
	z-index: 1;
}

.has-droplet-bg>.wp-block-columns.alignwide {
	align-items: stretch;
}

/* Partner Contact - Image column - absolute positioned for full height - REQUIRED: !important to override WordPress core column block inline styles */
.has-droplet-bg .wp-block-column:last-child:not(.operations-contact-image-column):not(.partner-contact-image-column):not(.contact-contact-image-column):not(.contact-hero-form-image-column):not(.contact-image-column) {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 770px !important;
	margin: 0 !important;
	flex-basis: auto !important;
	padding-right: 0 !important;
}

/* Operations Contact - override absolute positioning for 50/50 layout */
.has-droplet-bg.operations-contact-section .operations-contact-image-column,
body .has-droplet-bg.operations-contact-section .wp-block-column.operations-contact-image-column,
.operations-contact-section .operations-contact-image-column {
	position: relative !important;
	width: 50%;
	flex-basis: 50%;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	display: flex !important;
	align-items: stretch !important;
}

/* Operations Contact - remove fixed height for 50/50 layout */
body .operations-contact-section {
	height: auto;
	min-height: auto;
	max-height: none;
	overflow: visible;
}

.operations-contact-section .wp-block-columns {
	height: auto;
	min-height: auto;
	max-height: none;
}

.operations-contact-section .operations-contact-image-column .wp-block-image,
.operations-contact-section .operations-contact-image-column figure {
	width: 100%;
	height: 100%;
	margin: 0;
	display: flex;
	flex: 1;
}

.operations-contact-section .operations-contact-image-column img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	flex: 1;
}

#wp--skip-link--target > div > div.wp-block-group.alignfull.has-texture-bg.has-global-padding.is-layout-constrained.wp-container-core-group-is-layout-fd821a17.wp-block-group-is-layout-constrained > div > div:nth-child(2) > div > h2 {
	margin-top: 10px;
}

.wp-container-core-group-is-layout-1fc92b39 > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 670px;
    margin-left: 0;
    margin-right: auto;
}

/* Partner Contact - override absolute positioning for 50/50 layout */
.has-droplet-bg.partner-contact-section .partner-contact-image-column,
body .has-droplet-bg.partner-contact-section .wp-block-column.partner-contact-image-column,
.partner-contact-section .partner-contact-image-column {
	position: relative;
	width: 50%;
	flex-basis: 50%;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	display: flex;
	align-items: stretch;
}

/* Partner Contact - remove fixed height for 50/50 layout */
.partner-contact-section {
	height: auto;
	min-height: auto;
	max-height: none;
	overflow: visible;
}

.partner-contact-section .wp-block-columns {
	height: auto;
	min-height: auto;
	max-height: none;
}

.partner-contact-section .partner-contact-image-column .wp-block-image,
.partner-contact-section .partner-contact-image-column figure {
	width: 100%;
	height: 100%;
	margin: 0;
	display: flex;
	flex: 1;
}

.partner-contact-section .partner-contact-image-column img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	flex: 1;
}

/* Contact Contact - override absolute positioning for 50/50 layout */
.has-droplet-bg.contact-contact-section .contact-contact-image-column,
body .has-droplet-bg.contact-contact-section .wp-block-column.contact-contact-image-column,
.contact-contact-section .contact-contact-image-column {
	position: relative;
	width: 50%;
	flex-basis: 50%;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	display: flex;
	align-items: stretch;
}

/* Contact Contact - remove fixed height for 50/50 layout */
.contact-contact-section {
	height: auto;
	min-height: auto;
	max-height: none;
	overflow: visible;
}

.contact-contact-section .wp-block-columns {
	height: auto;
	min-height: auto;
	max-height: none;
}

.contact-contact-section .contact-contact-image-column .wp-block-image,
.contact-contact-section .contact-contact-image-column figure {
	width: 100%;
	height: 100%;
	margin: 0;
	display: flex;
	flex: 1;
}

.contact-contact-section .contact-contact-image-column img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	flex: 1;
}

/* Contact Hero Form - override absolute positioning for 50/50 layout */
.has-droplet-bg.contact-hero-form-section .contact-hero-form-image-column,
body .has-droplet-bg.contact-hero-form-section .wp-block-column.contact-hero-form-image-column,
.contact-hero-form-section .contact-hero-form-image-column {
	position: relative;
	width: 50%;
	flex-basis: 50%;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	display: flex;
	align-items: stretch;
}

/* Contact Hero Form - remove fixed height for 50/50 layout */
.contact-hero-form-section {
	height: auto;
	min-height: auto;
	max-height: none;
	overflow: visible;
}

.contact-hero-form-section .wp-block-columns {
	height: auto;
	min-height: auto;
	max-height: none;
}

.contact-hero-form-section .contact-hero-form-image-column .wp-block-image,
.contact-hero-form-section .contact-hero-form-image-column figure {
	width: 100%;
	height: 100%;
	margin: 0;
	display: flex;
	flex: 1;
}

.contact-hero-form-section .contact-hero-form-image-column img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	flex: 1;
}

.contact-image-column .wp-block-image,
.contact-image-column figure,
.has-droplet-bg .wp-block-column:last-child:not(.operations-contact-image-column):not(.partner-contact-image-column):not(.contact-contact-image-column):not(.contact-hero-form-image-column) .wp-block-image,
.has-droplet-bg .wp-block-column:last-child:not(.operations-contact-image-column):not(.partner-contact-image-column):not(.contact-contact-image-column):not(.contact-hero-form-image-column) figure {
	height: 100%;
	width: 100%;
	margin: 0;
	border-radius: 0;
}

.contact-image-column .wp-block-image img,
.contact-image-column img,
.has-droplet-bg .wp-block-column:last-child:not(.operations-contact-image-column):not(.partner-contact-image-column):not(.contact-contact-image-column):not(.contact-hero-form-image-column) img,
.has-droplet-bg img[style*="border-radius"] {
	height: 100%;
	width: 100%;
	object-fit: cover;
	border-radius: 0;
}

/* Partner Contact - Reduce form input margins - REQUIRED: !important to override Gravity Forms plugin inline styles */
.has-droplet-bg .gform_wrapper .gfield {
	margin-bottom: 12px !important;
}

.has-droplet-bg .gform_wrapper .gform_fields {
	row-gap: 12px !important;
}

.has-droplet-bg .gform_wrapper .gfield_label {
	margin-bottom: 4px !important;
}

/**
 * 5.0 Partner Page Separator Styles
 * Fixed 224px width separator for Partner patterns
 * Prevents flex-basis from making separator tall in vertical flex containers
 * REQUIRED: !important to override WordPress core separator block inline styles
 */
.separator-224 {
	width: 224px !important;
	max-width: 224px !important;
	flex-basis: auto !important;
	flex-grow: 0 !important;
	flex-shrink: 0 !important;
	height: auto;
	margin-left: 0 !important;
	margin-right: auto !important;
}

/**
 * 5.1 Aquatic Solutions Section
 */

/* Heading should stay on one line */
.aquatic-solutions-heading {
	white-space: nowrap;
}

/* Service card images - full width, no margin */
.aquatic-solutions-section .service-card-image {
	margin: 0;
}

.aquatic-solutions-section .service-card-image img {
	width: 100%;
	display: block;
}

/**
 * 5.2 Operations Solutions Section
 * Note: Background positioning controlled via WordPress editor focal point
 */

/* Solutions section - 80px padding top and bottom */
.solutions-section-cover {
	padding-top: 80px;
	padding-bottom: 80px;
	position: relative;
	z-index: 1;
}

/* Solutions section separator - centered, 224px width */
.solutions-section-cover .short-underline {
	width: 224px;
	max-width: 224px;
	height: 3px;
	margin-left: auto;
	margin-right: auto;
}

/* Metrics section (Proven Results at Scale) separator */
.is-style-section-2 .wp-block-separator {
	width: 224px;
	max-width: 224px;
	height: 3px;
	border: none;
	margin-bottom: 43px;
}

/* Metrics section - horizontal layout with 75px gap */
.is-style-section-2 .is-style-kindling-grid-system {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 75px;
}

.is-style-section-2 .is-style-grid-item-span-full-to-one-quarter {
	grid-column: span 1;
}

/* Solutions cards - 34px gaps between columns, responsive layout */
.solutions-section-cover>.wp-block-cover__inner-container>.wp-block-columns.alignwide {
	gap: 34px;
	max-width: 100%;
	justify-content: center;
	width: 100%;
}

/* Solutions column - max Figma width: 617px, responsive */
.solutions-section-cover .wp-block-column {
	max-width: 617px;
	flex: 1 1 auto;
	min-width: 280px;
}

/* Solutions card - responsive dimensions, vertical centering and padding */
body .solutions-card {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 617px;
	height: auto;
	min-height: 600px;
}

body .solutions-card .wp-block-cover__inner-container {
	padding: 40px 98px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	box-sizing: border-box;
}

/* Short underline for solution cards - REQUIRED: !important to override WordPress core separator inline styles */
.short-underline-white {
	width: 224px !important;
	max-width: 224px !important;
	height: 3px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Natural state - no overlay or text by default - REQUIRED: !important to override WordPress core cover block opacity */
.solutions-card-natural .wp-block-cover__background {
	opacity: 0 !important;
	transition: opacity 0.3s ease-in-out;
}

.solutions-card-natural .wp-block-cover__inner-container {
	/* REQUIRED: !important to override WordPress core cover block opacity */
	opacity: 0 !important;
	transition: opacity 0.3s ease-in-out;
}

/* Hover state - overlay and text appear - REQUIRED: !important to override WordPress core cover block opacity */
.solutions-card-natural:hover .wp-block-cover__background {
	opacity: 0.7 !important;
}

.solutions-card-natural:hover .wp-block-cover__inner-container {
	/* REQUIRED: !important to override WordPress core cover block opacity */
	opacity: 1 !important;
}

/* Active state - always shows overlay */
.solutions-card-active {
	cursor: pointer;
}

.solutions-card-active .wp-block-cover__background {
	transition: opacity 0.3s ease-in-out;
}

/**
 * 5.2 Operations Intro Section
 * Full-bleed image left, text right layout per Figma
 */
.operations-intro-section {
	overflow: hidden;
}

.operations-intro-section>.wp-block-columns {
	max-width: none;
	margin: 0;
	gap: 0;
}

/* Image column - bleed to left edge - REQUIRED: !important to override WordPress database inline styles */
.operations-intro-section>.wp-block-columns>.wp-block-column:first-child {
	padding: 0 !important;
	margin: 0;
}

.operations-intro-section>.wp-block-columns>.wp-block-column:first-child .wp-block-image {
	margin: 0;
}

.operations-intro-section>.wp-block-columns>.wp-block-column:first-child .wp-block-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* Text column - add left padding for gap, constrain width on right - REQUIRED: !important to override WordPress database inline styles */
.operations-intro-section>.wp-block-columns>.wp-block-column:last-child {
	padding-left: var(--wp--preset--spacing--60) !important;
	padding-right: var(--wp--preset--spacing--50) !important;
	max-width: 730px;
}

/* Operations eyebrow text needs margin-bottom */

/* Operations separator needs margin-bottom */
.operations-intro-section .wp-block-separator {
	margin-bottom: 52px;
}

/* Single operations CPT - flush left first column */
.single-operations .has-texture-bg .wp-block-columns.alignwide:not(.has-3-columns)>.wp-block-column:first-child {
	margin-left: 0;
	padding-left: 0;
}

/**
 * 5.3 Operations Leadership Section
 * Heading and photos overlap the section above
 * Blue background starts partway through photos
 */
.leadership-wrapper {
	position: relative;
	z-index: 2;
	margin-top: -230px;
}

.leadership-section {
	position: relative;
	padding-top: 0;
	background: transparent;
}

.leadership-section.has-theme-02-background-color {
	background: transparent;
}

/* Blue background starts below heading, covers most of photos + names */
.leadership-section::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 150px;
	bottom: 0;
	background-color: #1a4ea2;
	z-index: -1;
}

.leadership-section .leadership-header {
	position: relative;
	z-index: 3;
}

.leadership-section .leadership-cards {
	gap: 32px;
	justify-content: center;
	position: relative;
	z-index: 1;
	margin-top: -40px;
}

.leadership-section .leadership-cards>.wp-block-column {
	flex-basis: 444px;
	flex-grow: 0;
	max-width: 444px;
}

.leadership-section .leadership-photo {
	margin: 0 0 30px 0;
	position: relative;
	cursor: pointer;
}

.leadership-section .leadership-photo img {
	width: 444px;
	height: 444px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* View Bio Overlay */
.leadership-photo__overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(26, 78, 162, 0.9);
	opacity: 0;
	transition: opacity 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.leadership-photo:hover .leadership-photo__overlay {
	opacity: 1;
	pointer-events: auto;
}

.leadership-photo__view-bio {
	color: #ffffff;
	font-family: var(--wp--preset--font-family--sansation);
	font-size: 30px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
}

/**
 * 5.4 Leadership Modal
 * Modal popup for team member bios
 */
.leadership-modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
}

.leadership-modal[aria-hidden="false"] {
	display: block;
}

.leadership-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
	cursor: pointer;
}

.leadership-modal__container {
	position: relative;
	max-width: 1468px;
	margin: 72px auto;
	background: white;
	z-index: 10000;
}

.leadership-modal__content {
	display: flex;
	gap: 84px;
	padding: 72px 56px;
	position: relative;
}

.leadership-modal__content::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url('/wp-content/uploads/2025/12/texture-bg.png');
	background-size: cover;
	opacity: 0.1;
	pointer-events: none;
}

.leadership-modal__photo-wrapper {
	position: relative;
	flex-shrink: 0;
	z-index: 1;
}

.leadership-modal__photo {
	width: 506px;
	height: 622px;
	object-fit: cover;
	background: #b2b2b2;
	display: block;
}

.leadership-modal__badge {
	position: absolute;
	bottom: -60px;
	left: 181px;
	background: #1a4ea2;
	padding: 26px 35px;
}

.leadership-modal__badge-inner {
	border: 2px solid white;
	padding: 6px 12px;
	text-align: center;
}

.leadership-modal__badge-number {
	display: block;
	font-family: 'Sansation', sans-serif;
	font-size: 50px;
	font-weight: 700;
	line-height: 53px;
	color: white;
	text-transform: uppercase;
}

.leadership-modal__badge-text {
	display: block;
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 22px;
	color: white;
	text-transform: uppercase;
}

.leadership-modal__info {
	flex: 1;
	z-index: 1;
}

.leadership-modal__name {
	font-family: 'Sansation', sans-serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 60px;
	letter-spacing: 1.2px;
	color: #1a4ea2;
	text-transform: uppercase;
	margin: 0 0 9px;
}

.leadership-modal__title {
	font-family: 'Inter', sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
	color: #1a4ea2;
	margin: 0 0 21px;
}

.leadership-modal__bio {
	font-family: 'Inter', sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 30px;
	color: #4e4b48;
	max-width: 763px;
}

.leadership-modal__bio p {
	margin: 0;
}

.leadership-modal__close {
	position: absolute;
	top: 80px;
	right: 32px;
	width: 34px;
	height: 34px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	z-index: 10001;
}

.leadership-modal__close:hover svg line {
	stroke: #1c8ece;
}

/**
 * 5.5 Lifeguard Love Section - Summer Pattern Background
 */

/* Summer pattern background for Why You'll Love Lifeguarding section */
.has-summer-pattern-bg {
	position: relative;
	background-color: #fbd872;
}

.has-summer-pattern-bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url('/wp-content/uploads/2025/12/lifeguard-summer-pattern-bg.jpg') center/cover no-repeat;
	opacity: 0.81;
	pointer-events: none;
	z-index: 0;
}

.has-summer-pattern-bg>* {
	position: relative;
	z-index: 1;
}

/**
 * 5.6 Lifeguard Gallery Section - Red Pattern Background
 */

/* Red pattern background for gallery section */
.has-red-pattern-bg {
	position: relative;
}

.has-red-pattern-bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url('/wp-content/uploads/2025/12/lifeguard-gallery-bg.jpg') center/cover no-repeat;
	opacity: 0.3;
	pointer-events: none;
	z-index: 0;
}

.has-red-pattern-bg>* {
	position: relative;
	z-index: 1;
}

/* Lifeguard Gallery Strip - 3 images side by side */
.lifeguard-gallery-strip {
	width: 100%;
	overflow: hidden;
	margin-left: calc(-50vw + 50%);
	margin-right: calc(-50vw + 50%);
}

.lifeguard-gallery-strip .gallery-images {
	display: flex;
	gap: 25px;
	justify-content: flex-start;
	padding: 0;
	max-width: 100vw;
	margin: 0;
}

.lifeguard-gallery-strip .gallery-image {
	flex: 1 1 0;
	aspect-ratio: 627 / 491;
	overflow: hidden;
	background-color: #e7e7e7;
}

.lifeguard-gallery-strip .gallery-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.lifeguard-gallery-strip .gallery-image img:hover {
	opacity: 0.9;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
	.lifeguard-gallery-strip .gallery-images {
		gap: 15px;
		padding: 0;
	}
}

@media (max-width: 768px) {
	.lifeguard-gallery-strip .gallery-images {
		flex-wrap: wrap;
		justify-content: flex-start;
		padding: 0;
	}

	.lifeguard-gallery-strip .gallery-image {
		flex: 0 0 calc(50% - 12.5px);
	}
}

/**
 * 5.8 Gallery Lightbox
 */
.gallery-lightbox {
	position: fixed;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.95);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.gallery-lightbox.is-open {
	opacity: 1;
	visibility: visible;
}

.gallery-lightbox .lightbox-content {
	max-width: 90vw;
	max-height: 90vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gallery-lightbox .lightbox-image {
	max-width: 100%;
	max-height: 90vh;
	object-fit: contain;
}

.gallery-lightbox .lightbox-close {
	position: absolute;
	top: 20px;
	right: 20px;
	background: none;
	border: none;
	color: #fff;
	font-size: 40px;
	cursor: pointer;
	padding: 10px;
	line-height: 1;
	transition: opacity 0.2s ease;
}

.gallery-lightbox .lightbox-close:hover {
	opacity: 0.7;
}

.gallery-lightbox .lightbox-prev,
.gallery-lightbox .lightbox-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	color: #fff;
	font-size: 60px;
	cursor: pointer;
	padding: 20px;
	line-height: 1;
	transition: opacity 0.2s ease;
}

.gallery-lightbox .lightbox-prev {
	left: 20px;
}

.gallery-lightbox .lightbox-next {
	right: 20px;
}

.gallery-lightbox .lightbox-prev:hover,
.gallery-lightbox .lightbox-next:hover {
	opacity: 0.7;
}

/**
 * 5.9 Lifeguard Love Grid - Centered columns
 */
.lifeguard-love-grid {
	justify-content: center;
}

/**
 * 5.7 Job Fit Section
 */
.job-fit-section {
	background-image: url('/wp-content/uploads/2025/12/water-ripple-bg.jpg');
	background-size: cover;
	background-position: center;
	padding: 100px 0;
	overflow: hidden;
}

.job-fit-container {
	display: flex;
	align-items: center;
	gap: 0;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
}

.job-fit-carousel {
	flex: 0 0 50%;
	max-width: 720px;
}

.job-fit-slides {
	position: relative;
	width: 100%;
	height: 644px;
}

.job-fit-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 1.8s ease-in-out;
}

.job-fit-slide.is-active {
	opacity: 1;
}

.job-fit-slide img {
	width: 100%;
	height: 644px;
	object-fit: cover;
	display: block;
}

.job-fit-dots {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 40px;
}

.job-fit-dot {
	width: 14px;
	height: 14px;
	padding: 0;
	border-radius: 50%;
	background-color: transparent;
	border: 2px solid var(--wp--preset--color--theme-02);
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.job-fit-dot:hover,
.job-fit-dot.is-active {
	background-color: var(--wp--preset--color--theme-02);
}

.job-fit-content {
	flex: 0 0 50%;
	margin-left: 156px;
	min-width: 0;
	overflow: hidden;
}

.job-fit-content h2 {
	font-family: var(--wp--preset--font-family--sansation);
	font-size: 37px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	line-height: 60px;
	color: var(--wp--preset--color--theme-02);
	margin: 0 0 20px 0;
}

.job-fit-content hr {
	width: 224px;
	height: 4px;
	background-color: #1A4EA2;
	border: none;
	margin: 0 0 30px 0;
}

.job-fit-content p {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 20px;
	color: #000;
	line-height: 1.6;
	margin: 0 0 20px 0;
}

.job-fit-content ul {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 20px;
	color: #000;
	line-height: 1.6;
	margin: var(--wp--preset--spacing--40) 0 0 0;
	padding-left: 0;
	list-style: none;
}

.job-fit-content ul li {
	margin-bottom: 55px;
	padding-left: 55px;
	position: relative;
}

.job-fit-content ul li:last-child {
	margin-bottom: 0;
}

.job-fit-content ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 2px;
	width: 42px;
	height: 35px;
	background-image: url('/wp-content/uploads/2025/12/red-flag.svg');
	background-size: contain;
	background-repeat: no-repeat;
}

.job-fit-button,
.lifeguard-intro-section .wp-block-buttons .wp-block-button .wp-block-button__link.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 228px;
	height: 50px;
	padding: 0;
	/* REQUIRED: !important to override WordPress database inline padding */
	background-color: var(--wp--preset--color--theme-02);
	color: #fff;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 18px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1.44px;
	text-decoration: none;
	border-radius: 54px;
	transition: background-color 0.3s ease;
}

.job-fit-button {
	margin-top: var(--wp--preset--spacing--50);
}

.job-fit-button:hover,
.lifeguard-intro-section .wp-block-buttons .wp-block-button .wp-block-button__link.wp-element-button:hover {
	background-color: var(--wp--preset--color--theme-04);
	color: var(--wp--preset--color--theme-02);
}

/* Dark blue button hover - yellow background with dark blue text */
.wp-block-button__link.has-theme-02-background-color:hover,
.wp-block-button__link.has-theme-02-background-color.wp-element-button:hover {
	background-color: var(--wp--preset--color--theme-04);
	color: var(--wp--preset--color--theme-02);
}

/* White background button hover - yellow background with dark blue text */
.wp-block-button__link.has-white-color.has-background:hover,
.wp-block-button__link.has-white-color.has-background.wp-element-button:hover {
	background-color: var(--wp--preset--color--theme-04);
	color: var(--wp--preset--color--theme-02);
}

/* Dark blue text on white background button hover - dark blue background with white text */
.wp-block-button__link.has-theme-02-color.has-white-background-color:hover,
.wp-block-button__link.has-theme-02-color.has-white-background-color.wp-element-button:hover {
	background-color: var(--wp--preset--color--theme-02);
	color: white;
}

.lifeguard-intro-section .wp-block-column .wp-block-heading {
	line-height: 60px;
}

/* Responsive */
@media (max-width: 1300px) {
	.job-fit-container {
		padding: 0 40px;
	}

	.job-fit-carousel {
		flex: 0 0 50%;
		width: 50%;
	}

	.job-fit-content {
		margin-left: 80px;
	}

	.job-fit-slides {
		height: auto;
		aspect-ratio: 859 / 644;
	}

	.job-fit-slide img {
		height: auto;
		aspect-ratio: 859 / 644;
	}

	.job-fit-content h2 {
		font-size: 40px;
		white-space: normal;
	}
}

@media (max-width: 1024px) {
	.job-fit-container {
		flex-direction: column;
		gap: 40px;
		padding: 0 40px;
	}

	.job-fit-carousel {
		flex: 0 0 100%;
		width: 100%;
		max-width: 600px;
	}

	.job-fit-content {
		flex: 0 0 100%;
		margin-left: 0;
		padding-right: 0;
	}

	.job-fit-content h2 {
		font-size: 36px;
	}

	.job-fit-content p,
	.job-fit-content ul {
		font-size: 18px;
	}

	.job-fit-content ul li {
		padding-left: 45px;
	}

	.job-fit-content ul li::before {
		width: 32px;
		height: 27px;
	}

	.job-fit-button {
		width: 228px;
		height: 50px;
		font-size: 18px;
	}
}

/**
 * 5.10 Lifeguard Intro Image
 */
.lifeguard-intro-image {
	margin: 0;
}

.lifeguard-intro-image img {
	width: 100%;
	height: auto;
	display: block;
}

/**
 * 5.11 Responsive Typography - Mobile Text Overflow Fix
 * CRITICAL: Fluid typography to prevent text truncation on small mobile screens (320px-480px)
 * Issue: Fixed 50px headings cause "THE TRUSTE..." truncation on narrow viewports
 * REQUIRED: !important to override WordPress database inline font-size styles for mobile responsiveness
 */

/* Hero cover headings - fluid scaling from 28px (320px) to 50px (1024px+) */
body .wp-block-cover h1[style*="font-size:50px"],
body .wp-block-cover h2[style*="font-size:50px"],
body .wp-block-cover h1.wp-block-heading,
body .wp-block-cover h2.wp-block-heading {
	font-size: clamp(28px, 5vw, 50px);
}

/* All 50px headings throughout site - responsive scaling */
body h1[style*="font-size:50px"],
body h2[style*="font-size:50px"],
body .has-texture-bg h1.wp-block-heading,
body .has-texture-bg h2.wp-block-heading,
body .has-water-ripple-bg h1.wp-block-heading,
body .has-red-pattern-bg h2.wp-block-heading,
body .has-theme-02-background-color h2.wp-block-heading,
body .home-mission-section h2.wp-block-heading {
	font-size: clamp(28px, 4.5vw, 50px);
}

/* Home hero carousel heading - larger base, maintains impact */
body .hero-bottom-content h1,
body .home-hero-carousel-content h1 {
	font-size: clamp(36px, 6vw, 77px);
}

/* Fine-tune for very small screens (320px) */
@media (max-width: 375px) {

	body .wp-block-cover h1[style*="font-size:50px"],
	body .wp-block-cover h2[style*="font-size:50px"],
	body h1[style*="font-size:50px"],
	body h2[style*="font-size:50px"] {
		font-size: clamp(24px, 7vw, 50px);
		line-height: 1.2;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}
}

/* Tablet adjustments (481px-768px) */
@media (min-width: 481px) and (max-width: 768px) {

	body .wp-block-cover h1[style*="font-size:50px"],
	body .wp-block-cover h2[style*="font-size:50px"],
	body h1[style*="font-size:50px"],
	body h2[style*="font-size:50px"] {
		font-size: clamp(32px, 5vw, 50px);
	}
}

/**
 * 6.0 Careers Page Styles
 */

/* Careers hero - 569px height on desktop */
@media (min-width: 1200px) {
	.careers-hero-section {
		min-height: 569px;
		display: flex;
		align-items: center;
	}
}

/* Careers hero - Figma exact column widths (690px / 656px) */
/* Increased specificity to override existing .has-texture-bg rule at line 719-724 which uses !important */
@media (min-width: 1200px) {
	body .careers-hero-section .wp-block-columns>.wp-block-column:first-child {
		flex-basis: 690px;
		min-width: 500px;
		flex-grow: 0;
	}

	body .careers-hero-section .wp-block-columns>.wp-block-column:last-child {
		flex-basis: 656px;
		flex-grow: 0;
	}

	.careers-hero-section .wp-block-columns {
		gap: 67px;
		justify-content: flex-start;
	}
}

/* Careers hero separator - fixed 224px width */
.careers-hero-section .wp-block-separator.is-style-wide {
	width: 224px;
	margin-left: 0;
	margin-right: auto;
}

/* Careers hero heading - force 2 lines: BECOME AN / AQUATICS SPECIALIST */
@media (min-width: 1200px) {
	.careers-hero-section .careers-hero-heading {
		min-width: 690px;
		width: 690px;
		white-space: pre-line;
	}
}

/* Careers CTA button - exact 225px x 46px sizing - increased specificity to override WordPress database inline styles from pattern */
body .careers-lifeguard-cta-section .wp-block-buttons .wp-block-button.careers-cta-button .wp-block-button__link.wp-element-button {
	
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 0;
}

body .careers-lifeguard-cta-section .wp-block-buttons .wp-block-button.careers-cta-button .wp-block-button__link.wp-element-button:hover {
	background-color: #1A4EA2 !important;
	color: #fff !important;
}

@media (max-width: 600px) {
	body .careers-lifeguard-cta-section .wp-block-buttons .wp-block-button.careers-cta-button .wp-block-button__link.wp-element-button {
		width: auto;
		height: auto;
		min-height: auto;
		padding: 12px 24px;
	}
}

/* Careers Benefits Section - optimized for 1920px viewport */
body .careers-benefits-section {
	overflow: visible;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: stretch;
}

/* Benefits table styling - match Figma design */
.benefits-table-wrapper {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0;
}

.benefits-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.benefits-table thead th {
	font-family: var(--wp--preset--font-family--sansation);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wp--preset--color--theme-02);
	border: none;
	padding: 0 40px 24px 40px;
	text-align: center;
	vertical-align: middle;
}

.benefits-table tbody td {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--wp--preset--color--theme-06);
	border: none;
	padding: 0 40px;
	text-align: center;
	vertical-align: top;
}

/* Center the columns container and ensure proper width at 1920px */
@media (min-width: 1920px) {
	.careers-benefits-section .wp-block-columns.alignwide {
		max-width: 1440px;
		margin-left: auto;
		margin-right: auto;
	}

	/* Ensure columns have equal width and proper spacing */
	.careers-benefits-section .wp-block-column {
		flex-basis: calc(33.333% - 40px);
	}

	/* Optimize table layout for 1920px viewport */
	.benefits-table-wrapper {
		max-width: 1440px;
	}

	.benefits-table thead th {
		padding: 0 60px 24px 60px;
	}

	.benefits-table tbody td {
		padding: 0 60px;
	}
}

/* Offset pool background for intro section images */
.has-offset-pool-bg {
	position: relative;
	margin-right: 29px;
	margin-bottom: 29px;
}

.has-offset-pool-bg::before {
	content: '';
	position: absolute;
	right: 29px;
	bottom: -29px;
	width: 100%;
	height: 100%;
	background: url('/wp-content/uploads/2025/12/pool-bg.png') center/cover no-repeat;
	z-index: 0;
}

.page-id-27 .has-offset-pool-bg::before {
	right: -29px;
}

.has-offset-pool-bg>* {
	position: relative;
	z-index: 1;
}

/* Careers grid - heading on one line */
.page-id-27 .has-water-ripple-bg h1.wp-block-heading {
	white-space: nowrap;
}

/* Careers grid - equal height cards */
.has-water-ripple-bg .wp-block-columns:has(.has-theme-07-background-color) {
	align-items: stretch;
}

.has-water-ripple-bg .wp-block-columns:has(.has-theme-07-background-color)>.wp-block-column {
	display: flex;
}

.has-water-ripple-bg .has-theme-07-background-color {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.has-water-ripple-bg .has-theme-07-background-color>.wp-block-group:last-child {
	flex: 1;
}

/* Careers grid - full width images with consistent aspect ratio */
.has-water-ripple-bg .has-theme-07-background-color .wp-block-image {
	width: 100%;
	margin: 0;
}

.has-water-ripple-bg .has-theme-07-background-color .wp-block-image img {
	width: 100%;
	aspect-ratio: 584 / 329;
	object-fit: cover;
	display: block;
}

/* Careers leadership - flush left image with section edge */
/* REQUIRED: !important to override inline padding from pattern */
.has-water-ripple-bg:has(.has-offset-pool-bg) {
	padding-left: 0 !important;
	padding-right: var(--wp--preset--spacing--50) !important;
}

.has-water-ripple-bg>.wp-block-columns.alignwide {
	max-width: 100%;
	overflow: hidden;
}

.has-water-ripple-bg .has-offset-pool-bg {
	margin-left: 0;
	padding-left: 0;
	margin-right: 29px;
	margin-bottom: 29px;
}

/* Text column needs padding since section padding-left is 0 */
.has-water-ripple-bg:has(.has-offset-pool-bg)>.wp-block-columns>.wp-block-column:last-child {
	padding-right: var(--wp--preset--spacing--50);
}

.has-water-ripple-bg .has-offset-pool-bg .wp-block-image {
	margin: 0;
}

.has-water-ripple-bg .has-offset-pool-bg .wp-block-image img {
	width: 100%;
	max-width: 100%;
	display: block;
}

/* Intro Sections - Full-width breakout layout */
/* At 1920px: image 859x644px flush left, text on right */
body .about-intro-section,
body .solutions-intro-section,
body .partner-intro-section,
body .operations-intro-section,
body .lifeguard-intro-section,
body .service-areas-expertise-section {
	padding-left: 0;
	padding-right: 0;
	overflow: visible;
}

/* Override WordPress is-layout-constrained centering */
.about-intro-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.solutions-intro-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.partner-intro-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.operations-intro-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body .lifeguard-intro-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body .service-areas-expertise-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0;
	margin-right: 0;
	max-width: none;
}

/* Remove all container constraints */
.about-intro-section .wp-block-group.alignwide,
.solutions-intro-section .wp-block-group.alignwide,
.partner-intro-section .wp-block-group.alignwide,
.operations-intro-section .wp-block-group.alignwide,
body .lifeguard-intro-section .wp-block-group.alignwide,
body .service-areas-expertise-section .wp-block-group.alignwide {
	max-width: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

/* Override constrained layout within the section */
.about-intro-section .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.solutions-intro-section .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.partner-intro-section .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.operations-intro-section .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body .lifeguard-intro-section .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body .service-areas-expertise-section .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0;
	margin-right: 0;
	max-width: none;
}

/* Columns container - full viewport width */
.about-intro-section .wp-block-columns.alignwide,
.about-intro-section .wp-block-columns.alignfull,
.solutions-intro-section .wp-block-columns.alignwide,
.solutions-intro-section .wp-block-columns.alignfull,
.partner-intro-section .wp-block-columns.alignwide,
.partner-intro-section .wp-block-columns.alignfull,
.operations-intro-section .wp-block-columns.alignwide,
.operations-intro-section .wp-block-columns.alignfull,
.lifeguard-intro-section .wp-block-columns.alignwide,
.lifeguard-intro-section .wp-block-columns.alignfull,
body .service-areas-expertise-section .wp-block-columns.alignwide,
body .service-areas-expertise-section .wp-block-columns.alignfull {
	max-width: none;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
	gap: 0;
}

/* Image column - fixed 859px + 29px offset at 1920px */
@media (min-width: 1920px) {
	.about-intro-section .wp-block-columns > .wp-block-column:first-child,
	.solutions-intro-section .wp-block-columns > .wp-block-column:first-child,
	.partner-intro-section .wp-block-columns > .wp-block-column:first-child,
	.operations-intro-section .wp-block-columns > .wp-block-column:first-child,
	.lifeguard-intro-section .wp-block-columns > .wp-block-column:first-child,
	.service-areas-expertise-section .wp-block-columns > .wp-block-column:first-child {
		flex-basis: calc(859px + 29px);
		flex-grow: 0;
		flex-shrink: 0;
		max-width: calc(859px + 29px);
		padding-left: 0;
		margin-left: 0;
	}

	.about-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img,
	.solutions-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img,
	.partner-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img,
	.operations-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img,
	.lifeguard-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img,
	.service-areas-expertise-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img {
		width: 859px;
		height: 644px;
		object-fit: cover;
		display: block;
	}

	/* Text column - with gap from image (high specificity to override .has-water-ripple-bg:has(.has-offset-pool-bg)) */
	.about-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.solutions-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.solutions-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child,
	.partner-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.partner-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child,
	.operations-intro-section.has-water-ripple-bg .wp-block-group.alignwide > .wp-block-columns.alignwide {
	max-width: none !important;
}

.operations-intro-section.has-texture-bg .wp-block-group.alignwide > .wp-block-columns.alignwide {
	max-width: none !important;
}

.about-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.solutions-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.solutions-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child,
	.partner-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.partner-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child,
	.operations-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.operations-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child,
	.lifeguard-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child,
	.service-areas-expertise-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child {
		flex-basis: 730px;
		flex-grow: 0;
		flex-shrink: 0;

	}

	/* Single Operations CPT - text column margin */
	.single-operations .operations-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child {
		margin-left: 25px !important;
	}

	/* Operations intro section - 50/50 column width override */
	.operations-intro-section .wp-block-columns > .wp-block-column:first-child {
		flex-basis: 50% !important;
		max-width: 50% !important;
	}

	.operations-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 859 / 644;
	}

	.operations-intro-section.has-water-ripple-bg .wp-block-group.alignwide > .wp-block-columns.alignwide {
	max-width: none !important;
}

.operations-intro-section.has-texture-bg .wp-block-group.alignwide > .wp-block-columns.alignwide {
	max-width: none !important;
}

@media (min-width: 1200px) {
	.operations-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.operations-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child {
		flex-basis: 50% !important;
		margin-left: 188px !important;
		padding-right: 8% !important;
	}
}

	/* Single Operations CPT - OPERATIONS label styling */
	/* REQUIRED: !important to override inline styles from WordPress database content */
	.single-operations .operations-intro-section p.has-theme-06-color {
		color: #4E4B48 !important;
		font-family: Inter, sans-serif;
		font-size: 32px !important;
		font-style: normal;
		font-weight: 700;
		line-height: 115px !important;
		letter-spacing: 1.92px;
		text-transform: uppercase;
	}

	/* Single Operations CPT - location name title styling */
	/* REQUIRED: !important to override inline styles from WordPress database content */
	.single-operations .operations-intro-section h2.has-theme-03-color {
		color: #E0F !important;
		font-family: Sansation, sans-serif;
		font-size: 50px !important;
		font-style: normal !important;
		font-weight: 700;
		line-height: 60px !important;
		letter-spacing: 1.5px;
		text-transform: uppercase;
	}

}

/* Text column - desktop breakpoints (override inline styles) */
@media (min-width: 1024px) {
	.about-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.solutions-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.solutions-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child,
	.partner-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.partner-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child,
	.operations-intro-section.has-water-ripple-bg .wp-block-group.alignwide > .wp-block-columns.alignwide {
	max-width: none !important;
}

.operations-intro-section.has-texture-bg .wp-block-group.alignwide > .wp-block-columns.alignwide {
	max-width: none !important;
}

.about-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.solutions-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.solutions-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child,
	.partner-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.partner-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child,
	.operations-intro-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child,
	.operations-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child,
	.lifeguard-intro-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child,
	.service-areas-expertise-section.has-texture-bg .wp-block-columns > .wp-block-column:last-child {
		flex-basis: 50%;
		flex-grow: 0;
		flex-shrink: 0;
		
	
	}
}

/* Single Operations CPT - map section with overlay effect */
.single-operations .operations-map-section {
	position: relative;
	min-height: 1000px;
	overflow: visible;
}

.single-operations .operations-map-section > .wp-block-columns {
	position: static;
}

.single-operations .operations-map-section .operations-map-content {
	position: relative;
	z-index: 2;
	padding-top: 133px;
}

/* Make the map column position absolutely to overlay */
.single-operations .operations-map-section .wp-block-columns > .wp-block-column:last-child {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80%;
	height: 100%;
	z-index: 1;
}

.single-operations .operations-map-section .operations-map-image {
	width: 100%;
	height: 100%;
}

.single-operations .operations-map-section .operations-map-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: top center;
}

/* Image block reset */
.about-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image,
.solutions-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image,
.partner-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image,
.operations-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image,
.lifeguard-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image,
.service-areas-expertise-section .wp-block-columns > .wp-block-column:first-child .wp-block-image {
	margin: 0;
}

.about-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image.has-offset-pool-bg,
.solutions-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image.has-offset-pool-bg,
.partner-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image.has-offset-pool-bg,
.operations-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image.has-offset-pool-bg,
.lifeguard-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image.has-offset-pool-bg,
.service-areas-expertise-section .wp-block-columns > .wp-block-column:first-child .wp-block-image.has-offset-pool-bg {
	margin-right: 0;
	margin-bottom: 29px;
}

/* Responsive - proportional scaling below 1920px */
@media (max-width: 1919px) {
	.about-intro-section .wp-block-columns > .wp-block-column:first-child,
	.solutions-intro-section .wp-block-columns > .wp-block-column:first-child,
	.partner-intro-section .wp-block-columns > .wp-block-column:first-child,
	.operations-intro-section .wp-block-columns > .wp-block-column:first-child,
	.lifeguard-intro-section .wp-block-columns > .wp-block-column:first-child,
	.service-areas-expertise-section .wp-block-columns > .wp-block-column:first-child {
		flex-basis: 46%;
		max-width: 46%;
		padding-left: 0;
		margin-left: 0;
	}

	.about-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img,
	.solutions-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img,
	.partner-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img,
	.operations-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img,
	.lifeguard-intro-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img,
	.service-areas-expertise-section .wp-block-columns > .wp-block-column:first-child .wp-block-image img {
		width: 100%;
		height: auto;
		aspect-ratio: 859 / 644;
	}

	.about-intro-section .wp-block-columns > .wp-block-column:last-child,
	.solutions-intro-section .wp-block-columns > .wp-block-column:last-child,
	.partner-intro-section .wp-block-columns > .wp-block-column:last-child,
	.operations-intro-section .wp-block-columns > .wp-block-column:last-child,
	.lifeguard-intro-section .wp-block-columns > .wp-block-column:last-child,
	.service-areas-expertise-section .wp-block-columns > .wp-block-column:last-child {
		flex-basis: auto;
		flex-grow: 1;
		margin-left: clamp(30px, 5vw, 80px);
		padding-right: clamp(20px, 4vw, 60px);
	}

	/* Operations intro section - 50/50 column width override for smaller screens */
	.operations-intro-section .wp-block-columns > .wp-block-column:first-child {
		flex-basis: 50% !important;
		max-width: 50% !important;
	}

	.operations-intro-section .wp-block-columns > .wp-block-column:last-child {
		flex-basis: 50% !important;
		flex-grow: 0 !important;
		margin-left: 188px !important;
		padding-right: 15% !important;
	}
}

/* Solutions Page (page-id-15) - specific adjustments for desktop */
@media (min-width: 1024px) {
	.page-id-15 .has-texture-bg .wp-block-columns.alignwide:not(.has-3-columns) > .wp-block-column:first-child {
		
		padding-left: 0;
	}

	.page-id-15 .has-offset-pool-bg::before {
		right: 60px;
		bottom: -26px;
	}
}

/* Project Zero Section - flush left carousel on desktop */
body .project-zero-section {
	padding-left: 0;
	padding-right: 0;
	overflow: visible;
}

/* Override WordPress is-layout-constrained centering */
.project-zero-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 188px !important;
	margin-right: 0 !important;
	max-width: none;
}

/* Columns container - full viewport width */
.project-zero-section .wp-block-columns.alignwide {
	max-width: none;
	width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: 0 !important;
	padding-left: 0;
	padding-right: 0;
	gap: 0;
}

@media (min-width: 1024px) {
	/* Carousel column - flush left */
	.project-zero-section .wp-block-columns > .wp-block-column:first-child {
		flex-basis: 46%;
		max-width: 46%;
		padding-left: 0;
		margin-left: 0;
	}

	/* Text column */
	.project-zero-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child {
		flex-basis: auto;
		flex-grow: 1;
		margin-left: clamp(40px, 5vw, 80px);
		padding-right: clamp(30px, 5vw, 80px);
	}
}

@media (min-width: 1920px) {
	.project-zero-section .wp-block-columns > .wp-block-column:first-child {
		flex-basis: calc(859px + 29px);
		flex-grow: 0;
		flex-shrink: 0;
		max-width: calc(859px + 29px);
		padding-left: 0;
		margin-left: 0;
	}

	.project-zero-section.has-water-ripple-bg .wp-block-columns > .wp-block-column:last-child {
		flex-basis: 730px;
		flex-grow: 0;
		flex-shrink: 0;
		margin-left: 185px;
		padding-right: 15%;
	}
}

/* Home Hero Carousel */
body .home-hero-carousel-wrapper {
	position: relative;
	overflow: visible;
	min-height: 90vh;
	z-index: 100000;
}

/* Ensure sticky nav stays above all page content */
.hero-top-bar.is-sticky {
	isolation: isolate;
}

/* Original wrapper will be hidden by JS, but fallback positioning */
.hero-navigation-block-wrapper {
	position: absolute;
	top: 100px;
	left: 350px;
	z-index: 3;
	pointer-events: none;
	max-width: calc(100vw - 350px);
}

/* Cloned navigation in hero-navigation div */
/* 44px gap between all nav items */
/* flex: 0 1 auto to prevent expanding to fill space - keeps buttons away from viewport edge */
body .hero-navigation {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 44px;
	flex: 0 1 auto;
}

body .hero-navigation .hero-nav-cloned,
body .hero-navigation .hero-nav-cloned.wp-block-navigation,
body .hero-navigation .hero-nav-cloned.wp-block-navigation__container,
body .hero-navigation .wp-block-navigation.hero-nav-cloned,
body .hero-navigation .wp-block-navigation__container.hero-nav-cloned {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 44px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.hero-navigation .hero-nav-cloned li {
	list-style: none;
	white-space: nowrap;
}

.hero-navigation .hero-nav-cloned a,
.hero-navigation .hero-nav-cloned .wp-block-navigation-item__content {
	color: white;
	text-decoration: none;
	font-family: var(--wp--preset--font-family--sansation);
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	line-height: 22px;
	padding: 12px 17px;
	border-radius: 0;
	transition: background-color 0.2s ease;
	white-space: nowrap;
}

.hero-navigation .hero-nav-cloned a:hover,
.hero-navigation .hero-nav-cloned .wp-block-navigation-item__content:hover {
	background-color: #1c8ece;
	border-radius: 0;
	padding: 12px 17px;
}

/* Button groups in hero navigation - 44px gap */
/* REQUIRED: !important needed to override WordPress wp-container-* generated gap and justify classes */
body .hero-navigation .hero-nav-buttons-cloned,
body .hero-navigation .wp-block-buttons.hero-nav-buttons-cloned {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 44px;
	align-items: center;
	margin-left: 0;
	justify-content: flex-start !important;
}

/* Partner With Us button - subtle style with underline */
/* Figma: capitalize, 20px, letter-spacing 0.6px, dotted underline */
body .hero-navigation .hero-nav-buttons-cloned .wp-block-button.is-style-subtle .wp-block-button__link {
	background: transparent;
	border: none;
	border-bottom: 2px dotted #fbd872;
	color: white;
	padding: 12px 0;
	border-radius: 0;
	font-family: var(--wp--preset--font-family--sansation);
	font-size: 20px;
	font-weight: 700;
	text-transform: capitalize;
	letter-spacing: 0.6px;
	line-height: 22px;
	white-space: nowrap !important;
	width: auto !important;
	min-width: fit-content !important;
}

body .hero-navigation .hero-nav-buttons-cloned .wp-block-button.is-style-subtle .wp-block-button__link:hover {
	border-bottom: none;
	color: #1c8ece;
	text-decoration: none;
}

/* Button wrapper alignment - ensure button links are vertically centered */
body .hero-navigation .hero-nav-buttons-cloned .wp-block-button {
	display: flex;
	align-items: center;
}

/* Become a Lifeguard button - wave style */
/* Figma: capitalize, 20px, letter-spacing 0.6px, yellow wave background, rounded */
/* Padding 12px top/bottom to vertically align with nav items (nav has 12px 17px) */
body .hero-navigation .hero-nav-buttons-cloned .wp-block-button.is-style-wave .wp-block-button__link,
body .hero-navigation .hero-nav-buttons-cloned .wp-block-button.is-style-outline .wp-block-button__link {
	background-image: url('/wp-content/uploads/2025/12/yellow-wave.png');
	background-size: cover;
	background-position: center;
	background-color: transparent;
	color: #1a4ea2;
	padding: 12px 20px;
	border-radius: 43px;
	font-family: var(--wp--preset--font-family--sansation);
	font-size: 20px;
	font-weight: 700;
	text-transform: capitalize;
	letter-spacing: 0.6px;
	line-height: 22px;
	border: none;
	white-space: nowrap !important;
	width: auto !important;
	min-width: fit-content !important;
}

body .hero-navigation .hero-nav-buttons-cloned .wp-block-button.is-style-wave .wp-block-button__link:hover,
body .hero-navigation .hero-nav-buttons-cloned .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-image: url('/wp-content/uploads/2025/12/yellow-wave-flipped.png');
	color: #1c8ece;
	text-decoration: none;
}

/* Wrapper is hidden by hero-navigation.js - fallback styles if JS fails */
.hero-navigation-block-wrapper .wp-block-navigation {
	pointer-events: all;
	gap: 44px;
}

/* Ensure all spans and labels are visible */
body .hero-navigation-block-wrapper .wp-block-navigation-item__label,
body .hero-navigation-block-wrapper .wp-block-navigation-item__content {
	display: inline;
	visibility: visible;
	color: white;
}

/* Force navigation to show items directly, not in responsive overlay */
/* Override WordPress Core responsive navigation behavior for hero nav */
.hero-navigation-block-wrapper nav.wp-block-navigation.is-responsive,
.hero-navigation nav.wp-block-navigation.is-responsive {
	/* Force flex layout to show items inline */
	flex-wrap: nowrap !important;
}

body .hero-navigation-block-wrapper .wp-block-navigation__responsive-container-open,
body .hero-navigation .wp-block-navigation__responsive-container-open {
	display: none;
}

/* Wrapper is hidden by JS - these are fallback styles */
.hero-navigation-block-wrapper .wp-block-navigation__responsive-container,
.hero-navigation .wp-block-navigation__responsive-container {
	display: none;
}

/* Cloned navigation (.hero-nav-cloned) styles are defined earlier (line ~3016) */

.hero-navigation-block-wrapper .wp-block-navigation-item a {
	color: white;
	text-decoration: none;
	font-family: var(--wp--preset--font-family--sansation);
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	line-height: 22px;
	white-space: nowrap;
	padding: 12px 17px;
}

.hero-navigation-block-wrapper .wp-block-navigation-item a:hover {
	background-color: #1c8ece;
	padding: 12px 17px;
}

/* Partner With Us navigation link - underline per Figma */
.hero-navigation-block-wrapper .wp-block-navigation-item a[href*="partner"],
.hero-navigation .wp-block-navigation-item a[href*="partner"],
.wp-block-navigation-item a[href*="partner-with-us"] {
	text-decoration: underline;
	text-decoration-color: currentColor;
	text-decoration-thickness: 3px;
	text-underline-offset: 12px;
}

.hero-navigation-block-wrapper .wp-block-navigation-item a[href*="partner"]:hover,
.hero-navigation .wp-block-navigation-item a[href*="partner"]:hover,
.wp-block-navigation-item a[href*="partner-with-us"]:hover {
	text-decoration: underline;
	text-decoration-color: #d22730;
	text-decoration-thickness: 3px;
	text-underline-offset: 12px;
	color: #f4f2ed;
	background-color: transparent;
}

/* Partner With Us navigation - no extra margin needed, gap handles spacing */
@media (min-width: 1920px) {
	.hero-navigation-block-wrapper .wp-block-navigation-item a[href*="partner"],
	.hero-navigation .wp-block-navigation-item a[href*="partner"],
	.wp-block-navigation-item a[href*="partner-with-us"] {
		margin-left: 0;
	}

	/* Lifeguard CTA section - 745px height at 1920px viewport */
	body .lifeguard-cta-section {
		display: flex;
		height: 745px;
		padding-top: 159px;
		padding-bottom: 159px;
		padding-left: 415px;
		padding-right: 415px;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.lifeguard-cta-section .wp-block-cover__inner-container {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 8px;
	}
}

/* Lifeguard CTA section - adjust background focal point to show more lifeguards */
.lifeguard-cta-section .wp-block-cover__image-background {
	object-position: center calc(30% + 70px);
}

/* Lifeguard CTA section - white background, blue text button */
.lifeguard-cta-section .wp-block-button .wp-block-button__link,
.lifeguard-cta-section .wp-block-button .wp-block-button__link.wp-element-button {
	background-color: #fff !important;
	color: var(--wp--preset--color--theme-02) !important;
	border: none;
}

.lifeguard-cta-section .wp-block-button .wp-block-button__link:hover,
.lifeguard-cta-section .wp-block-button .wp-block-button__link.wp-element-button:hover {
	background-color: var(--wp--preset--color--theme-04) !important;
	color: var(--wp--preset--color--theme-02) !important;
}

/* Operations Lifeguard CTA - white button with dark blue hover */
/* Target buttons linking to become-a-lifeguard with white background inside cover blocks */
.wp-block-cover .wp-block-button .wp-block-button__link.has-white-background-color[href*="become-a-lifeguard"]:hover,
.wp-block-cover .wp-block-button .wp-block-button__link.has-white-background-color[href*="lifeguard"]:hover,
.wp-block-cover .wp-block-button a.wp-block-button__link.has-white-background-color[href*="become-a-lifeguard"]:hover {
	background-color: #1a4ea2 !important;
	color: #ffffff !important;
}

/* Navigation responsive spacing - progressive scaling strategy */
/* Mobile nav kicks in at 1100px, so we need smooth scaling from 1920px down to 1100px */

/* 1850px: Maintain consistent 44px gap */
@media (max-width: 1850px) {

	.wp-block-navigation,
	.wp-block-navigation__container,
	.wp-block-group.alignfull .wp-block-navigation,
	.wp-block-group.alignfull .wp-block-navigation__container,
	.is-hero .wp-block-navigation,
	.is-hero .wp-block-navigation__container,
	.has-theme-02-background-color .wp-block-navigation,
	.has-theme-02-background-color .wp-block-navigation__container {
		gap: 44px;
	}

	.wp-block-navigation-item a,
	.wp-block-navigation .wp-block-button__link {
		font-size: 18px;
	}

	/* Hero top bar - reduce gap progressively */
	.hero-top-bar {
		gap: 80px;
		padding-left: 40px;
		padding-right: 40px;
	}

	/* Hero logo - scale down */
	.hero-logo {
		width: 200px;
	}

	/* Hero navigation responsive - 44px gap at 1850px */
	body .hero-navigation {
		gap: 44px;
	}

	body .hero-navigation .hero-nav-cloned {
		gap: 44px;
	}

	body .hero-navigation .hero-nav-buttons-cloned {
		gap: 44px !important;
	}

	.hero-navigation .hero-nav-cloned a,
	.hero-navigation .hero-nav-buttons-cloned .wp-block-button__link {
		font-size: 18px;
	}
}

/* 1700px: Maintain consistent 44px gap */
@media (max-width: 1700px) {

	.wp-block-navigation,
	.wp-block-navigation__container,
	.wp-block-group.alignfull .wp-block-navigation,
	.wp-block-group.alignfull .wp-block-navigation__container,
	.is-hero .wp-block-navigation,
	.is-hero .wp-block-navigation__container,
	.has-theme-02-background-color .wp-block-navigation,
	.has-theme-02-background-color .wp-block-navigation__container {
		gap: 44px;
	}

	.wp-block-navigation-item a,
	.wp-block-navigation .wp-block-button__link {
		font-size: 16px;
	}

	/* Hero top bar - further reduce gap */
	.hero-top-bar {
		gap: 50px;
		padding-left: 30px;
		padding-right: 30px;
	}

	/* Hero logo - scale down more */
	.hero-logo {
		width: 180px;
	}

	/* Hero navigation responsive - 44px gap */
	body .hero-navigation {
		gap: 44px;
	}

	body .hero-navigation .hero-nav-cloned {
		gap: 44px;
	}

	body .hero-navigation .hero-nav-buttons-cloned {
		gap: 44px !important;
	}

	.hero-navigation .hero-nav-cloned a,
	.hero-navigation .hero-nav-buttons-cloned .wp-block-button__link {
		font-size: 16px;
		padding: 10px 12px;
	}
}

/* 1550px: Maintain consistent 44px gap */
@media (max-width: 1550px) {

	.wp-block-navigation,
	.wp-block-navigation__container,
	.wp-block-group.alignfull .wp-block-navigation,
	.wp-block-group.alignfull .wp-block-navigation__container,
	.is-hero .wp-block-navigation,
	.is-hero .wp-block-navigation__container,
	.has-theme-02-background-color .wp-block-navigation,
	.has-theme-02-background-color .wp-block-navigation__container {
		gap: 44px;
	}

	.wp-block-navigation-item a,
	.wp-block-navigation .wp-block-button__link {
		font-size: 15px;
	}

	/* Hero top bar - compact spacing */
	.hero-top-bar {
		gap: 30px;
		padding-left: 20px;
		padding-right: 20px;
	}

	/* Hero logo - smallest before hamburger */
	.hero-logo {
		width: 160px;
	}

	/* Hero navigation responsive - 44px gap */
	body .hero-navigation {
		gap: 44px;
	}

	body .hero-navigation .hero-nav-cloned {
		gap: 44px;
	}

	body .hero-navigation .hero-nav-buttons-cloned {
		gap: 44px !important;
	}

	.hero-navigation .hero-nav-cloned a,
	.hero-navigation .hero-nav-buttons-cloned .wp-block-button__link {
		font-size: 15px;
		padding: 8px 10px;
	}
}

/* 1440px: Maintain consistent 44px gap */
@media (max-width: 1440px) {

	.wp-block-navigation,
	.wp-block-navigation__container,
	.wp-block-group.alignfull .wp-block-navigation,
	.wp-block-group.alignfull .wp-block-navigation__container,
	.is-hero .wp-block-navigation,
	.is-hero .wp-block-navigation__container,
	.has-theme-02-background-color .wp-block-navigation,
	.has-theme-02-background-color .wp-block-navigation__container {
		gap: 44px;
	}

	.wp-block-navigation-item a,
	.wp-block-navigation .wp-block-button__link {
		font-size: 14px;
	}

	/* Hero top bar - tightest */
	.hero-top-bar {
		gap: 20px;
		padding-left: 15px;
		padding-right: 15px;
	}

	/* Hero logo - tightest */
	.hero-logo {
		width: 140px;
	}

	/* Hero navigation responsive - 44px gap */
	body .hero-navigation {
		gap: 44px;
	}

	body .hero-navigation .hero-nav-cloned {
		gap: 44px;
	}

	body .hero-navigation .hero-nav-buttons-cloned {
		gap: 44px !important;
	}

	.hero-navigation .hero-nav-cloned a,
	.hero-navigation .hero-nav-buttons-cloned .wp-block-button__link {
		font-size: 14px;
		padding: 6px 8px;
	}
}

/* Note: Hero navigation switches to mobile hamburger at 1400px */
/* Below are fallback styles for regular WordPress navigation on inner pages */

/* 1300px: Maintain consistent 44px gap */
@media (max-width: 1300px) {

	.wp-block-navigation,
	.wp-block-navigation__container,
	.wp-block-group.alignfull .wp-block-navigation,
	.wp-block-group.alignfull .wp-block-navigation__container,
	.is-hero .wp-block-navigation,
	.is-hero .wp-block-navigation__container,
	.has-theme-02-background-color .wp-block-navigation,
	.has-theme-02-background-color .wp-block-navigation__container {
		gap: 44px;
	}

	.wp-block-navigation-item a,
	.wp-block-navigation .wp-block-button__link {
		font-size: 14px;
	}
}

/* 1200px: Final desktop size for inner pages */
@media (max-width: 1200px) {

	.wp-block-navigation,
	.wp-block-navigation__container,
	.wp-block-group.alignfull .wp-block-navigation,
	.wp-block-group.alignfull .wp-block-navigation__container,
	.is-hero .wp-block-navigation,
	.is-hero .wp-block-navigation__container,
	.has-theme-02-background-color .wp-block-navigation,
	.has-theme-02-background-color .wp-block-navigation__container,
	.page-id-23 .wp-block-navigation__container {
		gap: 12px;
	}

	.wp-block-navigation-item a,
	.wp-block-navigation .wp-block-button__link {
		font-size: 13px;
	}
	/* Hero navigation is hidden at 1700px, so no rules needed here */
}

/* Lifeguard page - match global responsive strategy */
@media (max-width: 1850px) {
	.page-id-23 .wp-block-navigation__container {
		gap: 44px;
	}
}

@media (max-width: 1700px) {
	.page-id-23 .wp-block-navigation__container {
		gap: 44px;
	}
}

@media (max-width: 1550px) {
	.page-id-23 .wp-block-navigation__container {
		gap: 44px;
	}
}

@media (max-width: 1440px) {
	.page-id-23 .wp-block-navigation__container {
		gap: 44px;
	}
}

@media (max-width: 1300px) {
	.page-id-23 .wp-block-navigation__container {
		gap: 44px;
	}
}

/* Hero Navigation - Override global responsive rules to match Figma design at 1440px */
/* At 1440px viewport, hero navigation should maintain proper spacing and layout */
@media (max-width: 1440px) {
	.home .wp-block-group.alignfull .wp-block-navigation,
	.home .wp-block-group.alignfull .wp-block-navigation__container {
		gap: 44px;
		flex-wrap: nowrap !important;
	}

	.wp-block-group.alignfull>.wp-block-group:has(.wp-block-navigation) {
		margin-left: 0;
	}

	.hero-top-bar {
		padding-left: 19px;
		padding-top: 35px;
		gap: 60px;
	}

	.hero-navigation-block-wrapper {
		top: 100px;
		left: 280px;
		max-width: calc(100vw - 280px);
	}

	.hero-navigation {
		max-width: calc(100vw - 320px);
	}

	.hero-navigation .wp-block-navigation,
	.hero-navigation .wp-block-navigation__responsive-container,
	.hero-navigation .wp-block-navigation__responsive-dialog,
	.hero-navigation .wp-block-navigation__responsive-container-content {
		max-width: calc(100vw - 320px);
	}

	.hero-navigation-block-wrapper .wp-block-navigation,
	.hero-navigation-block-wrapper .wp-block-navigation__container {
		gap: 44px;
		flex-wrap: nowrap !important;
	}

	.hero-navigation-block-wrapper .wp-block-navigation-item a {
		font-size: 18px;
		white-space: nowrap !important;
		padding: 12px 10px;
	}

	.hero-navigation-block-wrapper .wp-block-button.is-style-wave {
		margin-left: 0;
	}

	.hero-navigation-block-wrapper .wp-block-navigation>ul.wp-block-navigation__container>li.wp-block-navigation-item:last-child a {
		padding: 10px 20px;
	}

	.wp-container-core-columns-is-layout-e524df8a {
		padding-left: 80px;
	}

	.wp-container-core-columns-is-layout-6886708d {
		padding-left: 80px;
		padding-right: 80px;
	}

	.wp-container-core-group-is-layout-88b8a797 {
		padding-left: 20px;
		padding-right: 80px;
	}

	.service-areas-expertise-content {
		padding-left: 20px;
		padding-right: 80px;
	}

	/* Leadership modal - smaller at 1440px */
	.leadership-modal__container {
		max-width: 1200px;
		margin: 60px auto;
	}

	.leadership-modal__content {
		gap: 60px;
		padding: 60px 48px;
	}

	.leadership-modal__photo {
		width: 420px;
		height: 516px;
	}

	.leadership-modal__badge {
		left: 140px;
	}
}

/* Become a Lifeguard button in hero navigation - only last item */
/* Gap is handled by navigation container - no extra margin needed */
.hero-navigation-block-wrapper .wp-block-button.is-style-wave {
	margin-left: 0;
}

.hero-navigation-block-wrapper .wp-block-navigation>ul.wp-block-navigation__container>li.wp-block-navigation-item:last-child a {
	background-image: url('/wp-content/uploads/2025/12/yellow-wave.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: transparent;
	color: #1a4ea2;
	padding: 10px 20px;
	border-radius: 43px;
	text-transform: capitalize;
	transition: background-image 0.2s ease;
}


.hero-navigation-block-wrapper .wp-block-navigation>ul.wp-block-navigation__container>li.wp-block-navigation-item:last-child a:hover {
	background-image: url('/wp-content/uploads/2025/12/yellow-wave-flipped.png');
	color: #1c8ece;
}

.home-hero-carousel {
	position: relative;
	width: 100%;
	min-height: 90vh;
	height: 90vh;
}

.home-hero-carousel .carousel-slides {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.home-hero-carousel .carousel-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
}

/* Only first slide visible - carousel is static, no transitions */
.home-hero-carousel .carousel-slide:first-child {
	opacity: 1;
	visibility: visible;
}

.home-hero-carousel .carousel-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Hero video styles */
.home-hero-carousel .carousel-slide video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}

/* Show desktop video on desktop, mobile video on mobile */
.hero-video-mobile {
	display: none;
}

@media (max-width: 768px) {
	.hero-video-desktop {
		display: none;
	}

	.hero-video-mobile {
		display: block;
	}
}

.home-hero-carousel-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgb(26, 78, 162) 0%, rgba(26, 79, 163, 0) 100%);
	z-index: 1;
	pointer-events: none;
}

/* Hero carousel background - Solutions page and other hero carousels */
.hero-carousel-background {
	position: relative;
	width: 100%;
	min-height: 75vh;
	height: 75vh;
}

.hero-carousel-background .carousel-slides {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.hero-carousel-background .carousel-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 1.8s ease-in-out;
}

.hero-carousel-background .carousel-slide.is-active {
	opacity: 1;
}

.hero-carousel-background .carousel-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, #1A4EA2 0%, rgba(26, 78, 162, 0.9) 20%, rgba(26, 78, 162, 0.6) 40%, rgba(26, 78, 162, 0) 60%, rgba(26, 78, 162, 0) 100%);
	z-index: 1;
	pointer-events: none;
}

/* Apply reversed gradient to about page hero - works for both new and existing pages */
body .about-hero-wrapper .home-hero-carousel-overlay,
body .about-hero-wrapper .about-hero-overlay {
	background: linear-gradient(180deg, #1A4EA2 0%, rgba(26, 78, 162, 0.9) 20%, rgba(26, 78, 162, 0.6) 40%, rgba(26, 78, 162, 0) 60%, rgba(26, 78, 162, 0) 100%);
}

.home-hero-carousel-content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 0;
}

.hero-top-bar {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--20) 0;
	padding-left: 55px;
	padding-right: 55px;
	padding-top: 19px;
	gap: 134px;
	width: 100%;
	box-sizing: border-box;
}

/* At 1920px+, increase right padding to keep button away from edge */
@media (min-width: 1920px) {
	.hero-top-bar {
		padding-right: 80px;
	}
}

.hero-logo {
	width: 240px;
	flex-shrink: 0;
}

.hero-logo a {
	display: block;
	width: 100%;
	height: auto;
	cursor: pointer;
	pointer-events: all;
}

/* Make Outermost Icon Block clickable in hero sections */
.wp-block-outermost-icon-block {
	cursor: pointer;
}

.wp-block-outermost-icon-block .icon-container {
	pointer-events: all;
}

/* NOTE: Main .hero-navigation styles are defined earlier (line ~3684) */
/* This rule supplements with additional properties */
/* flex: 0 1 auto to prevent expanding to fill space - keeps buttons away from viewport edge */
.hero-navigation {
	flex: 0 1 auto;
	max-width: calc(100vw - 380px);
	flex-wrap: nowrap;
	overflow: visible;
}

/* At 1920px+, increase spacing from right edge */
@media (min-width: 1920px) {
	.hero-navigation {
		max-width: calc(100vw - 480px);
	}
}

.hero-navigation .wp-block-navigation {
	gap: 44px;
	flex-shrink: 0;
}

.hero-navigation .wp-block-navigation__container {
	gap: 44px;
}

body .hero-navigation .wp-block-navigation-item a {
	color: white;
	text-decoration: none;
	font-family: var(--wp--preset--font-family--sansation);
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	line-height: 22px;
	white-space: nowrap;
}

.hero-navigation .wp-block-navigation-item a:hover {
	opacity: 0.8;
}

/* Legacy Become a Lifeguard button styling - only applies if lifeguard link is in navigation items */
body .hero-navigation .wp-block-navigation-item>a[href*="become-a-lifeguard"],
.hero-navigation .wp-block-navigation-item>a[href*="lifeguard"] {
	background-color: #fbd872;
	color: #1a4ea2;
	padding: 10px 20px;
	border-radius: 43px;
	text-transform: capitalize;
}

body .hero-navigation .wp-block-navigation-item>a[href*="become-a-lifeguard"]:hover,
.hero-navigation .wp-block-navigation-item>a[href*="lifeguard"]:hover {
	opacity: 1;
	background-color: #fcd45f;
}

.hero-logo svg {
	width: 100%;
	height: auto;
	fill: white;
}

/* Hide page title on front page (hero has its own heading) */
body.home .wp-block-post-title,
body.page-template-front-page .wp-block-post-title {
	display: none;
}

.hero-bottom-content {
	padding-bottom: var(--wp--preset--spacing--50);
	text-align: center;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: auto;
}

.hero-bottom-content h1 {
	color: #FFF;
	text-align: center;
	text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	font-family: var(--wp--preset--font-family--sansation);
	font-size: 77px;
	font-style: normal;
	font-weight: 700;
	line-height: 115px;
	letter-spacing: 3.08px;
	text-transform: uppercase;
	margin: 0;
	max-width: 100%;
	width: 100%;
}

.home-hero-carousel-dots {
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 12px;
	z-index: 5;
}

/* Home hero carousel dots - sizing moved to accessibility section below (line ~2922) */

/* Home About Section (Intro) */
.has-theme-01-background-color.has-texture-bg {
	min-height: 569px;
	position: relative;
	z-index: auto;
}

.has-theme-01-background-color.has-texture-bg .wp-block-separator {
	margin-left: 0;
	margin-right: auto;
}

/* Home About Section - Figma exact spacing */
body .home-about-section {
	padding-top: 182px;
	padding-bottom: 182px;
}

/* Heading - force break after "YOUR POOL IS" */
body .home-about-section .wp-block-heading {
	margin-bottom: 0;
	max-width: 454px;
}

body .home-about-section .wp-block-separator {
	margin-top: 19px;
	margin-bottom: 0;
	width: 224px;
	max-width: 224px;
}

/* Paragraph - 690px max width from Figma */
.home-about-section p.has-black-color {
	max-width: 690px;
}

/* Solutions Section - headings single line with exact Figma styling */
.wp-block-cover.solutions-section-cover .wp-block-cover__inner-container h2.wp-block-heading,
.wp-block-cover.solutions-section-cover .wp-block-cover__inner-container h3.wp-block-heading {
	white-space: nowrap;
}

.wp-block-cover.solutions-section-cover .wp-block-cover__inner-container h3.wp-block-heading {
	font-size: 33px;
}

.solutions-card-new .wp-block-image img {
	max-width: 100%;
	width: 100%;
	height: auto;
	aspect-ratio: 617 / 645;
	object-fit: cover;
}

/* Home Service Areas Section */
.service-areas-intro-section {
	min-height: 997px;
	position: relative;
	overflow: hidden;
}

.service-areas-intro-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url('/wp-content/uploads/2025/12/water-ripple-texture.webp') no-repeat center center;
	background-size: cover;
	opacity: 0.39;
	z-index: 0;
}

/* Fallback for browsers without WebP support */
@supports not (background-image: -webkit-image-set(url('/wp-content/uploads/2025/12/water-ripple-texture.webp') 1x)) {
	.service-areas-intro-section::before {
		background: url('/wp-content/uploads/2025/12/water-ripple-texture.jpg') no-repeat center center;
		background-size: cover;
	}
}

.service-areas-intro-section>* {
	position: relative;
	z-index: 1;
}

/* Home Mission Section */
.home-mission-section {
	min-height: 938px;
}

/* Home Gallery Section */
.home-gallery-section {
	overflow: hidden;
}

.home-gallery-section .wp-block-cover__inner-container {
	max-width: 100%;
	overflow: hidden;
}

.home-gallery-section h2 {
	max-width: 100%;
}

/* Ensure carousel wrapper clips splide clones */
.home-gallery-section .wp-block-kindling-carousel {
	overflow: hidden;
	max-width: 100%;
	contain: paint;
}

.home-gallery-section .splide {
	overflow: hidden;
	contain: paint;
}

.home-gallery-section .kindling-carousel-container {
	overflow: hidden;
	contain: layout paint;
	padding-left: 0;
	padding-right: 0;
}

/* Texture overlay for home gallery cover block - must be above white overlay */
.home-gallery-section.has-texture-bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url('/wp-content/uploads/2025/12/texture-bg.png') lightgray 0px -286.696px / 100% 192.83% no-repeat;
	opacity: 0.1;
	pointer-events: none;
	z-index: 2;
}

.home-gallery-section.has-texture-bg .wp-block-cover__inner-container {
	z-index: 3;
}

/* Service Areas Facility Grid Cards */
/* Container - 1200px to hold two 584px cards + 32px gap */
.service-areas-facility-grid>.wp-block-group {
	max-width: 1200px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* Heading - single line, centered */
.service-areas-facility-grid h2.has-text-align-center {
	text-align: center;
	white-space: nowrap;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/* Equal height for all columns - exact Figma dimensions */
.service-areas-facility-grid .wp-block-columns {
	align-items: stretch;
	display: flex;
	gap: 32px;
	margin-bottom: 72px;
	max-width: 1200px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.service-areas-facility-grid .wp-block-columns:last-of-type {
	margin-bottom: 0;
}

.service-areas-facility-grid .wp-block-column {
	display: flex;
	flex: 1 1 calc(50% - 16px);
	max-width: 584px;
	min-width: 280px;
}

/* Card wrapper - full height */
.service-areas-facility-grid .wp-block-column>.wp-block-group {
	display: flex;
	flex-direction: column;
	width: 100%;
}

/* Images - responsive with Figma aspect ratio */
.service-areas-facility-grid .wp-block-image {
	width: 100%;
	aspect-ratio: 584 / 329;
	margin: 0;
	flex-shrink: 0;
	overflow: hidden;
}

.service-areas-facility-grid .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Text area - responsive with minimum height */
.service-areas-facility-grid .wp-block-group.has-theme-07-background-color {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}


/* Home Dual CTA Section */
.home-cta-dual-section {
	margin-top: 20px;
	gap: 20px;
}

.home-cta-dual-section .wp-block-cover__inner-container > p {
	max-width: 552px;
	margin-left: auto;
	margin-right: auto;
}

.home-cta-button .wp-block-button__link {
	width: 228px;
	height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	/* REQUIRED: Overriding inline styles from WP database content */
}


/* Blue Wave Button Style */
.wp-block-button.is-style-outline.is-blue-wave {
	margin-top: 40px;
}

.wp-block-button.is-style-outline.is-blue-wave .wp-block-button__link {
	background-image: url('/wp-content/uploads/2025/12/blue-wave.png');
	background-size: cover;
	background-position: center;
	border: 2px solid #1c8ece;
	border-radius: 54px;
	color: white;
	font-family: var(--wp--preset--font-family--sansation);
	font-size: 25px;
	font-weight: 700;
	text-transform: capitalize;
	padding: 10px 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/**
 * 7.0 Mobile Responsive Styles
 */

/* Service Areas Facility Grid - Responsive Styles */
@media (max-width: 1024px) {
	.service-areas-facility-grid .wp-block-columns {
		gap: 24px;
		padding-left: 24px;
		padding-right: 24px;
	}
}

@media (max-width: 768px) {
	.service-areas-facility-grid .wp-block-columns {
		flex-direction: column;
		gap: 40px;
		margin-bottom: 40px;
	}

	.service-areas-facility-grid .wp-block-column {
		flex: 1 1 100%;
		max-width: 100%;
		min-width: 100%;
	}
}

/* Contact Hero Form - Mobile Responsive - overriding desktop layout */
@media (max-width: 768px) {

	/* Stack columns on mobile */
	body .has-droplet-bg .wp-block-columns {
		flex-direction: column;
	}

	/* Remove absolute positioning on image column for mobile */
	body .has-droplet-bg .wp-block-column:last-child {
		position: relative;
		width: 100%;
		top: auto;
		right: auto;
		bottom: auto;
		height: 400px;
		/* Fixed height for mobile image */
	}

	/* Form column - full width on mobile */
	body .has-droplet-bg .wp-block-column:first-child {
		width: 100%;
		flex-basis: 100%;
		padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	}

	/* Ensure image maintains aspect ratio on mobile */
	body .has-droplet-bg .wp-block-column:last-child img {
		height: 100%;
		width: 100%;
		object-fit: cover;
	}
}

/* Gravity Forms - Touch Target Optimization for Mobile */
/* REQUIRED: Overriding Gravity Forms plugin inline styles */
body .gform_wrapper input[type="text"],
body .gform_wrapper input[type="email"],
body .gform_wrapper input[type="tel"],
body .gform_wrapper input[type="url"],
body .gform_wrapper input[type="number"],
body .gform_wrapper textarea,
body .gform_wrapper select {
	min-height: 44px !important;
	padding: 12px 16px !important;
 /* REQUIRED: !important to override Gravity Forms plugin inline styles */
	font-size: 16px !important;
	line-height: 1.5;
	border: 1px solid #D1D5DB !important;
	border-radius: 8px !important;
	background-color: #FFFFFF;
	color: #1F2937;
	font-family: var(--wp--preset--font-family--inter);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Input focus states */
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
	outline: none !important;
	border-color: var(--wp--preset--color--theme-02);
	/* REQUIRED: !important to override Gravity Forms plugin styles */
	box-shadow: 0 0 0 3px rgba(26, 78, 162, 0.1) !important;
}

/* Textarea specific styling */
.gform_wrapper textarea {
	min-height: 120px !important;
	resize: vertical !important;
}

/* Placeholder styling */
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
	color: #9CA3AF;
	/* REQUIRED: !important to override browser default */
	opacity: 1 !important;
}

/* Select dropdown styling */
.gform_wrapper select {
	appearance: none !important;
	/* REQUIRED: !important to override Gravity Forms plugin styles */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%234E4B48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	padding-right: 36px !important;
}

/* Ensure labels are readable and match Figma design */
body .gform_wrapper .gfield_label {
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 8px !important;
	color: var(--wp--preset--color--theme-06);
	font-family: var(--wp--preset--font-family--inter);
	display: block;
}

/* Submit button - consistent styling across all forms matching Figma design */
body .gform_wrapper .gform_footer input[type="submit"],
body .gform_wrapper .gform_footer button[type="submit"],
body .gform_wrapper .gform_button,
body .gform_wrapper input.gform_button {
	display: inline-flex;
	width: auto !important;
	min-width: 180px !important;
	padding: 12px 32px !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 8px !important;
	min-height: 48px !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	/* REQUIRED: !important to override Gravity Forms plugin styles */
	border-radius: var(--wp--custom--border--rounded-small) !important;
	border: none !important;
	cursor: pointer !important;
	text-align: center;
	box-sizing: border-box !important;
	background-color: var(--wp--preset--color--theme-02);
	color: #FFFFFF;
	font-family: var(--wp--preset--font-family--inter);
	text-transform: none;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

/* Submit button hover state */
body .gform_wrapper .gform_footer input[type="submit"]:hover,
body .gform_wrapper .gform_footer button[type="submit"]:hover,
body .gform_wrapper .gform_button:hover,
body .gform_wrapper input.gform_button:hover {
	background-color: #153A7A;
	transform: translateY(-1px);
}

/* Submit button active state */
body .gform_wrapper .gform_footer input[type="submit"]:active,
body .gform_wrapper .gform_footer button[type="submit"]:active,
body .gform_wrapper .gform_button:active,
body .gform_wrapper input.gform_button:active {
	transform: translateY(0);
}

/* Ensure checkbox/radio inputs have adequate touch targets */
.gform_wrapper input[type="checkbox"],
.gform_wrapper input[type="radio"] {
	width: 22px !important;
	height: 22px !important;
	margin-right: 10px !important;
}

/* Form field spacing and layout */
.gform_wrapper .gfield {
	margin-bottom: 20px !important;
}

body .gform_wrapper .gform_fields {
	display: flex;
	flex-direction: column !important;
	gap: 20px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Required field indicator styling */
.gform_wrapper .gfield_required {
	color: var(--wp--preset--color--theme-05);
	margin-left: 4px !important;
}

/* Validation error states */
.gform_wrapper .gfield_error input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
	border-color: var(--wp--preset--color--theme-05);
	background-color: #FEF2F2;
}

.gform_wrapper .gfield_error .gfield_label {
	color: var(--wp--preset--color--theme-05);
}

.gform_wrapper .validation_message {
	color: var(--wp--preset--color--theme-05);
	font-size: 14px;
	margin-top: 6px !important;
	font-family: var(--wp--preset--font-family--inter);
}

/* Form footer alignment */
.gform_wrapper .gform_footer {
	padding: 0 !important;
	margin-top: 24px !important;
}

/* Disabled field styling */
.gform_wrapper input:disabled,
.gform_wrapper textarea:disabled,
.gform_wrapper select:disabled {
	background-color: #F3F4F6;
	cursor: not-allowed !important;
	/* REQUIRED: !important to override Gravity Forms plugin styles */
	opacity: 0.6 !important;
}

/* Additional mobile optimization for smaller screens - REQUIRED: !important for mobile font scaling */
@media (max-width: 428px) {

	/* Heading font size adjustment */
	body .has-droplet-bg .wp-block-heading {
		font-size: 36px;
		line-height: 1.2;
	}

	/* Paragraph font size adjustment */
	body .has-droplet-bg p {
		font-size: 18px;
		line-height: 1.5;
	}

	/* Reduce padding on smallest screens */
	body .has-droplet-bg .wp-block-column:first-child {
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
	}
}

/* iPhone SE and very small screens (320px) - REQUIRED: !important for mobile font scaling */
@media (max-width: 375px) {
	body .has-droplet-bg .wp-block-heading {
		font-size: 32px;
	}

	body .has-droplet-bg p {
		font-size: 16px;
	}

	body .has-droplet-bg .wp-block-column:first-child {
		padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--20);
	}
}

/**
 * 7.0 Announcement Banner
 */
.announcement-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 100;
	text-align: center;
}

.announcement-banner p {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: 1;
}

#announcement-banner-close {
	position: absolute;
	right: var(--wp--preset--spacing--50);
}

/* Announcement Banner - Mobile responsive typography */
@media (max-width: 428px) {
	.announcement-banner p {
		font-size: 16px;
		line-height: 1.4;
		gap: 6px;
		flex-wrap: wrap;
		padding-right: 40px;
	}

	#announcement-banner {
		padding-left: var(--wp--preset--spacing--30);
		padding-right: var(--wp--preset--spacing--30);
	}
}

@media (max-width: 375px) {
	.announcement-banner p {
		font-size: 15px;
		gap: 5px;
	}
}

@media (max-width: 320px) {
	.announcement-banner p {
		font-size: 14px;
		line-height: 1.3;
		gap: 4px;
	}

	#announcement-banner {
		padding-left: var(--wp--preset--spacing--20);
		padding-right: var(--wp--preset--spacing--20);
	}
}

/* Service Areas - Facility Grid Cards - REMOVED DUPLICATE (now at line 2472) */

/* Service Areas Map - left align text with heading */
.service-areas-map-image~.wp-block-group p,
.has-water-ripple-bg .wp-block-columns .wp-block-group.has-theme-02-background-color~.wp-block-group p {
	text-align: left;
}

/* Partner Contact - Parent container adjustments for flush-right image */
.has-droplet-bg.has-global-padding {
	padding-right: 0 !important;
}

.has-droplet-bg .wp-block-columns.alignwide,
.has-droplet-bg .wp-block-columns.alignfull {
	max-width: none !important;
	padding-right: 0 !important;
	margin-right: 0 !important;
}

/* Partner Contact / Let's Connect - full height image flush right with exact desktop dimensions */
.has-droplet-bg .partner-contact-image-column {
	margin-right: 0 !important;
	padding-right: 0 !important;
	display: flex;
	align-items: stretch;
	width: 770px !important;
	height: 932px !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
}

.has-droplet-bg .partner-contact-image-column .wp-block-image {
	height: 100%;
	width: 100%;
	margin: 0;
	flex: 1;
}

.has-droplet-bg .partner-contact-image-column .wp-block-image img {
	width: 770px;
	height: 932px;
	object-fit: cover;
	display: block;
	object-position: center;
}

/* Operations Contact / Partner Contact - full height image flush right with exact desktop dimensions - REQUIRED: !important to override WordPress core column block inline styles */
.operations-contact-section,
.partner-contact-section {
	position: relative;
	height: 932px !important;
	min-height: 932px;
	max-height: 932px;
	overflow: hidden;
}

.operations-contact-section.has-global-padding,
.has-droplet-bg.operations-contact-section,
.partner-contact-section.has-global-padding,
.has-droplet-bg.partner-contact-section,
.contact-contact-section.has-global-padding,
.has-droplet-bg.contact-contact-section,
.contact-hero-form-section.has-global-padding,
.has-droplet-bg.contact-hero-form-section {
	padding-right: 0 !important;
}

/* Also handle if it's just has-droplet-bg without operations-contact-section class */
.has-droplet-bg:has(.partner-contact-image-column),
.has-droplet-bg:has(.contact-image-column) {
	padding-right: 0 !important;
	overflow: hidden;
	position: relative;
	height: 932px !important;
	min-height: 932px;
	max-height: 932px;
}

.has-droplet-bg:has(.partner-contact-image-column) .wp-block-columns,
.has-droplet-bg:has(.contact-image-column) .wp-block-columns,
.operations-contact-section .wp-block-columns,
.partner-contact-section .wp-block-columns {
	position: relative;
	height: 932px !important;
	min-height: 932px;
	max-height: 932px;
	max-width: none !important;
	padding-right: 0 !important;
	margin-right: 0 !important;
}

/* Reduce padding in contact form sections to fit all content */
.has-droplet-bg:has(.partner-contact-image-column) .wp-block-column:first-child,
.has-droplet-bg:has(.contact-image-column) .wp-block-column:first-child,
.operations-contact-section .wp-block-column:first-child,
.partner-contact-section .wp-block-column:first-child {
	padding-top: 90px !important;
	padding-bottom: 90px !important;
	overflow-y: visible;
	max-height: 932px;
}

/* Reduce spacing in contact sections */
.operations-contact-section .wp-block-group,
.partner-contact-section .wp-block-group {
	gap: 24px !important;
}

.operations-contact-section h1,
.operations-contact-section h2,
.partner-contact-section h1,
.partner-contact-section h2 {
	font-size: 42px;
	line-height: 50px;
	margin-bottom: 0 !important;
}

.operations-contact-section .wp-block-separator,
.partner-contact-section .wp-block-separator {
	margin-top: 16px !important;
	margin-bottom: 16px !important;
}

.operations-contact-section .wp-block-group>p,
.partner-contact-section .wp-block-group>p {
	margin-bottom: 20px !important;
}

.operations-contact-section .gform_wrapper .gfield,
.partner-contact-section .gform_wrapper .gfield {
	margin-bottom: 8px;
}

.operations-contact-section .gform_wrapper .gform_fields,
.partner-contact-section .gform_wrapper .gform_fields {
	row-gap: 8px;
}

.operations-contact-section .gform_wrapper .gfield_label,
.partner-contact-section .gform_wrapper .gfield_label {
	margin-bottom: 4px;
}

/* Reduce spacing between form elements */
.has-droplet-bg:has(.contact-image-column) .wp-block-group,
.has-droplet-bg:has(.partner-contact-image-column) .wp-block-group,
.has-droplet-bg:has(.contact-contact-image-column) .wp-block-group,
.has-droplet-bg:has(.contact-hero-form-image-column) .wp-block-group {
	gap: 24px !important;
}

/* Reduce heading size slightly to save space */
.has-droplet-bg:has(.contact-image-column) h1,
.has-droplet-bg:has(.partner-contact-image-column) h1,
.has-droplet-bg:has(.contact-contact-image-column) h1,
.has-droplet-bg:has(.contact-hero-form-image-column) h1,
.has-droplet-bg:has(.contact-image-column) h2,
.has-droplet-bg:has(.partner-contact-image-column) h2,
.has-droplet-bg:has(.contact-contact-image-column) h2,
.has-droplet-bg:has(.contact-hero-form-image-column) h2 {
	font-size: 42px;
	line-height: 50px;
	margin-bottom: 0 !important;
}

/* Reduce separator height */
.has-droplet-bg:has(.contact-image-column) .wp-block-separator,
.has-droplet-bg:has(.partner-contact-image-column) .wp-block-separator,
.has-droplet-bg:has(.contact-contact-image-column) .wp-block-separator,
.has-droplet-bg:has(.contact-hero-form-image-column) .wp-block-separator {
	margin-top: 16px !important;
	margin-bottom: 16px !important;
}

/* Reduce paragraph spacing */
.has-droplet-bg:has(.contact-image-column) .wp-block-group>p,
.has-droplet-bg:has(.partner-contact-image-column) .wp-block-group>p,
.has-droplet-bg:has(.contact-contact-image-column) .wp-block-group>p,
.has-droplet-bg:has(.contact-hero-form-image-column) .wp-block-group>p {
	margin-bottom: 20px !important;
}

/* Tighter form field spacing - for contact page forms only */
.has-droplet-bg:has(.contact-image-column) .gform_wrapper .gfield,
.has-droplet-bg:has(.contact-contact-image-column) .gform_wrapper .gfield,
.has-droplet-bg:has(.contact-hero-form-image-column) .gform_wrapper .gfield {
	margin-bottom: 8px !important;
}

.has-droplet-bg:has(.contact-image-column) .gform_wrapper .gform_fields,
.has-droplet-bg:has(.contact-contact-image-column) .gform_wrapper .gform_fields,
.has-droplet-bg:has(.contact-hero-form-image-column) .gform_wrapper .gform_fields {
	row-gap: 8px !important;
}

.has-droplet-bg:has(.contact-image-column) .gform_wrapper .gfield_label,
.has-droplet-bg:has(.contact-contact-image-column) .gform_wrapper .gfield_label,
.has-droplet-bg:has(.contact-hero-form-image-column) .gform_wrapper .gfield_label {
	margin-bottom: 4px !important;
}

.operations-contact-section .operations-contact-image-column,
.operations-contact-section .wp-block-column:last-child {
	margin-right: 0 !important;
	padding-right: 0 !important;
	display: flex;
	align-items: stretch;
	width: 770px !important;
	height: 932px !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	flex-basis: auto !important;
	margin: 0 !important;
}

.operations-contact-section .operations-contact-image-column .wp-block-image,
.operations-contact-section .operations-contact-image-column figure,
.operations-contact-section .wp-block-column:last-child .wp-block-image,
.operations-contact-section .wp-block-column:last-child figure {
	height: 100%;
	width: 100%;
	margin: 0;
	flex: 1;
	border-radius: 0;
}

.operations-contact-section .operations-contact-image-column .wp-block-image img,
.operations-contact-section .operations-contact-image-column img,
.operations-contact-section .wp-block-column:last-child .wp-block-image img,
.operations-contact-section .wp-block-column:last-child img {
	width: 770px;
	height: 932px;
	object-fit: cover;
	display: block;
	object-position: center;
	border-radius: 0;
}

/* Contact sections - Mobile/Tablet - reset absolute positioning - REQUIRED: !important to override desktop styles */
@media (max-width: 1024px) {

	.operations-contact-section,
	.partner-contact-section {
		min-height: auto;
		height: auto !important;
	}

	.operations-contact-section .wp-block-columns,
	.partner-contact-section .wp-block-columns {
		min-height: auto;
		height: auto;
	}

	.operations-contact-section .operations-contact-image-column,
	.operations-contact-section .wp-block-column:last-child,
	.partner-contact-section .partner-contact-image-column,
	.partner-contact-section .wp-block-column:last-child {
		position: static !important;
		width: 100%;
		height: auto;
		margin-bottom: var(--wp--preset--spacing--50);
	}

	.operations-contact-section .operations-contact-image-column .wp-block-image img,
	.operations-contact-section .wp-block-column:last-child .wp-block-image img,
	.partner-contact-section .partner-contact-image-column .wp-block-image img,
	.partner-contact-section .wp-block-column:last-child .wp-block-image img {
		width: 100%;
		height: auto;
		max-height: 500px;
	}
}

/* ==========================================================================
   Figma-Style Underline Form - Contact, Partner, Operations Forms
   Matches Figma design: underline inputs, 2-column layout, pill button
   ========================================================================== */

/* Form container layout */
.operations-contact-section .gform_wrapper,
.partner-contact-section .gform_wrapper,
.contact-contact-section .gform_wrapper,
.contact-hero-form-section .gform_wrapper {
	max-width: 600px;
}

/* Form fields grid - enable 2-column layout for paired fields */
.operations-contact-section .gform_wrapper .gform_fields,
.partner-contact-section .gform_wrapper .gform_fields,
.contact-contact-section .gform_wrapper .gform_fields,
.contact-hero-form-section .gform_wrapper .gform_fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 48px;
	row-gap: 40px;
	padding: 0;
	margin: 0;
}

/* Full-width fields (message textarea) - span both columns */
.operations-contact-section .gform_wrapper .gfield--type-textarea,
.partner-contact-section .gform_wrapper .gfield--type-textarea,
.contact-contact-section .gform_wrapper .gfield--type-textarea,
.contact-hero-form-section .gform_wrapper .gfield--type-textarea {
	grid-column: 1 / -1;
}

/* Reset field margins - spacing handled by grid gap */
.operations-contact-section .gform_wrapper .gfield,
.partner-contact-section .gform_wrapper .gfield,
.contact-contact-section .gform_wrapper .gfield,
.contact-hero-form-section .gform_wrapper .gfield {
	margin-bottom: 0;
	padding: 0;
}

/* Labels - Figma style: 20px Inter Regular, theme-06 color */
.operations-contact-section .gform_wrapper .gfield_label,
.partner-contact-section .gform_wrapper .gfield_label,
.contact-contact-section .gform_wrapper .gfield_label,
.contact-hero-form-section .gform_wrapper .gfield_label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 20px;
	font-weight: 400;
	line-height: 30px;
	color: var(--wp--preset--color--theme-06);
	margin-bottom: 0;
	padding-top: 9px;
	padding-bottom: 16px;
}

/* Hide required asterisk - it's in the label text */
.operations-contact-section .gform_wrapper .gfield_required,
.partner-contact-section .gform_wrapper .gfield_required,
.contact-contact-section .gform_wrapper .gfield_required,
.contact-hero-form-section .gform_wrapper .gfield_required {
	display: none;
}

/* Input fields - Figma underline style: bottom border only */
.operations-contact-section .gform_wrapper input[type="text"],
.operations-contact-section .gform_wrapper input[type="email"],
.operations-contact-section .gform_wrapper input[type="tel"],
.operations-contact-section .gform_wrapper input[type="url"],
.operations-contact-section .gform_wrapper input[type="number"],
.partner-contact-section .gform_wrapper input[type="text"],
.partner-contact-section .gform_wrapper input[type="email"],
.partner-contact-section .gform_wrapper input[type="tel"],
.partner-contact-section .gform_wrapper input[type="url"],
.partner-contact-section .gform_wrapper input[type="number"],
.contact-contact-section .gform_wrapper input[type="text"],
.contact-contact-section .gform_wrapper input[type="email"],
.contact-contact-section .gform_wrapper input[type="tel"],
.contact-contact-section .gform_wrapper input[type="url"],
.contact-contact-section .gform_wrapper input[type="number"],
.contact-hero-form-section .gform_wrapper input[type="text"],
.contact-hero-form-section .gform_wrapper input[type="email"],
.contact-hero-form-section .gform_wrapper input[type="tel"],
.contact-hero-form-section .gform_wrapper input[type="url"],
.contact-hero-form-section .gform_wrapper input[type="number"] {
	background: transparent;
	border: none;
	border-bottom: 3px solid var(--wp--preset--color--theme-06);
	border-radius: 0;
	padding: 0 0 16px 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 20px;
	font-weight: 400;
	line-height: 30px;
	color: var(--wp--preset--color--theme-06);
	min-height: auto;
	height: auto;
	box-shadow: none;
	outline: none;
}

/* Textarea - Figma underline style */
.operations-contact-section .gform_wrapper textarea,
.partner-contact-section .gform_wrapper textarea,
.contact-contact-section .gform_wrapper textarea,
.contact-hero-form-section .gform_wrapper textarea {
	background: transparent;
	border: none;
	border-bottom: 3px solid var(--wp--preset--color--theme-06);
	border-radius: 0;
	padding: 0 0 16px 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 20px;
	font-weight: 400;
	line-height: 30px;
	color: var(--wp--preset--color--theme-06);
	min-height: 118px;
	resize: none;
	box-shadow: none;
	outline: none;
}

/* Input focus state - keep underline, no box shadow */
.operations-contact-section .gform_wrapper input:focus,
.operations-contact-section .gform_wrapper textarea:focus,
.partner-contact-section .gform_wrapper input:focus,
.partner-contact-section .gform_wrapper textarea:focus,
.contact-contact-section .gform_wrapper input:focus,
.contact-contact-section .gform_wrapper textarea:focus,
.contact-hero-form-section .gform_wrapper input:focus,
.contact-hero-form-section .gform_wrapper textarea:focus {
	border-bottom-color: var(--wp--preset--color--theme-02);
	box-shadow: none;
	outline: none;
}

/* Placeholder styling */
.operations-contact-section .gform_wrapper input::placeholder,
.operations-contact-section .gform_wrapper textarea::placeholder,
.partner-contact-section .gform_wrapper input::placeholder,
.partner-contact-section .gform_wrapper textarea::placeholder,
.contact-contact-section .gform_wrapper input::placeholder,
.contact-contact-section .gform_wrapper textarea::placeholder,
.contact-hero-form-section .gform_wrapper input::placeholder,
.contact-hero-form-section .gform_wrapper textarea::placeholder {
	color: var(--wp--preset--color--theme-06);
	opacity: 0.6;
}

/* Submit button - Figma pill style */
.operations-contact-section .gform_wrapper .gform_footer,
.partner-contact-section .gform_wrapper .gform_footer,
.contact-contact-section .gform_wrapper .gform_footer,
.contact-hero-form-section .gform_wrapper .gform_footer {
	padding: 0;
	margin-top: 40px;
	grid-column: 1 / -1;
}

.operations-contact-section .gform_wrapper .gform_footer input[type="submit"],
.operations-contact-section .gform_wrapper .gform_footer button[type="submit"],
.operations-contact-section .gform_wrapper .gform_button,
.partner-contact-section .gform_wrapper .gform_footer input[type="submit"],
.partner-contact-section .gform_wrapper .gform_footer button[type="submit"],
.partner-contact-section .gform_wrapper .gform_button,
.contact-contact-section .gform_wrapper .gform_footer input[type="submit"],
.contact-contact-section .gform_wrapper .gform_footer button[type="submit"],
.contact-contact-section .gform_wrapper .gform_button,
.contact-hero-form-section .gform_wrapper .gform_footer input[type="submit"],
.contact-hero-form-section .gform_wrapper .gform_footer button[type="submit"],
.contact-hero-form-section .gform_wrapper .gform_button {
	background-color: var(--wp--preset--color--theme-02);
	border: 2px solid var(--wp--preset--color--theme-02);
	border-radius: 54px;
	padding: 7px 19px;
	width: 261px;
	min-width: 261px;
	min-height: auto;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 24px;
	font-weight: 800;
	line-height: 32px;
	letter-spacing: 1.44px;
	text-transform: uppercase;
	color: #FFFFFF;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

/* Submit button hover - contact sections: darker blue */
.contact-contact-section .gform_wrapper .gform_footer input[type="submit"]:hover,
.contact-contact-section .gform_wrapper .gform_footer button[type="submit"]:hover,
.contact-hero-form-section .gform_wrapper .gform_footer input[type="submit"]:hover,
.contact-hero-form-section .gform_wrapper .gform_footer button[type="submit"]:hover {
	background-color: #153A7A;
	transform: translateY(-1px);
}

/* Operations Contact - submit button hover: white background, dark blue text */
.operations-contact-section .gform_wrapper .gform_footer input[type="submit"]:hover,
.operations-contact-section .gform_wrapper .gform_footer button[type="submit"]:hover {
	background-color: #ffffff;
	color: #1a4ea2;
	transform: translateY(-1px);
}

/* Partner With Us - submit button hover: white background, dark blue text */
.partner-contact-section .gform_wrapper .gform_footer input[type="submit"]:hover,
.partner-contact-section .gform_wrapper .gform_footer button[type="submit"]:hover {
	background-color: #ffffff;
	color: #1a4ea2;
	transform: translateY(-1px);
}

/* Mobile responsive - single column layout */
@media (max-width: 768px) {
	.operations-contact-section .gform_wrapper .gform_fields,
	.partner-contact-section .gform_wrapper .gform_fields,
	.contact-contact-section .gform_wrapper .gform_fields,
	.contact-hero-form-section .gform_wrapper .gform_fields {
		grid-template-columns: 1fr;
		row-gap: 32px;
	}

	.operations-contact-section .gform_wrapper .gform_footer input[type="submit"],
	.partner-contact-section .gform_wrapper .gform_footer input[type="submit"],
	.contact-contact-section .gform_wrapper .gform_footer input[type="submit"],
	.contact-hero-form-section .gform_wrapper .gform_footer input[type="submit"] {
		width: 100%;
		min-width: auto;
	}
}

/* Partner Trusted Staffing - constrain text to container width */
.has-water-ripple-bg .wp-block-columns .wp-block-column[style*="60%"] .wp-block-group p {
	max-width: 709px;
}

/* Hero Navigation - consistent spacing and prevent wrapping */
.is-hero .wp-block-navigation {
	flex-wrap: nowrap !important;
}

.is-hero .wp-block-navigation .wp-block-navigation__container {
	gap: 44px;
	flex-wrap: nowrap !important;
}

/* Lifeguard Page - solid blue navigation background */
.page-id-23 .wp-block-template-part>.wp-block-group {
	background-color: #1a4ea2;
	margin: 0;
}

.page-id-23 .wp-block-template-part>.wp-block-group .wp-block-group.alignfull {
	background-color: transparent;
}

/* Lifeguard Page - navigation link spacing - match global 44px */
.page-id-23 .wp-block-navigation__container {
	gap: 44px;
	flex-wrap: nowrap !important;
}

.page-id-23 .wp-block-navigation .wp-block-navigation-item {
	margin: 0;
}

/* Lifeguard Page - ensure Partner With Us link has consistent spacing */
.page-id-23 .wp-block-navigation .wp-block-navigation-item a {
	padding-left: 0;
	padding-right: 0;
}

/* Lifeguard Page - button container spacing */
.page-id-23 .wp-block-buttons.is-content-justification-right.is-layout-flex {
	gap: 40px;
	margin-top: -18px;
	margin-left: 10px;
}

/* Lifeguard Page - align Partner With Us and Become a Lifeguard buttons with nav items */
.page-id-23 .wp-block-navigation-item a[href*="partner"],
.page-id-23 .wp-block-navigation-item a[href*="lifeguard"] {
	margin-top: -4px;
	display: inline-flex;
	align-items: center;
}

/* Lifeguard Page (page-id-23) - intro section pool offset background */
.page-id-23 .has-offset-pool-bg::before {
	content: '';
	position: absolute;
	right: 0;
	bottom: -29px;
	width: 100%;
	height: 100%;
	background: url(/wp-content/uploads/2025/12/pool-bg.png) center / cover no-repeat;
	z-index: 0;
}

/* Partner Page (page-id-21) - intro section pool offset background - all desktop breakpoints */
@media (min-width: 1024px) {
	.page-id-21 .has-offset-pool-bg::before {

		content: '';
		position: absolute;
		right: 0;
		bottom: -29px;
		width: 100%;
		height: 100%;
		background: url(/wp-content/uploads/2025/12/pool-bg.png) center / cover no-repeat;
		z-index: 0;
	}
}

/* Contact Page - button container spacing */
.page-id-25 .wp-block-buttons.is-content-justification-right.is-layout-flex {
	gap: 40px;
	margin-top: -18px;
	margin-left: 10px;
}

/* Contact Page - align Partner With Us and Become a Lifeguard buttons with nav items */
.page-id-25 .wp-block-navigation-item a[href*="partner"],
.page-id-25 .wp-block-navigation-item a[href*="lifeguard"] {
	margin-top: -4px;
	display: inline-flex;
	align-items: center;
}

/* Separator 224 - consistent bottom spacing */
.separator-224 {
	margin-bottom: 60px;
}

/* Lifeguard Intro - paragraph right padding on desktop */
.lifeguard-intro-section p {
	padding-right: 120px;
}

@media (max-width: 768px) {
	.lifeguard-intro-section p {
		padding-right: 0;
	}
}

/* Lifeguard - Why You'll Love icons - 42x35px, aligned to heading */
body .lifeguard-flag-icon {
	align-self: flex-start;
	margin-top: 2px;
	width: 42px;
	height: 35px;
	flex-shrink: 0;
	min-width: 42px;
	min-height: 35px;
	max-width: 42px;
	max-height: 35px;
}

body .lifeguard-flag-icon img {
	width: 42px;
	height: 35px;
	object-fit: contain;
	min-width: 42px;
	min-height: 35px;
	max-width: 42px;
	max-height: 35px;
}

/* Lifeguard - Job Fit carousel flush left to viewport */
.job-fit-section {
	overflow: hidden;
}

.job-fit-carousel {
	margin-left: calc(-1 * (40px + max(0px, (100vw - 1440px) / 2)));
}

/* Lifeguard Gallery - white carousel dots */
.lifeguard-gallery-section {
	position: relative;
}

.lifeguard-gallery-dots {
	position: relative;
	margin-top: 40px;
	display: flex;
	gap: 12px;
	justify-content: center;
	z-index: 10;
}

.lifeguard-gallery-dot {
	min-width: 14px;
	min-height: 17px;
	width: 14px;
	height: 17px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background-color: transparent;
	border: none;
	cursor: pointer;
}

.lifeguard-gallery-dot::after {
	content: '';
	width: 14px;
	height: 14px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(255, 255, 255, 0.5);
	border: none;
	transition: background-color 0.3s ease;
	pointer-events: none;
}

.lifeguard-gallery-dot:hover::after,
.lifeguard-gallery-dot.is-active::after {
	background: white;
}

/* Partner Staffing Carousel Dots - Bordered outline style */
.partner-staffing-carousel .splide__pagination {
	bottom: 20px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 12px;
	z-index: 10;
}

.partner-staffing-carousel .splide__pagination__page {
	min-width: 17px;
	min-height: 17px;
	width: 17px;
	height: 17px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background-color: transparent;
	border: none;
	cursor: pointer;
	opacity: 1;
	flex-shrink: 0;
}

.partner-staffing-carousel .splide__pagination__page::after {
	content: '';
	width: 12px;
	height: 12px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: transparent;
	border: 2px solid var(--wp--preset--color--theme-02);
	transition: background-color 0.3s ease;
	pointer-events: none;
}

.partner-staffing-carousel .splide__pagination__page:hover::after,
.partner-staffing-carousel .splide__pagination__page.is-active::after {
	background-color: var(--wp--preset--color--theme-02);
}

/* Partner Staffing Gallery - Simple gallery display */
.partner-staffing-gallery.wp-block-gallery {
	position: relative;
	display: block;
}

.partner-staffing-gallery.wp-block-gallery .wp-block-image {
	width: 100%;
	margin: 0;
}

.partner-staffing-gallery.wp-block-gallery .wp-block-image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 0;
}

/**
 * 7.0 Mobile Navigation Styles
 */

/* Hide mobile toggle on desktop */
.mobile-nav-toggle {
	display: none;
}

/* Mobile navigation - hidden by default */
.mobile-navigation {
	display: none;
}

.mobile-nav-overlay {
	display: none;
}

/* Mobile breakpoint - below 1700px to prevent nav overflow on smaller screens - REQUIRED: !important to hide desktop nav on mobile */
@media (max-width: 1700px) {

	/* Hide desktop navigation and WordPress's built-in responsive menu */
	.desktop-navigation,
	.wp-block-navigation.desktop-navigation,
	header .wp-block-navigation {
		display: none !important;
	}

	/* BUT show navigation when cloned inside mobile menu */
	.mobile-navigation .desktop-navigation,
	.mobile-navigation .wp-block-navigation {
		display: flex !important;
	}

	/* Show mobile toggle button */
	.mobile-nav-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		padding: 0;
		background: transparent;
		border: none;
		cursor: pointer;
		position: relative;
		z-index: 1001;
		transition: opacity 0.2s ease;
	}

	.mobile-nav-toggle:hover {
		opacity: 0.7;
	}

	.mobile-nav-toggle:focus {
		outline: 2px solid #1c8ece;
		outline-offset: 2px;
	}

	/* Make mobile toggle visible on all backgrounds */
	.mobile-nav-toggle {
		background-color: rgba(255, 255, 255, 0.9);
		border-radius: 4px;
	}

	/* Hamburger icon - centered in button */
	.hamburger-box {
		width: 24px;
		height: 18px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
	}

	.hamburger-inner,
	.hamburger-inner::before,
	.hamburger-inner::after {
		width: 24px;
		height: 3px;
		background-color: #1a4ea2;
		border-radius: 2px;
		position: absolute;
		transition: transform 0.3s ease, opacity 0.3s ease;
	}

	.hamburger-inner {
		top: 50%;
		transform: translateY(-50%);
	}

	.hamburger-inner::before,
	.hamburger-inner::after {
		content: '';
		display: block;
	}

	.hamburger-inner::before {
		top: -7px;
	}

	.hamburger-inner::after {
		top: 7px;
	}

	/* Animate to X when open */
	.mobile-nav-toggle[aria-expanded="true"] .hamburger-inner {
		transform: rotate(45deg);
	}

	.mobile-nav-toggle[aria-expanded="true"] .hamburger-inner::before {
		opacity: 0;
	}

	.mobile-nav-toggle[aria-expanded="true"] .hamburger-inner::after {
		top: 0;
		transform: rotate(-90deg);
	}

	/* Mobile navigation overlay */
	.mobile-nav-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.5);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 999;
	}

	.mobile-nav-overlay[aria-hidden="false"] {
		display: block;
		opacity: 1;
		visibility: visible;
	}

	/* Mobile navigation panel */
	.mobile-navigation {
		position: fixed;
		top: 0;
		right: 0;
		width: 85%;
		max-width: 320px;
		height: 100%;
		background-color: #f3f2ed;
		box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
		transform: translateX(100%);
		transition: transform 0.3s ease;
		z-index: 1000;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.mobile-navigation[aria-hidden="false"] {
		display: block;
		transform: translateX(0);
	}

	.mobile-navigation-inner {
		padding: 80px 30px 40px;
	}

	/* Hide WordPress responsive dialog wrapper in mobile menu (we only need the content) */
	.mobile-navigation .wp-block-navigation__responsive-dialog {
		position: static;
		width: auto;
		height: auto;
		max-width: none;
		max-height: none;
		padding: 0;
		border: none;
		box-shadow: none;
		background: transparent;
	}

	/* Clone navigation items into mobile menu with JavaScript */
	.mobile-navigation .wp-block-navigation__container {
		display: flex;
		flex-direction: column;
		gap: 0;
		list-style: none;
		padding: 0;
		margin: 0;
	}

	.mobile-navigation .wp-block-navigation-item {
		border-bottom: 1px solid rgba(26, 78, 162, 0.2);
	}

	.mobile-navigation .wp-block-navigation-item a {
		display: block;
		padding: 16px 0;
		color: #1a4ea2;
		font-family: var(--wp--preset--font-family--sansation), sans-serif;
		font-size: 18px;
		font-weight: 700;
		text-transform: uppercase;
		text-decoration: none;
		letter-spacing: 0.5px;
		transition: color 0.2s ease;
	}

	.mobile-navigation .wp-block-navigation-item a:hover,
	.mobile-navigation .wp-block-navigation-item a:focus {
		color: #1c8ece;
	}

	/* Style button groups in mobile menu */
	.mobile-navigation .wp-block-buttons {
		display: flex;
		flex-direction: column;
		gap: 15px;
		margin-top: 20px;
	}

	.mobile-navigation .wp-block-button {
		width: 100%;
	}

	.mobile-navigation .wp-block-button__link {
		display: block;
		width: 100%;
		text-align: center;
		padding: 12px 24px;
		border-radius: 43px;
		text-decoration: none;
		font-family: var(--wp--preset--font-family--sansation), sans-serif;
		font-size: 16px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		transition: all 0.2s ease;
		/* Ensure buttons are visible with default colors */
		background-color: #1a4ea2;
		color: white;
	}

	/* Subtle button style for Partner With Us - ensure visibility */
	.mobile-navigation .wp-block-button.is-style-subtle .wp-block-button__link {
		background-color: #1a4ea2;
		color: white;
	}

	/* Yellow button style for Become a Lifeguard */
	.mobile-navigation .wp-block-button.is-style-outline .wp-block-button__link,
	.mobile-navigation .wp-block-button.is-style-wave .wp-block-button__link {
		background-color: #fbd872;
		color: #1a4ea2;
	}

	/* Home Hero - Mobile Navigation */
	.hero-top-bar {
		position: relative;
		justify-content: space-between;
		padding: 20px 15px;
		gap: 15px;
	}

	.hero-logo {
		width: 180px;
	}

	/* Hide desktop navigation in hero on mobile */
	.hero-navigation-block-wrapper,
	.hero-navigation {
		display: none !important;
	}

	/* Show mobile toggle in hero */
	.hero-top-bar .mobile-nav-toggle {
		display: flex;
		position: relative;
		z-index: 1001;
	}

	.hero-top-bar .hamburger-inner,
	.hero-top-bar .hamburger-inner::before,
	.hero-top-bar .hamburger-inner::after {
		background-color: white;
	}

	.hero-top-bar #mobile-nav-toggle {
		background-color: rgba(255, 255, 255, 0.1);
		border: 1px solid rgba(255, 255, 255, 0.3);
	}

	/* Ensure mobile nav overlays are positioned correctly */
	.home-hero-carousel .mobile-nav-overlay,
	.home-hero-carousel .mobile-navigation {
		position: fixed;
	}

	/* Ensure carousel dots stay behind mobile nav */
	.home-hero-carousel-dots,
	.carousel-dots {
		z-index: 1 !important;
	}
}

/* Extra small devices - ensure mobile nav fits */
@media (max-width: 375px) {
	.mobile-navigation {
		width: 90%;
		max-width: 280px;
	}

	.mobile-navigation-inner {
		padding: 70px 20px 30px;
	}

	.mobile-navigation .wp-block-navigation-item a {
		font-size: 16px;
		padding: 14px 0;
	}
}

/* ==========================================================================
   Footer Styles
   ========================================================================== */

/* Footer button group */
.footer-buttons-group {
	gap: 20px;
	margin-bottom: 40px;
}

/* Careers button - outlined style */
/* Footer button styles moved to line 3959+ to consolidate */

/* Footer bottom section */
.footer-bottom {
	gap: 20px;
	align-items: center;
}

.footer-bottom p {
	margin: 0;
}

footer > div > div > div.wp-block-buttons.is-vertical.is-layout-flex.wp-container-core-buttons-is-layout-fe9cc265.wp-block-buttons-is-layout-flex > div.wp-block-button.is-style-outline.is-style-outline--12 > a {
	color: #fff;
}

.wp-block-buttons .wp-block-button__link {
    width: 100%;
    color: #fff;
}

/* Privacy choices link */
.footer-privacy-choices a {
	color: white;
	text-decoration: underline;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: opacity 0.3s ease;
}

.footer-privacy-choices a:hover {
	opacity: 0.8;
}

/* Footer policy links (Accessibility, Privacy Policy, Terms of Use) */
footer .has-theme-04-color a {
	transition: color 0.3s ease;
}

footer .has-theme-04-color a:hover {
	color: #ffffff;
	text-decoration: none;
}

/* Mobile footer adjustments */
@media (max-width: 768px) {
	.footer-buttons-group {
		flex-direction: column;
		align-items: center;
	}

	.footer-button-careers .wp-block-button__link,
	.footer-button-connect .wp-block-button__link {
		width: 100%;
		max-width: 280px;
		text-align: center;
	}

	.footer-bottom {
		flex-direction: column;
		gap: 44px;
	}

	/* Footer flex layout - wrap on mobile */
	/* The actual footer uses is-layout-flex is-nowrap, not columns */
	footer .wp-block-group.is-layout-flex.is-nowrap {
		flex-wrap: wrap !important;
		gap: 40px;
		justify-content: center !important;
	}

	/* Footer direct children - full width on mobile */
	footer .wp-block-group.is-layout-flex.is-nowrap > * {
		flex: 1 1 100%;
		min-width: 100%;
		text-align: center;
	}

	/* Center buttons in footer */
	footer .wp-block-buttons {
		justify-content: center !important;
		width: 100%;
	}

	footer .wp-block-buttons .wp-block-button {
		width: 100%;
		max-width: 280px;
	}

	/* Center list items in footer */
	footer .wp-block-list {
		text-align: center;
		padding-left: 0 !important;
		list-style-position: inside;
	}

	/* Center nested groups */
	footer .wp-block-group.is-layout-flex {
		justify-content: center !important;
		flex-wrap: wrap !important;
	}

	/* Fix social icons and phone section */
	footer .wp-block-social-links {
		justify-content: center !important;
	}

	footer p.has-text-align-right {
		text-align: center;
	}

	/* Privacy choices button - ensure readable text */
	footer .wp-block-button .wp-block-button__link {
		white-space: nowrap;
	}
}

/**
 * 8.0 Accessibility - WCAG 2.1 Touch Target Compliance
 *
 * CRITICAL: All interactive elements MUST meet minimum 44x44px touch target size
 * WCAG 2.1 Level AAA (2.5.5) - Level AA strong recommendation
 * Essential for users with motor impairments, tremors, and mobile users
 *
 * Implementation strategy:
 * - All buttons, links, and controls get 44x44px minimum
 * - Carousel dots use ::after pseudo-element for visual appearance
 * - Mobile gets enhanced 48x48px targets for better thumb accuracy
 */

/* Universal button and link minimum touch targets */
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.wp-block-button__link,
a.wp-block-button__link,
a.button,
.wp-element-button {
	min-height: 44px;
	min-width: 44px;
}

/* Navigation links - ensure adequate touch targets */
.wp-block-navigation-item__content,
.wp-block-navigation-item a,
.is-hero .wp-block-navigation-item__content,
.hero-navigation .wp-block-navigation-item a,
.hero-navigation-block-wrapper .wp-block-navigation-item a {
	min-height: 44px;
	min-width: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/**
 * 8.1 Carousel Dots - Touch Targets
 * Strategy: 17x17px clickable area (sized to avoid cutoff), use ::after for 18px visual dot
 */

/* Carousel dots - 17x18px touch target to avoid cutoff */
.project-zero-carousel-dots .carousel-dot,
.hero-carousel-dot,
.job-fit-dot {
	min-width: 17px;
	min-height: 18px;
	width: 17px;
	height: 18px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background-color: transparent;
	border: none;
}

/* Home hero carousel dots - 14x17px rectangular dots */
.home-hero-carousel-dots .carousel-dot {
	min-width: 14px;
	min-height: 19px;
	width: 14px;
	height: 19px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background-color: transparent;
	border: none;
	transition: all 0.3s ease;
}

.home-hero-carousel-dots .carousel-dot.is-active {
	width: 102px;
}

/* Visual indicator inside larger touch target - maintains design aesthetic */
.project-zero-carousel-dots .carousel-dot::after,
.hero-carousel-dot::after,
.home-hero-carousel-dots .carousel-dot::after,
.job-fit-dot::after {
	content: '';
	width: 18px;
	height: 18px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: background-color 0.3s ease;
	pointer-events: none;
}

/* Project Zero carousel dots - blue theme with border */
.project-zero-carousel-dots .carousel-dot::after {
	background-color: transparent;
	border: 2px solid #1a4ea2;
}

.project-zero-carousel-dots .carousel-dot:hover::after,
.project-zero-carousel-dots .carousel-dot.is-active::after {
	background-color: #1a4ea2;
	width: 18px;
	height: 18px;
}

/* Hero carousel dots - white theme */
.hero-carousel-dot::after {
	background-color: rgba(255, 255, 255, 0.5);
	border: 2px solid white;
}

.hero-carousel-dot:hover::after,
.hero-carousel-dot.is-active::after {
	background-color: white;
	width: 18px;
	height: 18px;
}

/* Home hero carousel dots - red/coral theme matching reference design */
.home-hero-carousel-dots .carousel-dot::after {
	background: #D94040;
	opacity: 1;
	border: none;
	width: 14px;
	height: 14px;
	border-radius: 7px;
	transition: all 0.3s ease;
	position: static;
	transform: none;
	display: block;
	content: '';
}

.home-hero-carousel-dots .carousel-dot.is-active::after {
	background: #D94040;
	opacity: 1;
	width: 102px;
	height: 19px;
	border-radius: 9.5px;
	position: static;
	transform: none;
	display: block;
	content: '';
}

/* Show only 4 dots total (1 long indicator + 3 short dots) - hide 5th and beyond */
.home-hero-carousel-dots .carousel-dot:nth-child(n+5) {
	display: none;
}

/* First dot is always the active long indicator */
.home-hero-carousel-dots .carousel-dot:first-child {
	width: 102px;
}

.home-hero-carousel-dots .carousel-dot:first-child::after {
	background: #D94040;
	opacity: 1;
	width: 102px;
	height: 19px;
	border-radius: 9.5px;
}

/* Job fit carousel dots - blue theme with border */
.job-fit-dot::after {
	border: 2px solid var(--wp--preset--color--theme-02);
	background-color: transparent;
}

.job-fit-dot:hover::after,
.job-fit-dot.is-active::after {
	background-color: var(--wp--preset--color--theme-02);
	width: 18px;
	height: 18px;
}

/* Home Gallery Splide carousel pagination dots - blue theme with border */
.home-gallery-section .splide__pagination__page {
	min-width: 17px !important;
	min-height: 17px !important;
	width: 17px !important;
	height: 17px !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline-flex;
	align-items: center !important;
	justify-content: center !important;
	position: relative;
	background-color: transparent;
	/* REQUIRED: !important to override Splide plugin styles */
	border: none !important;
	opacity: 1 !important;
	transform: none;
	flex-shrink: 0 !important;
}

.home-gallery-section .splide__pagination__page::after {
	content: '';
	width: 18px !important;
	height: 18px !important;
	/* REQUIRED: !important to override Splide plugin styles */
	border-radius: 50% !important;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: background-color 0.3s ease;
	pointer-events: none !important;
	background-color: transparent;
	/* REQUIRED: !important to override Splide plugin styles */
	border: 2px solid var(--wp--preset--color--theme-02) !important;
}

.home-gallery-section .splide__pagination__page:hover::after,
.home-gallery-section .splide__pagination__page.is-active::after {
	background-color: var(--wp--preset--color--theme-02);
}

/* Ensure only single active pagination state */
body .home-gallery-section .splide__pagination {
	display: flex;
	gap: 12px !important;
	justify-content: center !important;
}

/* Limit to only 3 pagination dots (for 3 unique slides) */
body .home-gallery-section .splide__pagination li:nth-child(n+4),
body .home-gallery-section .splide__pagination__page:nth-child(n+4) {
	display: none;
}

/* Force only ONE active dot at a time - hide any subsequent active states */
.home-gallery-section .splide__pagination__page.is-active~.splide__pagination__page.is-active::after {
	background-color: transparent;
	/* REQUIRED: !important to override Splide plugin styles */
	border: 2px solid var(--wp--preset--color--theme-02) !important;
}

/* Ensure first active dot is always filled */
.home-gallery-section .splide__pagination__page.is-active:first-of-type::after {
	background-color: var(--wp--preset--color--theme-02);
}

/**
 * 8.2 Modal and Lightbox Controls
 */

/* Lightbox controls - close, prev, next buttons */
.gallery-lightbox .lightbox-close,
.gallery-lightbox .lightbox-prev,
.gallery-lightbox .lightbox-next,
.leadership-modal__close {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
}

/**
 * 8.3 Form Controls - Text Inputs, Select, Textarea
 */

/* Form inputs - minimum touch target height */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="date"],
select,
textarea {
	min-height: 44px;
	padding: 12px;
}

/**
 * 8.4 CTA Buttons - Site-Specific
 */

/* Home CTA buttons */
.home-cta-button .wp-block-button__link {
	min-height: 50px;
	min-width: 228px;
}

/* Job Fit button */
.job-fit-button,
.lifeguard-intro-section .wp-block-buttons .wp-block-button .wp-block-button__link.wp-element-button {
	min-height: 50px;
	min-width: 228px;
}

/* Careers CTA button - maintain existing sizing but ensure minimum */
.careers-lifeguard-cta-section .wp-block-buttons .wp-block-button.careers-cta-button .wp-block-button__link.wp-element-button {
	
}

/**
 * 8.5 Hero Navigation Buttons
 */

/* Become a Lifeguard buttons in hero navigation */
.hero-navigation-block-wrapper .wp-block-navigation>ul.wp-block-navigation__container>li.wp-block-navigation-item:last-child a,
.hero-navigation .wp-block-navigation__container>.wp-block-navigation-item:last-child a,
.hero-navigation .wp-block-navigation-item>a[href*="become-a-lifeguard"],
.hero-navigation .wp-block-navigation-item>a[href*="lifeguard"] {
	min-height: 44px;
	padding: 12px 20px !important;
}

/* Partner With Us button */
.wp-block-cover.is-hero .wp-block-button.is-style-subtle .wp-block-button__link,
.wp-block-cover.is-hero .wp-block-button.is-style-subtle .wp-block-button__link.wp-element-button,
.wp-block-cover.alignfull.is-hero .wp-block-button.is-style-subtle .wp-block-button__link,
.wp-block-cover.alignfull.is-hero a.wp-block-button__link[href*="partner-with-us"] {
	min-height: 44px;
	padding: 12px 0 10px;
	/* No horizontal padding so dotted underline only spans text width */
}

/* Yellow wave buttons */
.wp-block-cover.is-hero .wp-block-buttons .wp-block-button.is-style-outline.is-style-wave .wp-block-button__link.has-theme-04-background-color.has-background.wp-element-button,
.wp-block-cover.alignfull.is-hero .wp-block-button.is-style-wave .wp-block-button__link.has-theme-04-background-color,
.wp-block-cover.alignfull.is-hero .wp-block-button.is-style-outline .wp-block-button__link.has-background.has-theme-04-background-color,
a.wp-block-button__link.has-theme-04-background-color.has-background[href*="become-a-lifeguard"] {
	min-height: 44px;
	padding: 12px 20px !important;
}

/* Blue wave button */
.wp-block-button.is-style-outline.is-blue-wave .wp-block-button__link {
	min-height: 44px;
	min-width: 150px;
	padding: 12px 52px !important;
}

/**
 * 8.6 Accordion Controls
 */

/* Solutions accordion - ensure adequate touch target */
.solutions-accordion .accordion-item {
	min-height: 44px;
	padding: 22px 36px 22px 0;
}

/**
 * 8.7 Decorative Elements (Non-Interactive)
 */

/* Company timeline dots - decorative only, not interactive */
.company-timeline .timeline-dot {
	pointer-events: none;
}

/**
 * 8.8 Mobile-Specific Touch Target Enhancements
 * Slightly larger targets on mobile for improved thumb accuracy
 */
@media (max-width: 768px) {

	/* All buttons and links - 48px minimum on mobile */
	button,
	input[type="submit"],
	input[type="button"],
	input[type="reset"],
	.wp-block-button__link,
	a.wp-block-button__link,
	a.button,
	.wp-element-button {
		min-height: 48px;
		min-width: 48px;
		padding: 14px 28px;
	}

	/* Navigation links - 48px minimum */
	.wp-block-navigation-item__content,
	.wp-block-navigation-item a,
	.is-hero .wp-block-navigation-item__content,
	.hero-navigation .wp-block-navigation-item a,
	.hero-navigation-block-wrapper .wp-block-navigation-item a {
		min-height: 48px;
		min-width: 48px;
		padding: 14px 20px;
	}

	/* Carousel dots - 48px on mobile */
	.project-zero-carousel-dots .carousel-dot,
	.hero-carousel-dot,
	.home-hero-carousel-dots .carousel-dot,
	.job-fit-dot {
		min-width: 48px;
		min-height: 48px;
		width: 48px;
		height: 48px;
	}

	/* Form inputs - larger on mobile */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="url"],
	input[type="password"],
	input[type="search"],
	input[type="number"],
	input[type="date"],
	select,
	textarea {
		min-height: 48px;
		padding: 14px;
		font-size: 16px;
		/* Prevents iOS zoom on focus */
	}

	/* Lightbox controls - larger touch targets */
	.gallery-lightbox .lightbox-close,
	.gallery-lightbox .lightbox-prev,
	.gallery-lightbox .lightbox-next,
	.leadership-modal__close {
		min-width: 48px;
		min-height: 48px;
		width: 48px;
		height: 48px;
		padding: 12px;
	}

	/* CTA buttons - maintain width but increase height */
	.home-cta-button .wp-block-button__link,
	.job-fit-button,
	.lifeguard-intro-section .wp-block-buttons .wp-block-button .wp-block-button__link.wp-element-button {
		min-height: 52px;
		padding: 16px 28px !important;
	}

	/* Accordion - larger touch targets */
	.solutions-accordion .accordion-item {
		min-height: 48px;
		padding: 24px 40px 24px 0;
	}
}

/* Footer Styles */
/* Footer buttons container - 39px gap between Careers and Let's Connect */
body .footer-button-careers,
body .footer-button-connect {
	margin: 0 !important;
}

body .wp-block-buttons:has(.footer-button-careers) {
	gap: 39px !important;
}

/* Footer Careers button - outline style per Figma spec */
.footer-button-careers .wp-block-button__link,
body .footer-button-careers .wp-block-button__link {
	display: flex !important;
	width: 174px !important;
	/* Equal vertical padding for visual balance */
	padding: 10px 7px !important;
	justify-content: center !important;
	align-items: center !important;
	border-radius: 54px !important;
	border: 2px solid #1C8ECE !important;
	background-color: transparent !important;
	background-image: none !important;
	/* Remove all height restrictions */
	height: auto !important;
	min-height: unset !important;
	max-height: unset !important;
	/* Font styling per Figma */
	color: #ffffff !important;
	text-align: center !important;
	font-family: var(--wp--preset--font-family--sansation), sans-serif !important;
	font-size: 25px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-transform: capitalize !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	transition: border-color 0.3s ease, color 0.3s ease;
}

body .footer-button-careers .wp-block-button__link:hover {
	border-color: #FBD872 !important;
	color: #FBD872 !important;
	text-decoration: none !important;
	background-color: transparent !important;
}

/* Let's Connect button - water wave animation */
/* Use dark blue as actual background, light blue ::before for wave */
body .footer-button-connect .wp-block-button__link {
	position: relative !important;
	overflow: hidden !important;
	/* Dark blue as actual background */
	background-color: #1a4ea2 !important;
	background-image: none !important;
	color: #ffffff !important;
	/* Sizing per Figma - 212x51 with 12px top, 7px other padding */
	width: 212px !important;
	height: 51px !important;
	min-width: 212px !important;
	min-height: 51px !important;
	padding: 12px 7px 7px 7px !important;
	border: 2px solid #1C8ECE !important;
	border-radius: 100px !important;
	/* Font styling to match Careers */
	font-family: var(--wp--preset--font-family--sansation), sans-serif !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	text-transform: capitalize !important;
	text-align: center;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box;
	/* Create stacking context for transform */
	transform: translateZ(0);
}

/* Light blue wave overlay - z-index: -1 keeps it below text */
body .footer-button-connect .wp-block-button__link::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #1c8ece;
	border-radius: inherit;
	z-index: -1;
	pointer-events: none;
	/* Static wave shape - light blue shows at bottom, dark blue (background) shows at top */
	clip-path: polygon(
		0% 45%,
		16% 44%,
		33% 50%,
		54% 60%,
		70% 61%,
		84% 59%,
		100% 52%,
		100% 100%,
		0% 100%
	);
}

body .footer-button-connect .wp-block-button__link:hover::before {
	animation: water-wave 2s ease-in-out infinite;
}

body .footer-button-connect .wp-block-button__link:hover {
	color: #ffffff !important;
	text-decoration: none;
}

/* Footer links (ACCESSIBILITY, PRIVACY POLICY, TERMS OF USE) */
.has-theme-02-background-color a {
	color: #fbd872;
	text-decoration: none;
}

.has-theme-02-background-color a:hover {
	text-decoration: underline;
}

/* Footer container - position relative for absolute children */
.has-theme-02-background-color.has-background {
	position: relative;
}

/* Privacy Choices button */
.privacy-choices-button {
	position: absolute !important;
	bottom: -70px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	margin: 0 !important;
	width: 120% !important;
	max-width: 100vw !important;
}

body .privacy-choices-button .wp-block-button__link {
	display: inline-flex;
	padding: 16px 26px 16px 24px !important;
	justify-content: center !important;
	align-items: center !important;
	background: #fff;
	color: #4E4B48;
	border-radius: 0;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border: none;
	width: 100% !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
}

.privacy-choices-button .wp-block-button__link:hover {
	background-color: #f0f0f0;
}

/* Footer social links */
.wp-block-social-links.is-style-logos-only .wp-block-social-link {
	background-color: transparent;
}

.wp-block-social-links.is-style-logos-only .wp-block-social-link svg {
	width: 64px;
	height: 64px;
}

/* Home Services / Solutions Section - Prevent image clipping */
.solutions-section-cover .wp-block-columns {
	overflow: visible;
}

.solutions-card-new {
	overflow: hidden;
}

.solutions-card-new .wp-block-image {
	margin: 0;
	overflow: hidden;
}

.solutions-card-new .wp-block-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Ensure columns stay within container */
.solutions-section-cover .wp-block-column {
	overflow: hidden;
}

/* Responsive adjustments for Solutions Section */
@media (max-width: 1920px) {
	.solutions-section-cover>.wp-block-cover__inner-container>.wp-block-columns.alignwide {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (max-width: 1400px) {
	.solutions-section-cover .wp-block-column {
		max-width: 450px;
	}

	.solutions-card .wp-block-cover__inner-container {
		padding: 40px 60px !important;
	}
}

@media (max-width: 1024px) {
	.solutions-section-cover .wp-block-column {
		max-width: 100%;
	}

	.solutions-section-cover>.wp-block-cover__inner-container>.wp-block-columns.alignwide {
		flex-direction: column;
		align-items: center;
		gap: 40px;
	}
}

@media (max-width: 768px) {
	.solutions-section-cover {
		min-height: auto;
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.wp-block-cover.solutions-section-cover .wp-block-cover__inner-container h2.wp-block-heading {
		font-size: 36px;
		white-space: normal;
	}

	.solutions-card .wp-block-cover__inner-container {
		padding: 40px 30px !important;
	}

	.solutions-card {
		min-height: 500px !important;
	}
}

@media (max-width: 480px) {
	.solutions-card .wp-block-cover__inner-container {
		padding: 30px 20px !important;
	}
}

/* WordPress generated layout class - negative margin adjustment at 1920w viewport */
@media (min-width: 1920px) {
	.wp-container-core-buttons-is-layout-d445cf74 {
		margin-left: -20px;
	}

	/* Navigation buttons spacing at 1920w viewport */
	/* Page-default: standard 44px gap between navigation items and buttons */
	.wp-block-navigation:not(.hero-navigation *):not(.hero-navigation-block-wrapper *) .wp-block-navigation__container {
		gap: 44px;
	}

	.wp-container-core-buttons-is-layout-d445cf74 .wp-block-buttons {
		gap: 44px;
	}

	/* Solutions intro section - make columns 50/50 at 1920w */
	.has-texture-bg .wp-block-columns .wp-block-column {
		flex-basis: 50% !important;
		max-width: 50% !important;
	}

	/* About intro section - make columns 50/50 at 1920w - override inline styles */
	.has-theme-01-background-color .wp-block-columns .wp-block-column[style*="flex-basis:45%"],
	.has-theme-01-background-color .wp-block-columns .wp-block-column[style*="flex-basis:55%"] {
		flex-basis: 50% !important;
		max-width: 50% !important;
	}

	/* About project zero section - make columns 50/50 at 1920w - override inline styles */
	.project-zero-section .wp-block-columns .wp-block-column[style*="flex-basis:50%"] {
		flex-basis: 50% !important;
		max-width: 50% !important;
	}

	/* Fallback for any columns in these sections */
	.has-theme-01-background-color .wp-block-columns .wp-block-column,
	.project-zero-section .wp-block-columns .wp-block-column {
		flex-basis: 50% !important;
		max-width: 50% !important;
	}

	/* About project zero carousel - reset margin to align properly at 1920w */
	.project-zero-section .project-zero-carousel {
		margin-left: 0;
	}

	/* Operations safety carousel - reset margin to align properly at 1920w */
	.safety-section .project-zero-carousel {
		margin-left: 0;
	}

	/* Partner trusted staffing - make first column flush left at 1920w */
	.partner-trusted-staffing-section .wp-block-columns.alignwide {
		margin-left: 0 !important;
		margin-right: auto;
		max-width: calc(100% - 181px);
	}

	.partner-trusted-staffing-section .wp-block-columns.alignwide > .wp-block-column:first-child {
		margin-left: 0;
	}

	.partner-trusted-staffing-section .project-zero-carousel {
		position: relative;
		width: 952px;
		max-width: 100%;
		overflow: visible;
		margin-left: 0;
		margin-right: auto;
	}

	/* About timeline - contain heading and text container at 1920w */
	body .company-timeline-section .wp-block-columns.alignwide {
		max-width: 1440px;
		margin-left: auto;
		margin-right: auto;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 60px;
		margin-bottom: 60px;
	}

	.company-timeline-section .wp-block-column {
		width: 100%;
		flex-basis: auto;
	}

	/* About timeline - align timeline track with heading container at 1920w */
	body .company-timeline-section {
		--timeline-left-offset: calc((100vw - 1440px) / 2);
		display: block;
	}

	.company-timeline .timeline-track {
		padding-left: var(--timeline-left-offset);
	}

	.company-timeline .timeline-line {
		left: var(--timeline-left-offset);
	}
}
/* ============================================
   Careers Benefits 3 Column Pattern
   ============================================ */

/* Container - ensure proper block layout */
body .careers-benefits-3col-section.has-texture-bg {
	display: block;
}

/* Columns container - centered with proper constraints */
body .careers-benefits-3col-section .wp-block-columns,
body .careers-benefits-3col-section.has-texture-bg .wp-block-columns.alignwide {
	display: flex;
	flex-wrap: nowrap !important;
	justify-content: center !important;
	gap: 60px !important;
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
}

/* Each column - equal width, contained content */
.careers-benefits-3col-section .wp-block-column,
.careers-benefits-3col-section.has-texture-bg .wp-block-columns.alignwide > .wp-block-column {
	flex: 1 1 0 !important;
	max-width: 33.333% !important;
	min-width: 0 !important;
}

/* Text content - contained within columns */
.careers-benefits-3col-section .wp-block-column h3,
.careers-benefits-3col-section .wp-block-column p {
	max-width: 100% !important;
	overflow-wrap: break-word !important;
	word-wrap: break-word !important;
}

/* ============================================
   Responsive Typography Fixes - Mobile & Tablet
   ============================================ */

/* Tablet viewport (768px-992px) - Reduce H2/H3 to prevent 3+ line wrapping */
@media (max-width: 992px) {
	/* H2 headings - general reduction */
	h2.wp-block-heading,
	.wp-block-heading.has-sansation-font-family {
  /* REQUIRED: !important to override mobile responsive font scaling */
		font-size: clamp(32px, 4.5vw, 45px) !important;
  /* REQUIRED: !important to override mobile responsive font scaling */
		line-height: 1.2 !important;
	}

	/* H3 headings - benefits cards and other sections */
	h3.wp-block-heading,
	.careers-benefits-3col-section h3,
	.has-texture-bg h3 {
		font-size: clamp(24px, 3.5vw, 32px);
		line-height: 1.3;
	}

	/* Partner page heading - "40+ Years of Trusted Partnerships" */
	.has-texture-bg h1.wp-block-heading {
		font-size: clamp(32px, 5vw, 45px);
	}

	/* About page safety heading */
	.has-theme-02-background-color h2.wp-block-heading {
		font-size: clamp(28px, 4vw, 40px);
	}
}

/* Mobile viewport (below 768px) - Aggressive reduction for 4-line max */
@media (max-width: 768px) {
	/* H2 headings - mobile sizing */
	h2.wp-block-heading,
	.wp-block-heading.has-sansation-font-family,
	.has-texture-bg h2.wp-block-heading,
	.has-water-ripple-bg h2.wp-block-heading,
	.has-red-pattern-bg h2.wp-block-heading,
	.has-theme-02-background-color h2.wp-block-heading {
  /* REQUIRED: !important to override mobile responsive font scaling */
		font-size: clamp(24px, 5vw, 36px) !important;
  /* REQUIRED: !important to override mobile responsive font scaling */
		line-height: 1.2 !important;
		word-spacing: normal !important;
	}

	/* H3 headings - mobile sizing for cards */
	h3.wp-block-heading,
	.careers-benefits-3col-section h3,
	.has-texture-bg h3,
	.has-theme-07-background-color h3 {
		font-size: clamp(20px, 4vw, 28px);
		line-height: 1.25;
		word-spacing: normal !important;
	}

	/* Home mission section - "We combine the strength..." */
	.home-mission-section h2.wp-block-heading {
		font-size: clamp(24px, 5.5vw, 36px);
		line-height: 1.2;
	}

	/* Partner intro heading - reduce significantly */
	.has-texture-bg h1.wp-block-heading[style*="font-size"] {
		font-size: clamp(28px, 6vw, 40px);
		line-height: 1.15;
	}

	/* About safety heading - "OUR APPROACH TO SAFETY..." */
	.has-theme-02-background-color h2.wp-block-heading {
		font-size: clamp(22px, 5vw, 32px);
		line-height: 1.2;
	}

	/* Careers benefit cards - "Comprehensive Insurance" etc */
	.careers-benefits-3col-section .wp-block-column h3 {
		font-size: clamp(18px, 4.5vw, 24px);
		line-height: 1.3;
		hyphens: auto !important;
		-webkit-hyphens: auto !important;
	}
}

/* Small mobile (below 480px) - Further reduction */
@media (max-width: 480px) {
	/* All H2 headings - very aggressive reduction */
	h2.wp-block-heading,
	.has-texture-bg h2.wp-block-heading,
	.home-mission-section h2.wp-block-heading {
  /* REQUIRED: !important to override mobile responsive font scaling */
		font-size: clamp(20px, 6vw, 32px) !important;
  /* REQUIRED: !important to override mobile responsive font scaling */
		line-height: 1.15 !important;
  /* REQUIRED: !important to override mobile responsive font scaling */
		letter-spacing: -0.02em !important;
	}

	/* H3 headings - compact sizing */
	h3.wp-block-heading,
	.careers-benefits-3col-section h3,
	.has-texture-bg h3 {
		font-size: clamp(18px, 5vw, 24px);
		line-height: 1.25;
	}

	/* Benefit cards - enable hyphenation for long words */
	.careers-benefits-3col-section .wp-block-column h3 {
		font-size: clamp(16px, 5vw, 22px);
		hyphens: auto !important;
		-webkit-hyphens: auto !important;
		word-break: break-word !important;
	}

	/* Partner/About headings - max compression */
	.has-texture-bg h1.wp-block-heading,
	.has-theme-02-background-color h2.wp-block-heading {
		font-size: clamp(20px, 6.5vw, 32px);
		line-height: 1.1;
		letter-spacing: -0.02em;
	}
}

/* Extra small mobile (320px-375px) - Maximum compression */
@media (max-width: 375px) {
	/* Override existing rules with more aggressive sizing */
	h1.wp-block-heading,
	h2.wp-block-heading {
  /* REQUIRED: !important to override mobile responsive font scaling */
		font-size: clamp(18px, 7vw, 28px) !important;
  /* REQUIRED: !important to override mobile responsive font scaling */
		line-height: 1.1 !important;
  /* REQUIRED: !important to override mobile responsive font scaling */
		letter-spacing: -0.03em !important;
	}

	h3.wp-block-heading {
  /* REQUIRED: !important to override mobile responsive font scaling */
		font-size: clamp(16px, 6vw, 22px) !important;
		line-height: 1.2;
	}

	/* Careers benefit cards - smallest readable size */
	.careers-benefits-3col-section .wp-block-column h3 {
		font-size: clamp(15px, 5.5vw, 20px);
		line-height: 1.25;
	}

	/* Home mission paragraph */
	.home-mission-section p {
		font-size: clamp(14px, 4vw, 18px);
		line-height: 1.4;
	}
}

/**
 * 9.0 Column Stacking Override for Tablet Portrait (768px)
 *
 * WordPress core stacks columns below 782px by default.
 * At 768px (tablet portrait), most content should actually stack for readability.
 * Only specific 2-column layouts with images should remain side-by-side.
 *
 * NOTE: The audit flagging "unexpected column stacking" at 768px is expected behavior.
 * WordPress intentionally stacks columns below 782px for better mobile/tablet UX.
 * This is NOT a bug - it's a feature for responsive design.
 */
@media (min-width: 768px) and (max-width: 781px) {
	/* Keep image+text 2-column layouts side-by-side on tablets */
	.has-texture-bg > .wp-block-columns.alignwide:not(.has-3-columns),
	.operations-intro-section > .wp-block-columns,
	.partner-intro-section .wp-block-columns.alignwide {
		flex-wrap: nowrap !important;
	}

	/* Maintain proper column sizing for these specific layouts */
	.has-texture-bg > .wp-block-columns.alignwide:not(.has-3-columns) > .wp-block-column,
	.operations-intro-section > .wp-block-columns > .wp-block-column,
	.partner-intro-section .wp-block-columns.alignwide > .wp-block-column {
		flex-basis: 0 !important;
		flex-grow: 1 !important;
	}

	/* Let 3-column layouts stack naturally at 768px for better readability */
	.has-texture-bg .wp-block-columns.has-3-columns,
	.careers-benefits-section .wp-block-columns,
	.has-water-ripple-bg .wp-block-columns {
		flex-wrap: wrap !important;
	}
}

/**
 * 10.0 Markup.io Batch 1 Fixes
 * Tasks: #2, #3, #7, #11, #28, #29, #43
 */

/* Task #11 - Move eyebrow text closer to H1/H2 on interior pages */
/* Reduce gap between eyebrow paragraph and main heading in intro sections */
/* The eyebrow uses paragraph tags, not H3, in the rendered HTML */
.has-texture-bg .wp-block-column .wp-block-group > p.has-theme-06-color + h1,
.has-texture-bg .wp-block-column .wp-block-group > p.has-theme-06-color + h2,
.has-texture-bg .wp-block-column .wp-block-group > h3.has-theme-06-color + h1,
.has-texture-bg .wp-block-column .wp-block-group > h3.has-theme-06-color + h2 {
	margin-top: -12px;
}

/* Also target intro sections by class pattern */
[class*="-intro"] .wp-block-group > p + h1,
[class*="-intro"] .wp-block-group > p + h2,
[class*="-intro"] .wp-block-group > h3 + h1,
[class*="-intro"] .wp-block-group > h3 + h2 {
	margin-top: 10px;
}

/* Task #28 - Space out bullet flags on Lifeguard page */
/* Increase gap between flag icon and text content */
/* REQUIRED: !important to override inline blockGap styles from WordPress */
.has-summer-pattern-bg .lifeguard-love-grid .wp-block-column > .wp-block-group {
	gap: 24px !important;
}

/* Target the flex container holding flag icon and text */
.lifeguard-love-grid .wp-block-group[style*="flex"] {
	gap: 24px !important;
}

/* Fallback: add margin to flag icon */
.lifeguard-flag-icon {
	margin-right: 16px !important;
}

/* Task #29 - Remove bold from quad copy on Lifeguard page */
/* Ensure paragraph text in lifeguard-love section is not bold */
/* Matches the standard body copy weight used elsewhere on the site */
.lifeguard-love-grid .wp-block-column p.has-inter-font-family,
.has-summer-pattern-bg .lifeguard-love-grid p {
	font-weight: 400;
}

/**
 * 10.1 Markup.io Batch 2+ Fixes
 * Tasks: #11, #25, #41, #43
 */

/* Task #41 - Left align dividers in solutions cards */
/* Home Services / Operations Solutions - left align separators under card headings */
/* REQUIRED: !important needed to override WordPress core separator centering */
.solutions-card-new .wp-block-separator {
	margin-left: 188px !important;
	margin-right: auto !important;
	width: 231px !important;
}

/* "Read More" underline styling in solutions cards */
/* Move underline down 2px for better visual spacing */
.solutions-card-new p u,
.solutions-card-new p strong u {
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Solutions card cover images - use padding-bottom for aspect ratio */
.solutions-card-new .wp-block-cover.solutions-card-image {
	min-height: 0 !important;
	height: 0;
	padding-bottom: calc(645 / 617 * 100%); /* 617:645 aspect ratio */
	position: relative;
}

.solutions-card-new .wp-block-cover.solutions-card-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Hide the spacer inside the cover block inner container */
.solutions-card-new .wp-block-cover.solutions-card-image .wp-block-cover__inner-container {
	display: none;
}

/* Task #11 - Move "About Us" closer to H1 on interior pages */
/* Reduce gap between page label (h3) and main heading (h1) in intro sections */
.wp-block-group .wp-block-group h3.wp-block-heading + h1.wp-block-heading {
	margin-top: -16px;
}

/* Task #43 - Tighten underline spacing on Partner navigation link */
/* Reduce text-underline-offset from 10px to 6px for better visual balance */
.hero-navigation-block-wrapper .wp-block-navigation-item a[href*="partner"],
.hero-navigation .wp-block-navigation-item a[href*="partner"],
.wp-block-navigation-item a[href*="partner-with-us"] {
	text-underline-offset: 6px;
}

/* Partner With Us button - page-default template */
/* Removed extra margins - gap property handles spacing between nav items */
.site-header .desktop-navigation .wp-block-navigation-item a[href*="partner-with-us"],
.site-header .wp-block-navigation.desktop-navigation .wp-block-navigation-item a[href*="partner-with-us"],
.site-header .wp-block-navigation.desktop-navigation a[href*="partner-with-us"] {
	margin-left: 0;
	margin-right: 0;
}

.site-header .desktop-navigation .wp-block-navigation-item a[href*="partner-with-us"]:hover,
.site-header .wp-block-navigation.desktop-navigation .wp-block-navigation-item a[href*="partner-with-us"]:hover,
.site-header .wp-block-navigation.desktop-navigation a[href*="partner-with-us"]:hover {
	text-decoration: underline;
	text-decoration-color: #d22730;
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
	color: #f4f2ed;
}

/* Become A Lifeguard button - page-default template wave animation */
/* Target is-style-wave buttons in header navigation (non-hero pages) */
header.wp-block-template-part .wp-block-button.is-style-wave .wp-block-button__link,
header.wp-block-template-part .wp-block-button.is-style-wave a.wp-block-button__link[href*="lifeguard"] {
	position: relative !important;
	overflow: hidden !important;
	background-color: transparent !important;
	background-image: none !important;
	color: #1a4ea2 !important;
	border-radius: 43px !important;
	border: none !important;
	padding: 10px 20px !important;
	z-index: 1;
}

/* White base layer */
header.wp-block-template-part .wp-block-button.is-style-wave .wp-block-button__link::before,
header.wp-block-template-part .wp-block-button.is-style-wave a.wp-block-button__link[href*="lifeguard"]::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	border-radius: inherit;
	z-index: -2;
	pointer-events: none;
}

/* Yellow overlay with static wave shape */
header.wp-block-template-part .wp-block-button.is-style-wave .wp-block-button__link::after,
header.wp-block-template-part .wp-block-button.is-style-wave a.wp-block-button__link[href*="lifeguard"]::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fbd872;
	border-radius: inherit;
	z-index: -1;
	pointer-events: none;
	clip-path: polygon(
		0% 45%,
		16% 44%,
		33% 50%,
		54% 60%,
		70% 61%,
		84% 59%,
		100% 52%,
		100% 100%,
		0% 100%
	);
}

/* Wave animation on hover */
header.wp-block-template-part .wp-block-button.is-style-wave .wp-block-button__link:hover::after,
header.wp-block-template-part .wp-block-button.is-style-wave a.wp-block-button__link[href*="lifeguard"]:hover::after {
	animation: water-wave 2s ease-in-out infinite;
}

header.wp-block-template-part .wp-block-button.is-style-wave .wp-block-button__link:hover,
header.wp-block-template-part .wp-block-button.is-style-wave a.wp-block-button__link[href*="lifeguard"]:hover {
	color: #1a4ea2 !important;
	text-decoration: none;
	background-color: transparent !important;
}

/**
 * Gallery Carousel - Home page bottom carousel
 * Shows 3 images at a time with 5 per-image dot navigation
 */
.gallery-carousel {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.gallery-carousel-track {
	display: flex;
	gap: 32px;
	transition: transform 0.4s ease-out;
}

.gallery-carousel-slide {
	flex: 0 0 627px;
	min-width: 0;
}

.gallery-carousel-slide img {
	width: 627px;
	height: 491px;
	object-fit: cover;
	display: block;
	border-radius: 0;
}

.gallery-carousel-dots {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 32px;
}

.gallery-carousel-dot {
	min-width: 17px;
	min-height: 18px;
	width: 17px;
	height: 18px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background-color: transparent;
	border: none;
	cursor: pointer;
}

.gallery-carousel-dot::after {
	content: '';
	width: 17px;
	height: 18px;
	border-radius: 50%;
	background-color: transparent;
	border: 2px solid var(--wp--preset--color--theme-02, #1a4ea2);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: background-color 0.2s ease;
	pointer-events: none;
}

.gallery-carousel-dot:hover::after,
.gallery-carousel-dot.is-active::after {
	background-color: var(--wp--preset--color--theme-02, #1a4ea2);
}

/* Tablet: 2 slides */
@media (max-width: 1024px) {
	.gallery-carousel-track {
		gap: 24px;
	}

	.gallery-carousel-slide {
		flex: 0 0 calc((100% - 24px) / 2); /* 2 slides with 1 gap */
	}

	.gallery-carousel-slide img {
		width: 100%;
		height: auto;
		aspect-ratio: 627 / 491;
	}
}

/* Mobile: 1 slide */
@media (max-width: 768px) {
	.gallery-carousel-track {
		gap: 16px;
	}

	.gallery-carousel-slide {
		flex: 0 0 100%;
	}

	.gallery-carousel-slide img {
		width: 100%;
		height: auto;
		aspect-ratio: 627 / 491;
	}
}

/**
 * Footer Styling
 * - 10px gap between icons
 * - Privacy choices button positioning
 */

/* Footer award icons - 10px gap */
.wp-block-group:has(.wp-block-image[style*="width:100px"]) {
	gap: 44px;
}

/* Footer social icons - 10px gap */
.wp-block-social-links {
	gap: 44px;
}

/* Privacy choices button - absolute positioning */
.privacy-choices-button {
	position: absolute !important;
	bottom: -56px !important;
}

/* Ensure parent has relative positioning for absolute child */
.wp-block-group:has(.privacy-choices-button) {
	position: relative;
}

/**
 * Partner Value Section - Uppercase Headings
 * Per Figma design, headings in this section should be uppercase
 */
.is-style-type-style-headline-medium {
	text-transform: uppercase;
}

/**
 * Solutions Trusted Partners Section
 */
.trusted-partners-section h2.wp-block-heading {
	font-family: var(--wp--preset--font-family--sansation), Sansation, sans-serif;
	margin-bottom: 0;
}

.trusted-partners-section .wp-block-separator,
.trusted-partners-separator {
	width: 224px;
	height: 3px;
	border: none;
	margin: 0 auto var(--wp--preset--spacing--50);
	background: #1C8ECE;
}

/**
 * Service Areas Map - Stats Overlay (page-id-17 only)
 * Position the stats box over the map image
 */
.page-id-17 .has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color)) > .wp-block-columns > .wp-block-column:first-child {
	position: absolute !important;
	left: 200px !important;
	top: 120px !important;
	bottom: auto !important;
	width: auto !important;
	max-width: 500px;
	z-index: 10;
}

.page-id-17 .has-water-ripple-bg:has(.has-theme-02-background-color):not(:has(.has-theme-07-background-color)) > .wp-block-columns {
	position: relative;
}

/**
 * Careers Leadership Section - Separator styling
 * Remove float and set exact dimensions: 224x2px #1C8ECE
 */
.careers-leadership-separator.wp-block-separator.alignleft {
	float: none !important;
	width: 224px !important;
	height: 2px !important;
	min-height: 2px !important;
	border: none;
	background-color: #1C8ECE;
}


/**
 * Hero Navigation - 68px gap (Figma spec)
 * Override all WordPress navigation gap rules
 */
.hero-navigation .hero-nav-cloned.wp-block-navigation__container.wp-block-navigation {
	gap: 44px;
}

/* Responsive hero-nav-cloned gap overrides */
@media (max-width: 1850px) {
	.hero-navigation .hero-nav-cloned.wp-block-navigation__container.wp-block-navigation {
		gap: 44px !important;
	}
}

@media (max-width: 1700px) {
	.hero-navigation .hero-nav-cloned.wp-block-navigation__container.wp-block-navigation {
		gap: 44px !important;
	}
}

@media (max-width: 1550px) {
	.hero-navigation .hero-nav-cloned.wp-block-navigation__container.wp-block-navigation {
		gap: 44px !important;
	}
}

@media (max-width: 1440px) {
	.hero-navigation .hero-nav-cloned.wp-block-navigation__container.wp-block-navigation {
		gap: 44px !important;
	}
}

/**
 * Leadership Team - Square Images (444x444 per Figma)
 */
.leadership-cards .team-member-card__photo-wrapper {
	max-width: 444px;
	max-height: 444px;
	margin: 0 auto;
}

/**
 * Team Member Modal - Figma Design Override
 * Layout: Image left (506x622), content right, close X button
 */
.team-member-modal__container {
	max-width: 1468px;
	border-radius: 0;
	background: #fff url('/wp-content/uploads/2025/12/water-ripple-bg-element.png') center / cover no-repeat;
	background-blend-mode: overlay;
}

.team-member-modal__content {
	position: relative;
}

@media (min-width: 768px) {
	.team-member-modal__photo-wrapper {
		width: 506px;
		min-height: 622px;
		flex-shrink: 0;
	}
}

.team-member-modal__close {
	background: transparent;
	border-radius: 0;
	right: 40px;
	top: 40px;
	width: auto;
	height: auto;
}

.team-member-modal__close:hover {
	transform: none;
	opacity: 0.7;
}

.team-member-modal__close svg {
	width: 34px;
	height: 34px;
	stroke: var(--wp--preset--color--theme-02);
	stroke-width: 2;
}

.team-member-modal__name {
	font-size: 40px;
	line-height: 60px;
	letter-spacing: 1.2px;
}

.team-member-modal__title {
	color: var(--wp--preset--color--theme-02);
	font-weight: 700;
	font-size: 20px;
	line-height: 30px;
}

.team-member-modal__bio {
	color: #4E4B48;
	font-size: 20px;
	line-height: 30px;
}

/* Years of Service Badge - Figma exact styling */
.team-member-modal__badge {
	background: var(--wp--preset--color--theme-02);
	border-radius: 0;
	width: 135px;
	height: 121px;
	bottom: auto;
	top: calc(622px - 121px + 20px);
	right: auto;
	left: calc(506px - 135px / 2);
	box-shadow: none;
}

.team-member-modal__badge-inner {
	border: 2px solid #fff;
	width: 116px;
	height: 103px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 6px;
}

.team-member-modal__badge-number {
	font-size: 50px;
	line-height: 53px;
	letter-spacing: 1.5px;
}

.team-member-modal__badge-text {
	font-size: 16px;
	line-height: 22px;
	font-weight: 500;
}

@media (min-width: 768px) {
	.team-member-modal__info {
		padding: 72px 56px 60px 90px;
	}
}

/**
 * Contact Section - Form Name Fields Grid Layout
 * Applies to operations, partner, and contact sections
 */
.operations-contact-section .gform_wrapper .gfield--type-name .ginput_container_name,
.partner-contact-section .gform_wrapper .gfield--type-name .ginput_container_name,
.contact-contact-section .gform_wrapper .gfield--type-name .ginput_container_name,
.contact-hero-form-section .gform_wrapper .gfield--type-name .ginput_container_name {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 38px !important;
}

/**
 * Solutions Read More Links
 */
.solutions-read-more {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-top: 3px;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.solutions-read-more:hover {
	color: #1A4EA2;
	text-decoration: none;
	border-bottom-color: #1A4EA2;
}

/* Operations Map - Content absolute left */
.single-operations .operations-map-section {
	position: relative;
	min-height: 800px;
	padding: 80px 0;
	overflow: visible;
}

.single-operations .operations-map-section .operations-map-content {
	position: absolute;
	top: 80px;
	left: 80px;
	z-index: 10;
	max-width: 400px;
}

.single-operations .operations-map-section .operations-map-image {
	display: flex;
	justify-content: center;
	margin: 0 auto;
	max-width: 1200px;
}

.single-operations .operations-map-section .operations-map-image img {
	max-width: 100%;
	height: auto;
}

/* Operations Intro - Remove max-width and adjust text spacing */
.operations-intro-section.has-texture-bg .wp-block-group.alignwide > .wp-block-columns.alignwide,
.operations-intro-section.has-water-ripple-bg .wp-block-group.alignwide > .wp-block-columns.alignwide {
	max-width: none;
}

.operations-intro-section .wp-block-columns > .wp-block-column:last-child {
	margin-left: 188px;
	padding-right: 15%;
}

/* Operations Intro - Image column fixes (high specificity) */
.single-operations .operations-intro-section .wp-block-group.alignwide > .wp-block-columns.alignwide.has-2-columns > .wp-block-column:first-child {
	margin-left: 0 !important;
}

.single-operations .operations-intro-section .wp-block-group.alignwide > .wp-block-columns.alignwide.has-2-columns > .wp-block-column:first-child img {
	max-width: 859px !important;
}

/* Operations Intro - Image column with exact class targeting */
.operations-intro-section .wp-block-columns.alignwide.are-vertically-aligned-center.has-2-columns > .wp-block-column:first-child {
	margin-left: 0 !important;
}

.operations-intro-section .wp-block-image.size-large.has-offset-pool-bg,
.operations-intro-section .wp-block-image.size-large.has-offset-pool-bg img {
	max-width: 859px !important;
}

/* Override margin-left for operations intro image column */
.single-operations .operations-intro-section .is-layout-constrained > .wp-block-columns:where(:not(.alignleft):not(.alignright):not(.alignfull)) > .wp-block-column:first-child {
	margin-left: 0 !important;
}

body.single-operations .operations-intro-section .wp-block-column:first-child .wp-block-image.has-offset-pool-bg {
	margin-left: 0 !important;
	max-width: 859px !important;
}

body.single-operations .operations-intro-section .wp-block-column:first-child .wp-block-image.has-offset-pool-bg img {
	max-width: 859px !important;
}

/* CRITICAL: Override for operations intro - image column NO margin */
body.single-operations .operations-intro-section .is-layout-constrained > .wp-block-columns.alignwide {
	margin-left: 0 !important;
}

body.single-operations .operations-intro-section .wp-block-columns.alignwide > .wp-block-column:first-child,
body.single-operations .operations-intro-section .wp-block-columns.alignwide > .wp-block-column:first-child > * {
	margin-left: 0 !important;
}

body.single-operations .operations-intro-section .wp-block-image.has-offset-pool-bg,
body.single-operations .operations-intro-section .wp-block-image.has-offset-pool-bg img {
	margin-left: 0 !important;
	max-width: 859px !important;
}

/* Operations Location Title - Magenta */
.operations-location-title {
	color: #E0F;
	font-family: Sansation, sans-serif;
	font-size: 50px;
	font-style: normal;
	font-weight: 700;
	line-height: 60px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	display: block;
}

/* Operations Map Section - Text alignment and separator */
.single-operations .operations-map-section .operations-map-content {
	max-width: 590px !important;
}

.single-operations .operations-map-section .operations-map-content .wp-block-heading,
.single-operations .operations-map-section .operations-map-content p {
	text-align: left !important;
}

.single-operations .operations-map-section .operations-map-content .wp-block-separator {
	width: 224px !important;
	height: 2px !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	margin-bottom: 38px !important;
}

/* Operations Map Section - Desktop padding */
@media (min-width: 1024px) {
	.single-operations .operations-map-section {
		padding-bottom: 319px !important;
	}
}

/* Operations Leadership Section - Separator */
.single-operations .operations-leadership-section .wp-block-separator,
.operations-leadership-section .wp-block-separator {
	width: 224px !important;
	height: 2px !important;
	margin-bottom: 59px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Operations Contact Section - Separator left aligned */
.single-operations .operations-contact-section .wp-block-separator,
.operations-contact-section .wp-block-separator {
	margin-left: 0 !important;
	margin-right: auto !important;
}

/* Operations Contact Section - 60/40 column override */
@media (min-width: 1920px) {
	.operations-contact-section.has-theme-01-background-color .wp-block-columns .wp-block-column:first-child {
		flex-basis: 60% !important;
		max-width: 60% !important;
	}
	
	.operations-contact-section.has-theme-01-background-color .wp-block-columns .wp-block-column:last-child {
		flex-basis: 40% !important;
		max-width: 40% !important;
	}
}

/* Operations/Partner Contact Section - Paragraph margins */
.operations-contact-section .wp-block-group > p,
.partner-contact-section .wp-block-group > p {
	margin-bottom: 20px !important;
	margin-right: 0 !important;
}

/* Operations/Partner Contact Section - First column padding and height */
.has-droplet-bg:has(.partner-contact-image-column) .wp-block-column:first-child,
.has-droplet-bg:has(.contact-image-column) .wp-block-column:first-child,
.operations-contact-section .wp-block-column:first-child,
.partner-contact-section .wp-block-column:first-child {
    padding-top: 50px !important;
    padding-bottom: 90px !important;
    overflow-y: visible;
    max-height: 932px;
}

/* Our Solutions - Card separators left aligned */
.solutions-card-new .wp-block-separator {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Operations map content - desktop only */
@media (min-width: 1200px) {
    .wp-container-core-group-is-layout-ccfcd18d > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
        max-width: 810px;
        margin-left: 0 !important;
        margin-right: auto !important;
    }
}

/* Texture bg columns - desktop only */
@media (min-width: 1200px) {
    .has-texture-bg .wp-block-columns.alignwide:not(.has-3-columns)>.wp-block-column:first-child {
        margin-left: 0;
        padding-left: 0;
    }
}

@media (min-width: 1024px) {
    body.page-id-21 .has-offset-pool-bg::before {
        content: '';
        position: absolute;
        right: 70px;
        bottom: -29px;
        width: 100%;
        height: 100%;
        background: url(/wp-content/uploads/2025/12/pool-bg.png) center / cover no-repeat;
        z-index: 0;
    }
}

/* Partner intro section - separator styling */
.partner-intro-section .wp-block-separator {
    margin-left: 0 !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    margin-bottom: 40px !important;
}

/* Fix: Show navigation in standard header (has-theme-02-background-color) at all desktop sizes */
/* This overrides the 1700px hide rule which was intended for hero navigation only */
@media (min-width: 1024px) {
	.has-theme-02-background-color .wp-block-navigation {
		display: flex !important;
	}
	.has-theme-02-background-color .wp-block-navigation__container {
		display: flex !important;
		flex-wrap: nowrap;
	}
}

/* Fix: Button hover state for theme-01-color + theme-02-background buttons */
/* REQUIRED: !important to override existing !important rules on .has-theme-02-background-color and .has-theme-01-color */
.wp-block-button__link.has-theme-01-color.has-theme-02-background-color:hover,
a.wp-block-button__link.has-theme-01-color.has-theme-02-background-color:hover {
	background-color: var(--wp--preset--color--theme-04) !important;
	color: var(--wp--preset--color--theme-02) !important;
}

/* Solutions READ MORE links - dark blue on hover */
.solutions-read-more,
.solutions-card-new a[href*="our-solutions"] {
	color: inherit;
	text-decoration: inherit;
}
.solutions-read-more:hover,
.solutions-card-new a[href*="our-solutions"]:hover {
	color: var(--wp--preset--color--theme-02) !important;
}

/* Service Areas READ MORE button hover - same as intro section */
/* REQUIRED: !important to override inline background-color */
.service-areas-intro-section .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--theme-04) !important;
	color: var(--wp--preset--color--theme-02) !important;
}

/* Home Dual CTA buttons - swap hover/non-hover states */
/* Non-hover: yellow background, dark blue text */
/* REQUIRED: !important to override inline and class-based styles */
.home-cta-button .wp-block-button__link {
	background-color: var(--wp--preset--color--white) !important;
	color: var(--wp--preset--color--theme-02) !important;
}
/* Hover: white background, dark blue text */
.home-cta-button .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--white) !important;
	color: var(--wp--preset--color--theme-02) !important;
}
