.wp-block-quote {
    border-color: var(--wp--preset--color--primary);
    padding-top: 20px;
    padding-bottom: 20px;
    box-shadow: var(--wp--preset--shadow--primary-shadow);
    padding-right: 20px;
    padding-left: 40px;
}
.small-titles {
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0;
    background: var(--wp--preset--gradient--primary-gradient);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
    display: inline-block;
    white-space: inherit !important;
}
.small-titles::after {
    content: ' ';
    display: block;
    border-top: 7px solid var(--wp--preset--color--primary);
    width: 100%;
    position: absolute;
    bottom: 5px;
    opacity: 0.3;
}
.wp-block-heading.intro-title {
    font-size: 30px;
    margin-top: 5px;
    line-height: 44px;
}
.wp-block-heading.intro-title.medium-title {
    max-width: 500px;
}
.wp-shadowbg{
	box-shadow: var(--wp--preset--shadow--primary-shadow);
}

/* ============================================
   BACKGROUND IMAGE WITH OVERLAY
   ============================================ */

.wp-block-columns.has-bg-image,
.wp-block-column.has-bg-image {
	position: relative;
	background-attachment: scroll;
	z-index: 1;
}

/* Background Image Blur - uses ::after pseudo-element with filter: blur() */
.wp-block-columns.has-bg-image.has-bg-blur,
.wp-block-column.has-bg-image.has-bg-blur {
	overflow: hidden;
	background-image: none !important;
}

.wp-block-columns.has-bg-image.has-bg-blur::after,
.wp-block-column.has-bg-image.has-bg-blur::after {
	content: '';
	position: absolute;
	top: calc(-1 * var(--bg-blur-extend, 0px));
	left: calc(-1 * var(--bg-blur-extend, 0px));
	right: calc(-1 * var(--bg-blur-extend, 0px));
	bottom: calc(-1 * var(--bg-blur-extend, 0px));
	background-image: var(--bg-image);
	background-position: var(--bg-position, center center);
	background-size: var(--bg-size, cover);
	background-repeat: var(--bg-repeat, no-repeat);
	filter: blur(var(--bg-blur, 0px));
	-webkit-filter: blur(var(--bg-blur, 0px));
	z-index: 0;
	pointer-events: none;
}

.wp-block-columns.has-bg-blur > *,
.wp-block-column.has-bg-blur > * {
	position: relative;
	z-index: 2;
}

/* Overlay container - must have position relative */
.wp-block-columns.has-overlay,
.wp-block-column.has-overlay {
	position: relative;
}

/* Overlay pseudo-element */
.wp-block-columns.has-overlay::before,
.wp-block-column.has-overlay::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--overlay-background, rgba(0,0,0,0.5));
	z-index: 1;
	pointer-events: none;
	border-radius: inherit;
}

/* Backdrop Blur (Glassmorphism) */
.wp-block-columns.has-backdrop-blur,
.wp-block-column.has-backdrop-blur {
	position: relative;
	overflow: hidden;
}

.wp-block-columns.has-backdrop-blur::before,
.wp-block-column.has-backdrop-blur::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	backdrop-filter: blur(var(--backdrop-blur, 0px));
	-webkit-backdrop-filter: blur(var(--backdrop-blur, 0px));
	z-index: 1;
	pointer-events: none;
	border-radius: inherit;
}

/* When both overlay and backdrop blur are used */
.wp-block-columns.has-overlay.has-backdrop-blur::before,
.wp-block-column.has-overlay.has-backdrop-blur::before {
	background: var(--overlay-background, rgba(0,0,0,0.5));
	backdrop-filter: blur(var(--backdrop-blur, 0px));
	-webkit-backdrop-filter: blur(var(--backdrop-blur, 0px));
}

/* Ensure content stays above overlay and blur */
.wp-block-columns.has-overlay > *,
.wp-block-column.has-overlay > * {
	position: relative;
	z-index: 2;
}

/* Parallax Effect */
.wp-block-columns.has-parallax,
.wp-block-column.has-parallax {
	background-attachment: fixed;
	background-position: center center;
}

/* Disable parallax on mobile for performance */
@media (max-width: 991px) {
	.wp-block-columns.has-parallax,
	.wp-block-column.has-parallax {
		background-attachment: scroll;
	}
}

/* Editor preview for overlay */
.editor-styles-wrapper .wp-block-columns.has-overlay,
.editor-styles-wrapper .wp-block-column.has-overlay {
	position: relative;
}

.editor-styles-wrapper .wp-block-columns.has-overlay::before,
.editor-styles-wrapper .wp-block-column.has-overlay::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--overlay-background, rgba(0,0,0,0.5));
	z-index: 1;
	pointer-events: none;
	border-radius: inherit;
}

.editor-styles-wrapper .wp-block-columns.has-overlay > *,
.editor-styles-wrapper .wp-block-column.has-overlay > * {
	position: relative;
	z-index: 2;
}

/* Editor preview for backdrop blur */
.editor-styles-wrapper .wp-block-columns.has-backdrop-blur,
.editor-styles-wrapper .wp-block-column.has-backdrop-blur {
	position: relative;
	overflow: hidden;
}

.editor-styles-wrapper .wp-block-columns.has-backdrop-blur::before,
.editor-styles-wrapper .wp-block-column.has-backdrop-blur::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	backdrop-filter: blur(var(--backdrop-blur, 0px));
	-webkit-backdrop-filter: blur(var(--backdrop-blur, 0px));
	z-index: 1;
	pointer-events: none;
	border-radius: inherit;
}

.editor-styles-wrapper .wp-block-columns.has-overlay.has-backdrop-blur::before,
.editor-styles-wrapper .wp-block-column.has-overlay.has-backdrop-blur::before {
	background: var(--overlay-background, rgba(0,0,0,0.5));
	backdrop-filter: blur(var(--backdrop-blur, 0px));
	-webkit-backdrop-filter: blur(var(--backdrop-blur, 0px));
}

/* ============================================
   VERTICAL ALIGNMENT FOR COLUMNS
   ============================================ */

/* Apply to both columns container and individual column */
.wp-block-columns.do-valign-top,
.wp-block-column.do-valign-top {
	align-items: flex-start;
	justify-content: flex-start;
}

.wp-block-columns.do-valign-center,
.wp-block-column.do-valign-center {
	align-items: center;
	justify-content: center;
}

.wp-block-columns.do-valign-bottom,
.wp-block-column.do-valign-bottom {
	align-items: flex-end;
	justify-content: flex-end;
}

.wp-block-columns.do-valign-space-between,
.wp-block-column.do-valign-space-between {
	align-content: space-between;
	justify-content: space-between;
}

.wp-block-columns.do-valign-space-around,
.wp-block-column.do-valign-space-around {
	align-content: space-around;
	justify-content: space-around;
}

.wp-block-columns.do-valign-space-evenly,
.wp-block-column.do-valign-space-evenly {
	align-content: space-evenly;
	justify-content: space-evenly;
}

/* Ensure column content is vertically aligned */
.wp-block-column.do-valign-top,
.wp-block-column.do-valign-center,
.wp-block-column.do-valign-bottom,
.wp-block-column.do-valign-space-between,
.wp-block-column.do-valign-space-around,
.wp-block-column.do-valign-space-evenly {
	display: flex;
	flex-direction: column;
}

/* ============================================
   MOBILE TYPOGRAPHY FOR PARAGRAPHS
   ============================================ */

@media (max-width: 767px) {
	/* Mobile Font Size for Paragraphs */
	p.has-mobile-typography {
		font-size: var(--mobile-font-size) !important;
		line-height: var(--mobile-line-height, inherit) !important;
	}
}

/* ============================================
   MOBILE SETTINGS FOR COLUMNS
   ============================================ */

@media (max-width: 767px) {
	/* Mobile Padding - using !important to override theme styles */
	.wp-block-columns.has-mobile-settings,
	.wp-block-column.has-mobile-settings,
	.wp-block-group.has-mobile-settings {
		padding-top: var(--mobile-padding-top, 0) !important;
		padding-bottom: var(--mobile-padding-bottom, 0) !important;
		padding-left: var(--mobile-padding-left, 0) !important;
		padding-right: var(--mobile-padding-right, 0) !important;
		margin-top: var(--mobile-margin-top, 0) !important;
		margin-bottom: var(--mobile-margin-bottom, 0) !important;
		margin-left: var(--mobile-margin-left, 0) !important;
		margin-right: var(--mobile-margin-right, 0) !important;
	}

	/* Mobile Background Color */
	.wp-block-columns.has-mobile-settings[style*="--mobile-background-color"],
	.wp-block-column.has-mobile-settings[style*="--mobile-background-color"],
	.wp-block-group.has-mobile-settings[style*="--mobile-background-color"] {
		background-color: var(--mobile-background-color) !important;
	}

	/* Disable plugin mobile settings on the top-level header group block */
	/* Header has its own mobile settings via the theme */
	header > .wp-block-group.has-mobile-settings {
		padding-top: unset !important;
		padding-bottom: unset !important;
		padding-left: unset !important;
		padding-right: unset !important;
		margin-top: unset !important;
		margin-bottom: unset !important;
		margin-left: unset !important;
		margin-right: unset !important;
	}

	header > .wp-block-group.has-mobile-settings[style*="--mobile-background-color"] {
		background-color: unset !important;
	}

	/* Mobile Vertical Alignment */
	.wp-block-columns.do-mobile-valign-top,
	.wp-block-column.do-mobile-valign-top {
		align-items: flex-start !important;
		justify-content: flex-start !important;
	}

	.wp-block-columns.do-mobile-valign-center,
	.wp-block-column.do-mobile-valign-center {
		align-items: center !important;
		justify-content: center !important;
	}

	.wp-block-columns.do-mobile-valign-bottom,
	.wp-block-column.do-mobile-valign-bottom {
		align-items: flex-end !important;
		justify-content: flex-end !important;
	}

	/* Mobile Horizontal Alignment */
	.wp-block-columns.do-mobile-halign-left,
	.wp-block-column.do-mobile-halign-left {
		text-align: left !important;
	}

	.wp-block-columns.do-mobile-halign-left > * {
		margin-left: 0 !important;
		margin-right: auto !important;
	}

	.wp-block-column.do-mobile-halign-left {
		align-items: flex-start !important;
	}

	.wp-block-columns.do-mobile-halign-center,
	.wp-block-column.do-mobile-halign-center {
		text-align: center !important;
	}

	.wp-block-columns.do-mobile-halign-center > * {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.wp-block-column.do-mobile-halign-center {
		align-items: center !important;
	}

	.wp-block-columns.do-mobile-halign-right,
	.wp-block-column.do-mobile-halign-right {
		text-align: right !important;
	}

	.wp-block-columns.do-mobile-halign-right > * {
		margin-left: auto !important;
		margin-right: 0 !important;
	}

	.wp-block-column.do-mobile-halign-right {
		align-items: flex-end !important;
	}

	/* Ensure mobile aligned columns use flex */
	.wp-block-column.do-mobile-valign-top,
	.wp-block-column.do-mobile-valign-center,
	.wp-block-column.do-mobile-valign-bottom,
	.wp-block-column.do-mobile-halign-left,
	.wp-block-column.do-mobile-halign-center,
	.wp-block-column.do-mobile-halign-right {
		display: flex;
		flex-direction: column;
	}
}

/* ============================================
   ANIMATION SYSTEM
   ============================================ */

/* Animation variables */
.do-animate {
	--animation-delay: 0s;
	--animation-duration: 0.6s;
	opacity: 0;
	animation-fill-mode: both;
	animation-delay: var(--animation-delay);
	animation-duration: var(--animation-duration);
	animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Trigger animation when in view */
.do-animate.do-animate-active {
	animation-play-state: running;
}

/* Fade In */
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.do-animate-fade-in.do-animate-active {
	animation-name: fadeIn;
}

/* Fade In Up */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translate3d(0, 40px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
.do-animate-fade-in-up.do-animate-active {
	animation-name: fadeInUp;
}

/* Fade In Down */
@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translate3d(0, -40px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
.do-animate-fade-in-down.do-animate-active {
	animation-name: fadeInDown;
}

/* Fade In Left */
@keyframes fadeInLeft {
	from {
		opacity: 0;
		transform: translate3d(-40px, 0, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
.do-animate-fade-in-left.do-animate-active {
	animation-name: fadeInLeft;
}

/* Fade In Right */
@keyframes fadeInRight {
	from {
		opacity: 0;
		transform: translate3d(40px, 0, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
.do-animate-fade-in-right.do-animate-active {
	animation-name: fadeInRight;
}

/* Slide In Up */
@keyframes slideInUp {
	from {
		opacity: 0;
		transform: translate3d(0, 80px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
.do-animate-slide-in-up.do-animate-active {
	animation-name: slideInUp;
	animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Slide In Down */
@keyframes slideInDown {
	from {
		opacity: 0;
		transform: translate3d(0, -80px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
.do-animate-slide-in-down.do-animate-active {
	animation-name: slideInDown;
	animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Slide In Left */
@keyframes slideInLeft {
	from {
		opacity: 0;
		transform: translate3d(-80px, 0, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
.do-animate-slide-in-left.do-animate-active {
	animation-name: slideInLeft;
	animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Slide In Right */
@keyframes slideInRight {
	from {
		opacity: 0;
		transform: translate3d(80px, 0, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
.do-animate-slide-in-right.do-animate-active {
	animation-name: slideInRight;
	animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Scale Up */
@keyframes scaleUp {
	from {
		opacity: 0;
		transform: scale(0.8);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}
.do-animate-scale-up.do-animate-active {
	animation-name: scaleUp;
	animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Scale Down */
@keyframes scaleDown {
	from {
		opacity: 0;
		transform: scale(1.2);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}
.do-animate-scale-down.do-animate-active {
	animation-name: scaleDown;
}

/* Rotate In */
@keyframes rotateIn {
	from {
		opacity: 0;
		transform: rotate(-180deg) scale(0.8);
	}
	to {
		opacity: 1;
		transform: rotate(0deg) scale(1);
	}
}
.do-animate-rotate-in.do-animate-active {
	animation-name: rotateIn;
	animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Flip In X */
@keyframes flipInX {
	from {
		opacity: 0;
		transform: perspective(400px) rotateX(-90deg);
	}
	to {
		opacity: 1;
		transform: perspective(400px) rotateX(0deg);
	}
}
.do-animate-flip-in-x.do-animate-active {
	animation-name: flipInX;
	animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Flip In Y */
@keyframes flipInY {
	from {
		opacity: 0;
		transform: perspective(400px) rotateY(-90deg);
	}
	to {
		opacity: 1;
		transform: perspective(400px) rotateY(0deg);
	}
}
.do-animate-flip-in-y.do-animate-active {
	animation-name: flipInY;
	animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Disable animations in editor for better UX */
.editor-styles-wrapper .do-animate {
	opacity: 1 !important;
	animation: none !important;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
	.do-animate {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

@media (min-width: 1200px) and (max-width: 1360px) {
    
}

@media (min-width: 800px) and (max-width: 1370px) and (orientation: landscape) {
    span.inline-tagline {
		font-size: 17px !important;
		margin-right: 0px !important;
		margin-bottom: 20px !important;
		display: block;
	}
}
@media (min-width: 800px) and (max-width: 1370px) and (orientation: portrait) {
	span.inline-tagline {
		font-size: 17px !important;
		margin-right: 0px !important;
		margin-bottom: 20px !important;
		display: block;
	}
}

@media (max-width: 767px) {
	/* ============================================
	   MOBILE TYPOGRAPHY AND LAYOUT
	   ============================================ */
	.wp-block-heading.intro-title {
		font-size: 21px;
		line-height: normal;
	}
	.small-titles {
		font-size: 17px;
    }
	.wp-block-columns > .wp-block-column {
		max-width: 100% !important;
	}
	span.inline-tagline {
		font-size: 18px;
		top: 2px;
		display: block;
		margin-bottom: 20px;
	}
	.wp-block-columns.benefit-boxes > .wp-block-column {
		padding: 0;
		margin-bottom: 25px;
	}
	.wp-block-columns > .wp-block-column p.medium-para {
		font-size: 17px !important;
	}
}