/**
 * Prachi Clinic — SEO, accessibility, hero-pro banner
 * Flat scrim on slide image; content in a glass card. Animations in CSS only (no WOW on hero).
 */

:root {
	--brand-purple: #6a2d91;
	--brand-purple-deep: #4a1f66;
	--brand-teal: #04ada0;
	--brand-teal-bright: #17a2b8;
	--brand-ui-gradient: linear-gradient(120deg, var(--brand-purple) 0%, var(--brand-teal-bright) 48%, var(--brand-teal) 100%);
}

.skip-link {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 100000;
	padding: 0.75rem 1.25rem;
	background: var(--brand-teal);
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
	transform: translateY(-120%);
	transition: transform 0.2s ease;
	border-radius: 0 0 8px 0;
}

.skip-link:focus {
	transform: translateY(0);
	outline: 3px solid #fff;
	outline-offset: 2px;
}

.section-eyebrow {
	position: relative;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4em;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--accent-color);
	display: inline-block;
	padding-left: 20px;
	margin-bottom: 10px;
	margin-top: 0;
}

.section-eyebrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: var(--accent-color);
	border-radius: 50%;
	width: 8px;
	height: 8px;
}

.dark-section .section-eyebrow {
	color: var(--accent-color);
}

/* --------------------------------------------------------------------------
   Hero base (all hero-brand-banner sliders)
   -------------------------------------------------------------------------- */
.hero-brand-banner {
	position: relative;
	overflow: hidden;
}

.hero-brand-banner .hero-slider-image img {
	max-width: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-brand-banner.hero-slider-layout .hero-slide::before {
	background: rgba(18, 12, 28, 0.52);
	opacity: 1;
	animation: none;
	filter: none;
}

.hero-slide {
	overflow: hidden;
}

.hero-brand-banner .hero-slide-ribbon,
.hero-brand-banner .hero-banner-decor {
	display: none !important;
}

.hero-brand-banner .hero-section {
	position: relative;
	z-index: 3;
}

.hero-brand-banner .hero-content {
	z-index: 3;
}

/* --------------------------------------------------------------------------
   Hero-pro — modern glass card, left-aligned, responsive
   -------------------------------------------------------------------------- */
.hero-banner-pro .hero-section,
.hero-banner-pro.hero-brand-banner .hero-content {
	text-align: left;
}

.hero-banner-pro .hero-content.hero-pro {
	height: auto;
	align-content: center;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.hero-pro-card {
	max-width: 640px;
	padding: clamp(1.25rem, 3vw, 1.75rem) clamp(1.2rem, 3vw, 1.85rem);
	background: rgba(255, 255, 255, 0.11);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 20px;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow:
		0 4px 24px rgba(0, 0, 0, 0.12),
		0 24px 48px rgba(0, 0, 0, 0.22);
	animation: heroProCard 0.85s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes heroProCard {
	from {
		opacity: 0;
		transform: translateY(22px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.hero-pro-badge {
	display: inline-block;
	margin: 0 0 0.85rem;
	padding: 0.4rem 0.95rem;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.95);
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	animation: heroProFade 0.7s ease 0.08s both;
}

.hero-pro-head {
	margin: 0;
}

.hero-pro-title {
	font-size: clamp(1.85rem, 4.5vw + 0.4rem, 3rem);
	font-weight: 800;
	line-height: 1.14;
	color: #fff;
	margin: 0 0 0.75rem;
	letter-spacing: -0.02em;
	text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35);
	animation: heroProFade 0.75s ease 0.12s both;
}

.hero-pro-accent {
	color: var(--accent-color);
}

.hero-pro-lead {
	font-size: clamp(0.95rem, 1.2vw + 0.85rem, 1.05rem);
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.9);
	margin: 0 0 1.1rem;
	max-width: 34rem;
	animation: heroProFade 0.75s ease 0.18s both;
}

@keyframes heroProFade {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.hero-pro-tags {
	list-style: none;
	margin: 0 0 1.2rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.6rem;
	animation: heroProFade 0.75s ease 0.22s both;
}

.hero-pro-tags li {
	font-size: 0.8125rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.95);
	padding: 0.38rem 0.75rem 0.38rem 0.85rem;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	position: relative;
	padding-left: 1.35rem;
}

.hero-pro-tags li::before {
	content: "";
	position: absolute;
	left: 0.5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--accent-color);
	box-shadow: 0 0 10px rgba(4, 173, 160, 0.55);
}

.hero-pro-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 0.9rem;
	animation: heroProFade 0.75s ease 0.28s both;
}

.hero-pro-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 1.4rem;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	border-radius: 999px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.hero-pro-btn--primary {
	color: #fff !important;
	background: var(--accent-color);
	border: 1px solid transparent;
	box-shadow: 0 8px 22px rgba(4, 173, 160, 0.35);
}

.hero-pro-btn--primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(4, 173, 160, 0.45);
	color: #fff !important;
}

.hero-pro-btn--ghost {
	color: #fff !important;
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.55);
}

.hero-pro-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.85);
	color: #fff !important;
}

/* Pagination */
.hero-banner-pro-pagination.hero-pagination,
.hero-brand-banner .hero-pagination {
	bottom: 28px !important;
	z-index: 4;
}

.hero-brand-banner .hero-pagination .swiper-pagination-bullet {
	background: rgba(255, 255, 255, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.75);
	opacity: 1;
	transition: width 0.25s ease, background 0.25s ease;
}

.hero-brand-banner .hero-pagination .swiper-pagination-bullet-active {
	width: 28px;
	border-radius: 999px;
	background: var(--accent-color);
	border-color: transparent;
}

@supports not (backdrop-filter: blur(14px)) {
	.hero-pro-card {
		background: rgba(35, 22, 52, 0.82);
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero-pro-card,
	.hero-pro-badge,
	.hero-pro-title,
	.hero-pro-lead,
	.hero-pro-tags,
	.hero-pro-actions {
		animation: none !important;
	}

	.hero-pro-card {
		opacity: 1;
		transform: none;
	}

	.hero-pro-btn--primary:hover,
	.hero-pro-btn--ghost:hover {
		transform: none;
	}
}

@media only screen and (max-width: 991px) {
	.hero-pro-card {
		border-radius: 16px;
		max-width: none;
	}

	.hero-pro-title {
		font-size: clamp(1.65rem, 6vw + 0.3rem, 2.35rem);
	}

	.hero-pro-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.hero-pro-btn {
		width: 100%;
	}
}

@media only screen and (max-width: 575px) {
	.hero-pro-tags {
		flex-direction: column;
	}

	.hero-pro-tags li {
		width: 100%;
	}

	.hero-banner-pro-pagination.hero-pagination,
	.hero-brand-banner .hero-pagination {
		bottom: 16px !important;
	}
}

/* =============================================================================
   Appointment section — modern card, labels, brand gradients (index home)
   ============================================================================= */

.appointment-pro.our-appointment {
	position: relative;
	overflow: hidden;
	background-image: none;
	background: linear-gradient(165deg, #f9f6fd 0%, #eef8f6 42%, #f3eef9 100%);
	padding: 25px;
}

.appointment-pro-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 70% 50% at 85% 20%, rgba(106, 45, 145, 0.08) 0%, transparent 55%),
		radial-gradient(ellipse 60% 45% at 10% 80%, rgba(4, 173, 160, 0.1) 0%, transparent 50%);
	animation: appointmentProBg 16s ease-in-out infinite alternate;
}

@keyframes appointmentProBg {
	0% {
		opacity: 0.85;
		transform: scale(1);
	}
	100% {
		opacity: 1;
		transform: scale(1.03);
	}
}

.appointment-pro .container.position-relative {
	z-index: 1;
}

.appointment-pro-card {
	position: relative;
	padding: clamp(1.35rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2rem) clamp(1.5rem, 3vw, 2.25rem);
	background: #fff;
	border-radius: 24px;
	box-shadow:
		0 4px 24px rgba(74, 31, 102, 0.08),
		0 20px 50px rgba(74, 31, 102, 0.1);
	border: 1px solid rgba(106, 45, 145, 0.1);
	animation: appointmentProCard 0.85s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.appointment-pro-card::before {
	content: "";
	position: absolute;
	left: 1.25rem;
	right: 1.25rem;
	top: 0;
	height: 4px;
	border-radius: 0 0 6px 6px;
	background: var(--brand-ui-gradient);
	background-size: 200% 100%;
	animation: appointmentProBar 8s ease infinite;
}

@keyframes appointmentProBar {
	0%,
	100% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
}

@keyframes appointmentProCard {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.appointment-pro-head {
	margin-bottom: 1.35rem;
}

.appointment-pro-title {
	font-size: clamp(1.65rem, 3vw + 0.5rem, 2.35rem);
	font-weight: 800;
	line-height: 1.15;
	color: var(--brand-purple-deep);
	margin: 0 0 0.65rem;
	letter-spacing: -0.02em;
}

.appointment-pro-title-accent {
	background: var(--brand-ui-gradient);
	background-size: 200% auto;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	animation: appointmentProAccent 5s ease-in-out infinite alternate;
}

@keyframes appointmentProAccent {
	0% {
		background-position: 0% center;
	}
	100% {
		background-position: 100% center;
	}
}

.appointment-pro-lead {
	font-size: 1rem;
	line-height: 1.65;
	color: #555;
	margin: 0;
	max-width: 36rem;
}

.appointment-pro-label {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--brand-purple-deep);
	margin-bottom: 0.35rem;
}

.appointment-pro .appointment-pro-control.form-control,
.appointment-pro .appointment-pro-control.form-select {
	border: 1px solid rgba(106, 45, 145, 0.18);
	border-radius: 12px;
	padding: 0.85rem 1rem;
	font-size: 15px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	background-color: #fafbfc;
}

.appointment-pro .appointment-pro-control:focus {
	border-color: var(--brand-teal);
	box-shadow: 0 0 0 3px rgba(4, 173, 160, 0.2);
	outline: none;
	background-color: #fff;
}

.appointment-pro .appointment-pro-control::placeholder {
	color: #888;
	text-transform: none;
}

.appointment-pro .contact-form-btn {
	margin-top: 0.5rem;
}

.appointment-pro-submit.btn-default {
	position: relative;
	z-index: 1;
	overflow: visible;
	border: none;
	color: #fff !important;
	background: var(--brand-ui-gradient);
	background-size: 200% 200%;
	box-shadow: 0 10px 28px rgba(106, 45, 145, 0.28);
	animation: appointmentProBtn 7s ease infinite;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
	text-transform: none;
	font-weight: 800;
	padding: 0.85rem 1.75rem;
	border-radius: 999px;
}

.appointment-pro-submit.btn-default::before,
.appointment-pro-submit.btn-default::after {
	display: none !important;
}

.appointment-pro-submit.btn-default:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 34px rgba(4, 173, 160, 0.35);
	color: #fff !important;
	background: var(--brand-ui-gradient);
	background-size: 200% 200%;
}

@keyframes appointmentProBtn {
	0%,
	100% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
}

/* Visual column */
.appointment-pro-visual.our-appointment-image {
	margin-left: 0;
	animation: appointmentProCard 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
}

.appointment-pro-visual figure img {
	max-width: 100%;
}

@media (min-width: 992px) {
	.appointment-pro-visual.our-appointment-image {
		margin-left: 12px;
	}
}

.appointment-pro-visual figure::before {
	background: linear-gradient(
		180deg,
		rgba(106, 45, 145, 0) 35%,
		rgba(106, 45, 145, 0.55) 70%,
		rgba(4, 173, 160, 0.45) 100%
	) !important;
}

.appointment-pro-hours.open-time-box {
	bottom: 24px;
	left: 24px;
	right: 24px;
	padding: 0.85rem 1rem;
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.35);
}

.appointment-pro-hours .icon-box {
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.appointment-pro-hours-title {
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgba(255, 255, 255, 0.95);
	margin-bottom: 0.35rem !important;
	opacity: 0.95;
}

.appointment-pro-hours .open-time-box-content p:last-child {
	font-size: 0.95rem;
	line-height: 1.45;
}

@media (prefers-reduced-motion: reduce) {
	.appointment-pro-bg,
	.appointment-pro-card,
	.appointment-pro-title-accent,
	.appointment-pro-submit.btn-default,
	.appointment-pro-card::before,
	.appointment-pro-visual.our-appointment-image {
		animation: none !important;
	}

	.appointment-pro-bg {
		opacity: 1;
		transform: none;
	}

	.appointment-pro-card,
	.appointment-pro-visual.our-appointment-image {
		opacity: 1;
		transform: none;
	}

	.appointment-pro-title-accent,
	.appointment-pro-submit.btn-default {
		background-position: 50% 50%;
	}

	.appointment-pro-submit.btn-default:hover {
		transform: none;
	}
}

@media only screen and (max-width: 991px) {
	.appointment-pro-card {
		border-radius: 20px;
	}

	.appointment-pro-visual.our-appointment-image {
		margin-top: 0.5rem;
	}

	.appointment-pro-submit.btn-default {
		width: 100%;
		text-align: center;
	}
}

/* =============================================================================
   Our Commitment — modern layout, brand gradients, CSS-only motion (home)
   ============================================================================= */

.commitment-pro.our-commitment {
	position: relative;
	overflow: hidden;
}

.commitment-pro-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 55% 45% at 0% 30%, rgba(106, 45, 145, 0.07) 0%, transparent 60%),
		radial-gradient(ellipse 50% 40% at 100% 70%, rgba(4, 173, 160, 0.09) 0%, transparent 55%);
	animation: commitmentProBg 14s ease-in-out infinite alternate;
}

@keyframes commitmentProBg {
	0% {
		opacity: 0.9;
	}
	100% {
		opacity: 1;
	}
}

.commitment-pro .container.position-relative {
	z-index: 1;
}

/* Equal column height (desktop): stretch row; columns fill and centre image vertically */
.commitment-pro-row.row {
	align-items: stretch;
}

@media (min-width: 992px) {
	.commitment-pro-row > .col-lg-6 {
		display: flex;
		flex-direction: column;
	}

	.commitment-pro .commitment-pro-text.our-commitment-content,
	.commitment-pro .commitment-pro-visual.our-commitment-image {
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
		min-height: 0;
	}

	.commitment-pro .commitment-pro-visual.our-commitment-image {
		justify-content: center;
	}
}

.commitment-pro-head {
	margin-bottom: 1.25rem;
}

.commitment-pro-eyebrow {
	animation: commitmentProFade 0.75s ease both;
}

.commitment-pro-title {
	font-size: clamp(1.65rem, 3.2vw + 0.5rem, 2.45rem);
	font-weight: 800;
	line-height: 1.15;
	color: var(--brand-purple-deep);
	margin: 0 0 0.75rem;
	letter-spacing: -0.02em;
	animation: commitmentProFade 0.8s ease 0.08s both;
}

.commitment-pro-accent {
	background: var(--brand-ui-gradient);
	background-size: 200% auto;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	animation: commitmentProAccent 5.5s ease-in-out infinite alternate;
}

@keyframes commitmentProAccent {
	0% {
		background-position: 0% center;
	}
	100% {
		background-position: 100% center;
	}
}

.commitment-pro-lead {
	font-size: 1rem;
	line-height: 1.65;
	color: #555;
	margin: 0;
	max-width: 36rem;
	animation: commitmentProFade 0.8s ease 0.14s both;
}

@keyframes commitmentProFade {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.commitment-pro .commitment-pro-list {
	animation: commitmentProFade 0.8s ease 0.2s both;
}

.commitment-pro .commitment-pro-list ul {
	gap: 12px 16px;
}

.commitment-pro .commitment-pro-list ul li {
	width: auto;
	min-width: min(100%, 220px);
	padding: 0.55rem 1rem 0.55rem 2.25rem;
	background: linear-gradient(135deg, rgba(106, 45, 145, 0.06) 0%, rgba(4, 173, 160, 0.06) 100%);
	border: 1px solid rgba(106, 45, 145, 0.12);
	border-radius: 12px;
	font-weight: 600;
	color: var(--brand-purple-deep);
	line-height: 1.45;
}

.commitment-pro .commitment-pro-list ul li::before {
	content: "";
	font-family: inherit;
	font-weight: 400;
	width: 10px;
	height: 10px;
	top: 50%;
	left: 0.85rem;
	transform: translateY(-50%);
	border-radius: 50%;
	background: var(--brand-ui-gradient);
	box-shadow: 0 0 12px rgba(4, 173, 160, 0.35);
	font-size: 0;
}

.commitment-pro-spotlight.commitment-item-list {
	position: relative;
	border: none;
	margin-top: 1.5rem;
	padding: 1.35rem 1.25rem 1.4rem;
	background: #fff;
	border-radius: 18px;
	box-shadow:
		0 4px 20px rgba(74, 31, 102, 0.07),
		0 1px 0 rgba(106, 45, 145, 0.08) inset;
	border: 1px solid rgba(106, 45, 145, 0.1);
	animation: commitmentProFade 0.8s ease 0.26s both;
	overflow: hidden;
}

.commitment-pro-spotlight::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: var(--brand-ui-gradient);
	background-size: 100% 200%;
	animation: commitmentProBar 6s ease infinite;
	border-radius: 18px 0 0 18px;
}

@keyframes commitmentProBar {
	0%,
	100% {
		background-position: 0% 0%;
	}
	50% {
		background-position: 0% 100%;
	}
}

.commitment-pro-spotlight h3 {
	padding-left: 1.15rem;
	margin-bottom: 0.65rem;
	font-size: 1.15rem;
	color: var(--brand-purple-deep);
}

.commitment-pro-spotlight.commitment-item-list h3::before {
	content: "" !important;
	display: none !important;
}

.commitment-pro-spotlight p {
	padding-left: 1.15rem;
	color: #555;
	line-height: 1.65;
	margin: 0;
}

.commitment-pro-action.commitment-btn {
	margin-top: 1.75rem;
	animation: commitmentProFade 0.8s ease 0.32s both;
}

.commitment-pro-btn.btn-default {
	border: none;
	color: #fff !important;
	background: var(--brand-ui-gradient);
	background-size: 200% 200%;
	box-shadow: 0 8px 24px rgba(106, 45, 145, 0.26);
	animation: commitmentProBtn 7s ease infinite;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	border-radius: 999px;
	padding: 0.85rem 1.6rem;
	overflow: visible;
	z-index: 1;
}

.commitment-pro-btn.btn-default::before,
.commitment-pro-btn.btn-default::after {
	display: none !important;
}

.commitment-pro-btn.btn-default:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(4, 173, 160, 0.32);
	color: #fff !important;
	background: var(--brand-ui-gradient);
	background-size: 200% 200%;
}

@keyframes commitmentProBtn {
	0%,
	100% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
}

.commitment-pro-visual.our-commitment-image {
	margin: 0;
	align-content: center;
	animation: commitmentProFade 0.85s ease 0.12s both;
}

@media (min-width: 992px) {
	.commitment-pro-visual.our-commitment-image {
		margin: 0 24px;
	}
}

/* No gradient frame: clean photo; fixed shorter crop (width × clamp height) */
.commitment-pro-visual figure {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: min(100%, 560px);

	border-radius: 14px;
	overflow: hidden;
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.commitment-pro-visual figure img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
}

@media (prefers-reduced-motion: reduce) {
	.commitment-pro-bg,
	.commitment-pro-eyebrow,
	.commitment-pro-title,
	.commitment-pro-accent,
	.commitment-pro-lead,
	.commitment-pro .commitment-pro-list,
	.commitment-pro-spotlight,
	.commitment-pro-spotlight::before,
	.commitment-pro-action,
	.commitment-pro-btn.btn-default,
	.commitment-pro-visual {
		animation: none !important;
	}

	.commitment-pro-accent,
	.commitment-pro-btn.btn-default {
		background-position: 50% 50%;
	}

	.commitment-pro-eyebrow,
	.commitment-pro-title,
	.commitment-pro-lead,
	.commitment-pro .commitment-pro-list,
	.commitment-pro-spotlight,
	.commitment-pro-action,
	.commitment-pro-visual {
		opacity: 1;
		transform: none;
	}

	.commitment-pro-btn.btn-default:hover {
		transform: none;
	}
}

@media only screen and (max-width: 991px) {
	.commitment-pro-visual.our-commitment-image {
		width: 100%;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.commitment-pro-visual figure {
		max-width: 520px;
		margin-left: auto;
		margin-right: auto;
	}

	.commitment-pro .commitment-pro-list ul li {
		width: 100%;
		min-width: 0;
	}

	.commitment-pro-btn.btn-default {
		width: 100%;
		text-align: center;
	}
}

/* =============================================================================
   Footer — modern CTA band, gradients, CSS-only motion (footer-pro)
   ============================================================================= */

.footer-pro {
	--footer-pro-fg: rgba(255, 255, 255, 0.92);
	--footer-pro-muted: rgba(255, 255, 255, 0.78);
}

.footer-pro .footer-pro-box.main-footer-box {
	position: relative;
	overflow: hidden;
	padding-top: clamp(2.5rem, 5vw, 3.75rem);
	padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	background:
		linear-gradient(155deg, #3d1a52 0%, #2a1240 38%, #132b32 72%, #0d1f24 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.footer-pro-glow {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 70% 50% at 10% -10%, rgba(106, 45, 145, 0.45) 0%, transparent 55%),
		radial-gradient(ellipse 55% 45% at 95% 15%, rgba(4, 173, 160, 0.28) 0%, transparent 50%),
		radial-gradient(ellipse 60% 40% at 50% 110%, rgba(23, 162, 184, 0.15) 0%, transparent 45%);
	opacity: 0.95;
	animation: footerProGlow 16s ease-in-out infinite alternate;
}

@keyframes footerProGlow {
	0% {
		opacity: 0.85;
		transform: scale(1);
	}
	100% {
		opacity: 1;
		transform: scale(1.02);
	}
}

.footer-pro .footer-pro-box .container.position-relative {
	z-index: 1;
}

/* Footer CTA — glass band, aurora, grid layout, gradient orbit (see .footer-pro-cta-band) */
.footer-pro-cta-row {
	--footer-cta-radius: 22px;
}

.footer-pro-cta-band {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
	padding: clamp(1.35rem, 3.2vw, 2.35rem) clamp(1.25rem, 3.5vw, 2.75rem);
	border-radius: var(--footer-cta-radius);
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.11) 0%, rgba(255, 255, 255, 0.03) 42%, rgba(4, 173, 160, 0.08) 100%);
	border: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow:
		0 24px 60px rgba(0, 0, 0, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.12);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.footer-pro-cta-band::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(
		125deg,
		rgba(106, 45, 145, 0.65) 0%,
		rgba(4, 173, 160, 0.45) 35%,
		rgba(23, 162, 184, 0.4) 65%,
		rgba(106, 45, 145, 0.55) 100%
	);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
	animation: footerProCtaBorder 10s ease-in-out infinite alternate;
}

@keyframes footerProCtaBorder {
	0% {
		background-position: 0% 40%;
	}
	100% {
		background-position: 100% 60%;
	}
}

.footer-pro-cta-aurora {
	position: absolute;
	width: 140%;
	height: 140%;
	top: -20%;
	left: -20%;
	pointer-events: none;
	z-index: 0;
	background: conic-gradient(
		from 210deg at 50% 50%,
		rgba(106, 45, 145, 0) 0deg,
		rgba(106, 45, 145, 0.22) 90deg,
		rgba(4, 173, 160, 0.18) 200deg,
		rgba(23, 162, 184, 0.12) 280deg,
		rgba(106, 45, 145, 0) 360deg
	);
	animation: footerProCtaAurora 22s linear infinite;
	opacity: 0.75;
}

@keyframes footerProCtaAurora {
	to {
		transform: rotate(1turn);
	}
}

.footer-pro-cta-gridlines {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 24px 24px;
	opacity: 0.5;
	mask-image: radial-gradient(ellipse 75% 70% at 50% 50%, #000 20%, transparent 75%);
}

.footer-pro .footer-pro-cta-band .footer-pro-header.footer-header {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(1.25rem, 4vw, 3rem);
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.footer-pro .footer-pro-cta-band .footer-pro-header .section-title.footer-pro-cta-title {
	width: auto;
	max-width: min(100%, 44rem);
	margin: 0;
	flex: unset;
}

.footer-pro-cta-action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.65rem;
	text-align: center;
}

.footer-pro-cta-hint {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.62);
	animation: footerProFadeUp 0.85s ease 0.18s both;
}

.footer-pro-cta-hint a {
	color: var(--brand-teal-bright, #17a2b8);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.footer-pro-cta-hint a:hover {
	color: #fff;
}

.footer-pro-cta-orbit {
	position: relative;
	padding: 3px;
	border-radius: 50%;
	background: var(--brand-ui-gradient);
	background-size: 240% 240%;
	animation: footerProCtaOrbit 6s ease infinite;
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.12),
		0 16px 40px rgba(106, 45, 145, 0.42);
}

@keyframes footerProCtaOrbit {
	0%,
	100% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
}

.footer-pro .footer-pro-cta-orbit .book-consult-circle.footer-pro-book-circle {
	width: auto;
	margin: 0;
	text-align: center;
	background: rgba(14, 8, 22, 0.92);
	border-radius: 50%;
	overflow: hidden;
}

.footer-pro .footer-pro-cta-orbit .book-consult-circle.accent-circle a {
	background: transparent;
	padding: 0.5rem;
	border-radius: 50%;
}

.footer-pro .footer-pro-cta-orbit .book-consult-circle.accent-circle a img {
	max-width: clamp(86px, 17vw, 112px);
}

.footer-pro-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0 0 0.55rem;
	padding: 0.38rem 0.95rem;
	border-radius: 999px;
	color: #fff;
	background: linear-gradient(135deg, rgba(106, 45, 145, 0.45) 0%, rgba(4, 173, 160, 0.3) 100%);
	border: 1px solid rgba(255, 255, 255, 0.22);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
	animation: footerProFadeUp 0.7s ease both;
}

.footer-pro-eyebrow::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--brand-ui-gradient);
	background-size: 200% 200%;
	animation: footerProCtaOrbit 4s ease infinite;
	box-shadow: 0 0 12px rgba(4, 173, 160, 0.7);
}

.footer-pro-heading {
	font-size: clamp(1.6rem, 2.5vw + 0.85rem, 2.5rem);
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 0.7rem;
	letter-spacing: -0.025em;
	color: var(--footer-pro-fg) !important;
	animation: footerProFadeUp 0.75s ease 0.06s both;
	text-wrap: balance;
}

.footer-pro-heading-accent {
	background: var(--brand-ui-gradient);
	background-size: 200% auto;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
	animation: footerProGradientShift 5s ease-in-out infinite alternate;
}

@keyframes footerProGradientShift {
	0% {
		background-position: 0% center;
	}
	100% {
		background-position: 100% center;
	}
}

.footer-pro-intro {
	margin: 0;
	font-size: clamp(0.95rem, 1.2vw + 0.85rem, 1.06rem);
	line-height: 1.62;
	color: var(--footer-pro-muted) !important;
	max-width: 40rem;
	animation: footerProFadeUp 0.75s ease 0.12s both;
}

@keyframes footerProFadeUp {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.footer-pro-book-link {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: transform 0.35s ease, filter 0.35s ease;
	filter: drop-shadow(0 8px 22px rgba(4, 173, 160, 0.4));
	animation: footerProFadeUp 0.8s ease 0.15s both;
}

.footer-pro-book-link:hover {
	transform: scale(1.07) rotate(-3deg);
	filter: drop-shadow(0 14px 34px rgba(106, 45, 145, 0.5));
}

.footer-pro-book-link:focus-visible {
	outline: 2px solid var(--brand-teal, #04ada0);
	outline-offset: 4px;
}

.footer-pro-book-link img {
	display: block;
	width: clamp(86px, 17vw, 112px);
	height: auto;
}

/* Main columns */
.footer-pro .footer-pro-main {
	margin-top: 0.25rem;
}

.footer-pro .footer-pro-nav h3 {
	position: relative;
	margin-bottom: 1.25rem;
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--footer-pro-fg);
	padding-bottom: 0.65rem;
}

.footer-pro .footer-pro-nav h3::after,
.footer-pro .footer-pro-newsletter-col h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 2.5rem;
	height: 3px;
	border-radius: 3px;
	background: var(--brand-ui-gradient);
	background-size: 200% 100%;
	animation: footerProUnderline 4s ease-in-out infinite alternate;
}

@keyframes footerProUnderline {
	0% {
		background-position: 0% center;
		width: 2.25rem;
	}
	100% {
		background-position: 100% center;
		width: 3.25rem;
	}
}

.footer-pro .footer-pro-social ul li a {
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.04);
	backdrop-filter: blur(6px);
	transition:
		border-color 0.25s ease,
		background 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease;
}

.footer-pro .footer-pro-social ul li a:hover {
	color: #fff !important;
	border-color: transparent;
	background: var(--brand-ui-gradient);
	background-size: 200% 200%;
	transform: translateY(-2px);
}

.footer-pro .footer-pro-newsletter-col h3 {
	position: relative;
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: none;
	color: var(--footer-pro-fg);
	padding-bottom: 0.65rem;
	margin-bottom: 1rem;
}

.footer-pro .footer-pro-newsletter-form .form-group {
	background: rgba(0, 0, 0, 0.25);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 14px;
	padding: 6px;
	gap: 6px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.footer-pro .footer-pro-newsletter-form .form-group .form-control {
	width: 1%;
	flex: 1 1 auto;
	min-width: 0;
	color: #fff;
}

.footer-pro .footer-pro-newsletter-form .form-group .form-control::placeholder {
	color: rgba(255, 255, 255, 0.55);
}

.footer-pro-newsletter-btn.btn-default.btn-highlighted {
	position: relative;
	flex: 0 0 auto;
	width: auto;
	min-width: 7.5rem;
	padding: 0.85rem 1.15rem;
	border: none;
	border-radius: 10px;
	font-weight: 700;
	text-transform: capitalize;
	color: #fff !important;
	background: var(--brand-ui-gradient);
	background-size: 200% 200%;
	box-shadow: 0 6px 22px rgba(74, 31, 102, 0.35);
	animation: footerProBtnGlow 8s ease infinite;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	z-index: 1;
	overflow: visible;
}

.footer-pro-newsletter-btn.btn-default.btn-highlighted::before,
.footer-pro-newsletter-btn.btn-default.btn-highlighted::after {
	display: none !important;
}

.footer-pro-newsletter-btn.btn-default.btn-highlighted:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 26px rgba(4, 173, 160, 0.35);
	color: #fff !important;
	background: var(--brand-ui-gradient);
	background-size: 200% 200%;
}

@keyframes footerProBtnGlow {
	0%,
	100% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
}

.footer-pro .footer-privacy-policy ul {
	border-top-color: rgba(255, 255, 255, 0.12);
}

.footer-pro .footer-privacy-policy ul li a:hover {
	color: var(--brand-teal-bright, #17a2b8) !important;
}

/* Copyright strip */
.footer-pro .footer-pro-copyright.footer-copyright-text {
	padding: 1.25rem 0;
	border-top: 1px solid rgba(106, 45, 145, 0.12);
	background: linear-gradient(180deg, rgba(250, 252, 253, 1) 0%, rgba(245, 248, 250, 1) 100%);
}

.footer-pro .footer-pro-copyright p {
	margin: 0;
	text-align: center;
	font-size: 0.9rem;
	line-height: 1.55;
	color: #4a4f57;
}

.footer-pro .footer-pro-copyright .site-name {
	color: var(--brand-purple-deep, #4a1f66);
	font-weight: 600;
	text-decoration: none;
	background: linear-gradient(120deg, var(--brand-purple) 0%, var(--brand-teal) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

.footer-pro .footer-pro-copyright .site-name:hover {
	opacity: 0.88;
}

@media (prefers-reduced-motion: reduce) {
	.footer-pro-glow,
	.footer-pro-cta-band::after,
	.footer-pro-cta-aurora,
	.footer-pro-cta-orbit,
	.footer-pro-eyebrow,
	.footer-pro-eyebrow::before,
	.footer-pro-heading,
	.footer-pro-heading-accent,
	.footer-pro-intro,
	.footer-pro-cta-hint,
	.footer-pro-book-link,
	.footer-pro .footer-pro-nav h3::after,
	.footer-pro .footer-pro-newsletter-col h3::after,
	.footer-pro-newsletter-btn.btn-default.btn-highlighted {
		animation: none !important;
	}

	.footer-pro-cta-band::after,
	.footer-pro-heading-accent,
	.footer-pro-newsletter-btn.btn-default.btn-highlighted {
		background-position: 50% 50%;
	}

	.footer-pro-eyebrow,
	.footer-pro-heading,
	.footer-pro-intro,
	.footer-pro-cta-hint,
	.footer-pro-book-link {
		opacity: 1;
		transform: none;
	}

	.footer-pro-book-link:hover {
		transform: none;
	}

	.footer-pro-newsletter-btn.btn-default.btn-highlighted:hover {
		transform: none;
	}

	.footer-pro .footer-pro-nav h3::after,
	.footer-pro .footer-pro-newsletter-col h3::after {
		width: 2.75rem;
	}
}

@media only screen and (max-width: 991px) {
	.footer-pro-cta-band {
		text-align: center;
	}

	.footer-pro .footer-pro-cta-band .footer-pro-header.footer-header {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.footer-pro .footer-pro-cta-band .footer-pro-header .section-title.footer-pro-cta-title {
		text-align: center;
	}

	.footer-pro-intro {
		margin-inline: auto;
	}

	.footer-pro-cta-action {
		margin-top: 0.25rem;
	}

	.footer-pro .footer-pro-nav h3::after,
	.footer-pro .footer-pro-newsletter-col h3::after {
		left: 50%;
		transform: translateX(-50%);
	}

	.footer-pro .footer-pro-main .footer-pro-nav {
		text-align: center;
	}

	.footer-pro .footer-pro-newsletter-col {
		text-align: center;
	}

	.footer-pro .footer-pro-newsletter-col > ul {
		justify-content: center;
	}

	.footer-pro .footer-pro-main .footer-links ul {
		padding: 0;
	}

	.footer-pro-about {
		text-align: center;
	}

	.footer-pro-about .footer-logo img {
		margin-inline: auto;
	}

	.footer-pro-about .footer-social-links ul {
		justify-content: center;
		display: flex;
		flex-wrap: wrap;
	}
}

@media only screen and (max-width: 575px) {
	.footer-pro .footer-pro-newsletter-form .form-group {
		flex-direction: column;
		align-items: stretch;
	}

	.footer-pro-newsletter-btn.btn-default.btn-highlighted {
		width: 100%;
		min-width: 0;
	}
}

/* =============================================================================
   IVF page (ivf.php) — modern, animated, responsive, SEO-friendly
   ============================================================================= */

.ivf-page-banner {
	position: relative;
	overflow: hidden;
	padding: clamp(3.2rem, 5.5vw, 5rem) 0;
	background: linear-gradient(155deg, #3f1b58 0%, #2f1748 42%, #12363d 100%);
}

.ivf-page-banner-overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 55% 45% at 8% 18%, rgba(106, 45, 145, 0.5) 0%, transparent 60%),
		radial-gradient(ellipse 50% 40% at 90% 85%, rgba(4, 173, 160, 0.32) 0%, transparent 58%);
	animation: ivfProBgFloat 11s ease-in-out infinite alternate;
}

.ivf-page-banner-content {
	position: relative;
	z-index: 1;
}

.ivf-page-banner-kicker {
	display: inline-block;
	margin: 0 0 0.7rem;
	padding: 0.38rem 0.92rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.ivf-page-banner h1 {
	color: #fff;
	font-size: clamp(1.9rem, 2.5vw + 1.05rem, 3.2rem);
	line-height: 1.15;
	margin-bottom: 0.85rem;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.ivf-page-banner p {
	color: rgba(255, 255, 255, 0.88);
	line-height: 1.7;
	max-width: 42rem;
}

.ivf-page-banner-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1rem;
	margin: 1.2rem 0 1.35rem;
}

.ivf-page-banner-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.78rem 1.25rem;
	border-radius: 999px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(6px);
}

.ivf-page-banner-link:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.16);
}

.ivf-page-banner-breadcrumb ol {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.2rem;
}

.ivf-page-banner-breadcrumb li {
	position: relative;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.92rem;
}

.ivf-page-banner-breadcrumb li + li::before {
	content: "/";
	position: absolute;
	left: -0.72rem;
	color: rgba(255, 255, 255, 0.58);
}

.ivf-page-banner-breadcrumb a {
	color: rgba(255, 255, 255, 0.92);
	text-decoration: none;
}

.ivf-page-banner-breadcrumb a:hover {
	color: #fff;
	text-decoration: underline;
}

.ivf-page-banner-image {
	position: relative;
	margin: 0;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 22px 46px rgba(5, 7, 20, 0.3);
	animation: ivfProImageIn 0.85s ease both;
}

.ivf-page-banner-image::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 2px;
	border-radius: inherit;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	animation: ivfProGradientShift 8s ease infinite;
}

.ivf-page-banner-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.ivf-pro-banner {
	position: relative;
	overflow: hidden;
	padding: clamp(3rem, 6vw, 5rem) 0 clamp(2.5rem, 4vw, 3.5rem);
	background: linear-gradient(150deg, #faf4ff 0%, #eefdfb 52%, #f7fbff 100%);
}

.ivf-pro-banner-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 60% 48% at 12% 18%, rgba(106, 45, 145, 0.14) 0%, transparent 58%),
		radial-gradient(ellipse 52% 45% at 92% 22%, rgba(4, 173, 160, 0.18) 0%, transparent 50%);
	animation: ivfProBgFloat 12s ease-in-out infinite alternate;
}

@keyframes ivfProBgFloat {
	0% { opacity: 0.8; transform: translateY(0); }
	100% { opacity: 1; transform: translateY(-10px); }
}

.ivf-pro-banner-content {
	position: relative;
	z-index: 1;
}

.ivf-pro-kicker {
	display: inline-block;
	margin: 0 0 0.65rem;
	padding: 0.36rem 0.82rem;
	border-radius: 999px;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--brand-purple-deep);
	background: linear-gradient(120deg, rgba(106, 45, 145, 0.12) 0%, rgba(4, 173, 160, 0.16) 100%);
	border: 1px solid rgba(106, 45, 145, 0.14);
}

.ivf-pro-banner-content h1 {
	font-size: clamp(1.85rem, 2.4vw + 1.05rem, 3rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--brand-purple-deep);
	margin-bottom: 0.85rem;
}

.ivf-pro-lead {
	font-size: clamp(0.98rem, 0.5vw + 0.9rem, 1.08rem);
	line-height: 1.7;
	color: #4f5561;
	max-width: 42rem;
	margin-bottom: 1.5rem;
}

.ivf-pro-banner-cta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem 1.1rem;
}

.ivf-pro-btn.btn-default {
	border: none;
	color: #fff !important;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	border-radius: 999px;
	padding: 0.82rem 1.5rem;
	box-shadow: 0 10px 28px rgba(106, 45, 145, 0.22);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	animation: ivfProGradientShift 7s ease infinite;
	overflow: visible;
	z-index: 1;
}

.ivf-pro-btn.btn-default::before,
.ivf-pro-btn.btn-default::after {
	display: none !important;
}

.ivf-pro-btn.btn-default:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(4, 173, 160, 0.3);
}

.ivf-pro-link {
	font-weight: 700;
	color: var(--brand-purple-deep);
	text-decoration: none;
	border-bottom: 2px solid rgba(4, 173, 160, 0.45);
	padding-bottom: 2px;
}

.ivf-pro-link:hover {
	color: var(--brand-teal);
	border-bottom-color: var(--brand-teal);
}

.ivf-pro-banner-image {
	position: relative;
	margin: 0;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 18px 46px rgba(47, 28, 64, 0.17);
	animation: ivfProImageIn 0.8s ease both;
}

.ivf-pro-banner-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1.18 / 1;
	object-fit: cover;
}

@keyframes ivfProImageIn {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

.ivf-pro-overview,
.ivf-pro-steps,
.ivf-pro-faq,
.ivf-pro-cta {
	padding: 12px;
}

.ivf-pro-overview {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(2.9rem, 5.8vw, 4.9rem) 0;
	background: linear-gradient(170deg, #ffffff 0%, #f7f2ff 45%, #eefcf9 100%);
}

.ivf-pro-overview::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(ellipse 55% 42% at 50% -8%, rgba(106, 45, 145, 0.1) 0%, transparent 58%),
		radial-gradient(ellipse 42% 34% at 8% 78%, rgba(23, 162, 184, 0.08) 0%, transparent 52%),
		radial-gradient(ellipse 45% 35% at 96% 68%, rgba(4, 173, 160, 0.1) 0%, transparent 50%);
	animation: ivfOverviewGlow 15s ease-in-out infinite alternate;
}

@keyframes ivfOverviewGlow {
	0% {
		opacity: 0.86;
		transform: translateY(0);
	}
	100% {
		opacity: 1;
		transform: translateY(-8px);
	}
}

.ivf-pro-overview .container {
	position: relative;
	z-index: 1;
}

.ivf-pro-overview .ivf-pro-overview-title {
	text-align: center;
	max-width: 52rem;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: clamp(1.6rem, 3vw, 2.45rem);
}

.ivf-pro-overview .ivf-pro-overview-title h2 {
	position: relative;
	color: var(--brand-purple-deep);
	margin-bottom: 0.8rem;
	padding-bottom: 0.85rem;
	text-wrap: balance;
}

.ivf-pro-overview .ivf-pro-overview-title h2::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: min(130px, 28vw);
	height: 4px;
	border-radius: 4px;
	background: var(--brand-ui-gradient);
	background-size: 200% 100%;
	animation: ivfProGradientShift 8s ease infinite;
}

.ivf-pro-overview .ivf-pro-overview-title p {
	margin-left: auto;
	margin-right: auto;
	max-width: 44rem;
	color: #5b6372;
	line-height: 1.68;
}

.ivf-pro-card {
	height: 100%;
	background: #fff;
	border-radius: 18px;
	border: 1px solid rgba(106, 45, 145, 0.1);
	box-shadow: 0 10px 30px rgba(58, 30, 80, 0.08);
	padding: clamp(1.1rem, 2vw, 1.55rem);
}

.ivf-pro-card h2,
.ivf-pro-card h3 {
	color: var(--brand-purple-deep);
	margin-bottom: 0.75rem;
}

.ivf-pro-card p {
	margin-bottom: 0.75rem;
	color: #555d6a;
	line-height: 1.7;
}

.ivf-pro-highlight {
	background: linear-gradient(165deg, rgba(106, 45, 145, 0.05) 0%, rgba(4, 173, 160, 0.06) 100%);
}

.ivf-pro-overview .ivf-pro-card {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(106, 45, 145, 0.14);
	border-radius: 20px;
	padding: clamp(1.15rem, 2.2vw, 1.8rem);
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.9) 100%);
	box-shadow:
		0 14px 34px rgba(58, 30, 80, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 0.8);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
	animation: ivfOverviewCardIn 0.72s ease backwards;
}

.ivf-pro-overview .row > [class*="col-"]:nth-child(1) .ivf-pro-card {
	animation-delay: 0.08s;
}

.ivf-pro-overview .row > [class*="col-"]:nth-child(2) .ivf-pro-card {
	animation-delay: 0.16s;
}

@keyframes ivfOverviewCardIn {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ivf-pro-overview .ivf-pro-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	border-radius: 20px 0 0 20px;
	background: var(--brand-ui-gradient);
	background-size: 100% 200%;
	animation: ivfProGradientShiftY 6s ease-in-out infinite;
}

@keyframes ivfProGradientShiftY {
	0%,
	100% {
		background-position: 50% 0%;
	}
	50% {
		background-position: 50% 100%;
	}
}

.ivf-pro-overview .ivf-pro-card:hover {
	transform: translateY(-4px);
	box-shadow:
		0 20px 40px rgba(58, 30, 80, 0.14),
		0 0 0 1px rgba(4, 173, 160, 0.12);
}

.ivf-pro-overview .ivf-pro-card h3 {
	font-size: clamp(1.16rem, 1.2vw + 0.95rem, 1.38rem);
	color: var(--brand-purple-deep);
	margin-bottom: 0.7rem;
	padding-left: 0.4rem;
}

.ivf-pro-overview .ivf-pro-card p {
	color: #586172;
	line-height: 1.7;
	padding-left: 0.4rem;
}

.ivf-pro-overview .ivf-pro-highlight {
	background: linear-gradient(160deg, rgba(106, 45, 145, 0.08) 0%, rgba(4, 173, 160, 0.1) 100%);
}

.ivf-pro-overview .ivf-pro-highlight ul {
	gap: 0.82rem;
}

.ivf-pro-overview .ivf-pro-highlight li {
	padding-left: 1.55rem;
}

.ivf-pro-highlight ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.7rem;
}

.ivf-pro-highlight li {
	position: relative;
	padding-left: 1.4rem;
	color: #4f5663;
	line-height: 1.55;
}

.ivf-pro-highlight li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6rem;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--brand-ui-gradient);
}

/* IVF journey steps — centered title, brand gradients, animated cards */
.ivf-pro-steps {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(2.75rem, 5.5vw, 4.75rem) 0;
	background: linear-gradient(168deg, #f8f2ff 0%, #eef6fd 38%, #e8faf7 72%, #f2fbff 100%);
}

.ivf-pro-steps::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(ellipse 58% 42% at 50% -5%, rgba(106, 45, 145, 0.11) 0%, transparent 58%),
		radial-gradient(ellipse 48% 36% at 100% 85%, rgba(4, 173, 160, 0.12) 0%, transparent 52%),
		radial-gradient(ellipse 40% 32% at 0% 70%, rgba(23, 162, 184, 0.08) 0%, transparent 50%);
	animation: ivfStepsSectionGlow 16s ease-in-out infinite alternate;
}

@keyframes ivfStepsSectionGlow {
	0% {
		opacity: 0.85;
		transform: scale(1);
	}
	100% {
		opacity: 1;
		transform: scale(1.02);
	}
}

.ivf-pro-steps .container {
	position: relative;
	z-index: 1;
}

.ivf-pro-steps .ivf-pro-title-wrap {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: clamp(1.85rem, 3.5vw, 2.75rem);
	max-width: 48rem;
}

.ivf-pro-steps .ivf-pro-title-wrap h2 {
	color: var(--brand-purple-deep);
	margin-left: auto;
	margin-right: auto;
	text-wrap: balance;
	position: relative;
	padding-bottom: 0.85rem;
	font-size: clamp(1.45rem, 1.8vw + 0.95rem, 2.1rem);
}

.ivf-pro-steps .ivf-pro-title-wrap h2::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: min(120px, 28vw);
	height: 4px;
	border-radius: 4px;
	background: var(--brand-ui-gradient);
	background-size: 200% 100%;
	animation: ivfProGradientShift 7s ease infinite;
}

.ivf-pro-steps .ivf-pro-title-wrap p {
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto;
	color: #5b6372;
	line-height: 1.65;
	text-align: center;
}

@media (min-width: 992px) {
	.ivf-pro-steps .row.g-4 {
		position: relative;
	}

	.ivf-pro-steps .row.g-4::before {
		content: "";
		position: absolute;
		top: 2.25rem;
		left: 8%;
		right: 8%;
		height: 3px;
		border-radius: 999px;
		background: linear-gradient(
			90deg,
			rgba(106, 45, 145, 0.2) 0%,
			rgba(4, 173, 160, 0.35) 50%,
			rgba(106, 45, 145, 0.2) 100%
		);
		background-size: 200% 100%;
		animation: ivfProGradientShift 10s ease infinite;
		pointer-events: none;
		z-index: 0;
	}

	.ivf-pro-steps .row.g-4 > [class*="col-"] {
		position: relative;
		z-index: 1;
	}
}

.ivf-step-card {
	height: 100%;
	position: relative;
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.9) 100%);
	border: 1px solid rgba(106, 45, 145, 0.14);
	border-radius: 20px;
	padding: 1.35rem 1.2rem 1.45rem;
	padding-top: 1.5rem;
	box-shadow:
		0 14px 36px rgba(58, 30, 80, 0.09),
		inset 0 1px 0 rgba(255, 255, 255, 0.85);
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	animation: ivfStepCardIn 0.75s ease backwards;
}

.ivf-pro-steps .row > [class*="col-"]:nth-child(1) .ivf-step-card {
	animation-delay: 0.06s;
}
.ivf-pro-steps .row > [class*="col-"]:nth-child(2) .ivf-step-card {
	animation-delay: 0.14s;
}
.ivf-pro-steps .row > [class*="col-"]:nth-child(3) .ivf-step-card {
	animation-delay: 0.22s;
}
.ivf-pro-steps .row > [class*="col-"]:nth-child(4) .ivf-step-card {
	animation-delay: 0.3s;
}

@keyframes ivfStepCardIn {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ivf-step-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--brand-ui-gradient);
	background-size: 200% 100%;
	animation: ivfProGradientShift 6s ease infinite;
}

.ivf-step-card:hover {
	transform: translateY(-6px);
	box-shadow:
		0 22px 44px rgba(58, 30, 80, 0.12),
		0 0 0 1px rgba(4, 173, 160, 0.12);
}

.ivf-step-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	font-weight: 800;
	font-size: 0.88rem;
	color: #fff;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	margin-bottom: 1rem;
	box-shadow: 0 10px 26px rgba(106, 45, 145, 0.28);
	animation: ivfProGradientShift 8s ease infinite;
}

.ivf-step-card h3 {
	font-size: 1.06rem;
	line-height: 1.38;
	margin-bottom: 0.55rem;
	color: var(--brand-purple-deep);
}

.ivf-step-card p {
	margin: 0;
	color: #596170;
	line-height: 1.65;
}

.ivf-pro-title-wrap {
	margin-bottom: 1.4rem;
}

.ivf-pro-title-wrap h2 {
	color: var(--brand-purple-deep);
}

.ivf-pro-title-wrap p {
	max-width: 52rem;
	color: #5b6372;
}

.ivf-pro-faq {
	background: #fff;
}

.ivf-pro-counter {
	position: relative;
	overflow: hidden;
	background: linear-gradient(160deg, #32184c 0%, #2a1442 50%, #13353d 100%);
	padding: 26px;
}

.ivf-pro-counter-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 50% 40% at 12% 20%, rgba(106, 45, 145, 0.35) 0%, transparent 62%),
		radial-gradient(ellipse 45% 38% at 88% 72%, rgba(4, 173, 160, 0.24) 0%, transparent 58%);
	animation: ivfProBgFloat 12s ease-in-out infinite alternate;
}

.ivf-pro-counter .container.position-relative {
	z-index: 1;
}

.ivf-pro-counter-title h2 {
	color: #fff;
	text-align: center;
}

.ivf-pro-counter-title p {
	color: rgba(255, 255, 255, 0.82);
	max-width: 44rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.ivf-counter-card {
	height: 100%;
	border-radius: 18px;
	padding: 1rem 1rem 1.1rem;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.06) 100%);
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
	text-align: center;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ivf-counter-card:hover {
	transform: translateY(-4px);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.25),
		0 12px 28px rgba(4, 173, 160, 0.2);
}

.ivf-counter-icon {
	width: 58px;
	height: 58px;
	margin: 0 auto 0.8rem;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(106, 45, 145, 0.65) 0%, rgba(4, 173, 160, 0.75) 100%);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.ivf-counter-icon img {
	width: 26px;
	height: 26px;
	filter: brightness(0) invert(1);
}

.ivf-counter-card h3 {
	margin: 0 0 0.35rem;
	font-size: clamp(1.5rem, 1.2vw + 1.1rem, 2rem);
	color: #fff;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.ivf-counter-card p {
	margin: 0;
	color: rgba(255, 255, 255, 0.84);
	line-height: 1.55;
}

.ivf-pro-faq-image {
	margin: 0;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 14px 34px rgba(45, 26, 64, 0.16);
}

.ivf-pro-faq-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1.1 / 1;
	object-fit: cover;
}

.ivf-pro-qa dt {
	font-weight: 700;
	color: var(--brand-purple-deep);
	margin-bottom: 0.35rem;
}

.ivf-pro-qa dd {
	margin: 0 0 0.85rem;
	color: #576072;
	line-height: 1.65;
}

.ivf-pro-cta {
	position: relative;
	overflow: hidden;
	background: linear-gradient(145deg, #f4efff 0%, #e7fbf7 100%);
}

.ivf-pro-cta-box {
	position: relative;
	isolation: isolate;
	text-align: center;
	overflow: hidden;
	background: linear-gradient(140deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.86) 100%);
	border: 1px solid rgba(106, 45, 145, 0.16);
	box-shadow:
		0 16px 36px rgba(58, 30, 80, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.7);
	border-radius: 24px;
	padding: clamp(1.65rem, 3vw, 2.5rem);
}

.ivf-pro-cta-box::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
	animation: ivfProGradientShift 8s ease infinite;
}

.ivf-pro-cta-glow {
	position: absolute;
	inset: -25%;
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(ellipse 45% 35% at 15% 20%, rgba(106, 45, 145, 0.18) 0%, transparent 60%),
		radial-gradient(ellipse 40% 30% at 85% 70%, rgba(4, 173, 160, 0.18) 0%, transparent 60%);
	animation: ivfProBgFloat 10s ease-in-out infinite alternate;
}

.ivf-pro-cta-kicker {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin: 0 0 0.65rem;
	padding: 0.38rem 0.85rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--brand-purple-deep);
	background: linear-gradient(120deg, rgba(106, 45, 145, 0.13) 0%, rgba(4, 173, 160, 0.14) 100%);
	border: 1px solid rgba(106, 45, 145, 0.14);
}

.ivf-pro-cta-box h2 {
	position: relative;
	z-index: 1;
	color: var(--brand-purple-deep);
	margin-bottom: 0.65rem;
	text-wrap: balance;
}

.ivf-pro-cta-box p {
	position: relative;
	z-index: 1;
	max-width: 44rem;
	margin: 0 auto 1.2rem;
	color: #55606f;
}

.ivf-pro-cta-actions {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.8rem 1rem;
}

.ivf-pro-cta-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 0.78rem 1.9rem;
	border-radius: 999px;
	font-weight: 800;
	font-size: 1.05rem;
	line-height: 1;
	color: #fff;
	text-decoration: none;
	background: linear-gradient(90deg, #5b4298 0%, #04ada0 100%);
	box-shadow: 0 8px 20px rgba(4, 173, 160, 0.28);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.ivf-pro-cta-link:hover {
	color: #fff;
	transform: translateY(-1px);
	filter: brightness(1.03);
	box-shadow: 0 12px 24px rgba(4, 173, 160, 0.34);
}

@keyframes ivfProGradientShift {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}

@media (prefers-reduced-motion: reduce) {
	.ivf-page-banner-overlay,
	.ivf-page-banner-image::before,
	.ivf-pro-banner-bg,
	.ivf-pro-counter-bg,
	.ivf-pro-overview::before,
	.ivf-pro-overview .ivf-pro-overview-title h2::after,
	.ivf-pro-overview .ivf-pro-card,
	.ivf-pro-overview .ivf-pro-card::before,
	.ivf-pro-btn.btn-default,
	.ivf-step-no,
	.ivf-pro-cta-box::before,
	.ivf-pro-cta-glow,
	.ivf-pro-steps::before,
	.ivf-pro-steps .row.g-4::before,
	.ivf-pro-steps .ivf-pro-title-wrap h2::after,
	.ivf-step-card,
	.ivf-step-card::before {
		animation: none !important;
	}

	.ivf-step-no,
	.ivf-step-card::before,
	.ivf-pro-steps .ivf-pro-title-wrap h2::after {
		background-position: 50% 50%;
	}

	.ivf-step-card {
		opacity: 1;
		transform: none;
	}

	.ivf-pro-overview .ivf-pro-card {
		opacity: 1;
		transform: none;
	}
}

@media only screen and (max-width: 991px) {
	.ivf-page-banner {
		padding-top: 2.5rem;
	}

	.ivf-page-banner-content {
		text-align: center;
	}

	.ivf-page-banner p {
		margin-left: auto;
		margin-right: auto;
	}

	.ivf-page-banner-actions,
	.ivf-page-banner-breadcrumb ol {
		justify-content: center;
	}

	.ivf-pro-banner {
		padding-top: 2.6rem;
	}

	.ivf-pro-banner-content {
		text-align: center;
	}

	.ivf-pro-lead {
		margin-left: auto;
		margin-right: auto;
	}

	.ivf-pro-banner-cta {
		justify-content: center;
	}
}

@media only screen and (max-width: 575px) {
	.ivf-page-banner-link {
		width: 100%;
	}

	.ivf-pro-cta-actions {
		flex-direction: column;
	}

	.ivf-pro-cta-link {
		text-align: center;
	}

	.ivf-pro-btn.btn-default {
		width: 100%;
		text-align: center;
	}
}

/* =============================================================================
   IUI page (iui.php) — modern, animated, responsive, SEO-friendly
   ============================================================================= */

.iui-page-banner {
	position: relative;
	overflow: hidden;
	padding: clamp(3rem, 5.8vw, 5rem) 0;
	background: linear-gradient(160deg, #33194e 0%, #2a1442 45%, #12363e 100%);
}

.iui-page-banner-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 60% 45% at 5% 15%, rgba(106, 45, 145, 0.4) 0%, transparent 58%),
		radial-gradient(ellipse 52% 40% at 95% 82%, rgba(4, 173, 160, 0.28) 0%, transparent 56%);
	animation: ivfProBgFloat 13s ease-in-out infinite alternate;
}

.iui-page-banner-content {
	position: relative;
	z-index: 1;
}

.iui-page-kicker {
	display: inline-block;
	margin: 0 0 0.7rem;
	padding: 0.4rem 0.9rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.iui-page-banner h1 {
	color: #fff;
	font-size: clamp(1.85rem, 2.4vw + 1rem, 3rem);
	line-height: 1.14;
	margin-bottom: 0.85rem;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.iui-page-banner p {
	color: rgba(255, 255, 255, 0.86);
	max-width: 42rem;
	line-height: 1.7;
}

.iui-page-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	margin: 1.2rem 0 1.3rem;
}

.iui-page-btn.btn-default {
	border: none;
	color: #fff !important;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	border-radius: 999px;
	padding: 0.82rem 1.45rem;
	box-shadow: 0 10px 28px rgba(106, 45, 145, 0.26);
	animation: ivfProGradientShift 7s ease infinite;
	overflow: visible;
	z-index: 1;
}

.iui-page-btn.btn-default::before,
.iui-page-btn.btn-default::after {
	display: none !important;
}

.iui-page-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.78rem 1.2rem;
	border-radius: 999px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.08);
}

.iui-page-link:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.16);
}

.iui-page-breadcrumb ol {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.15rem;
}

.iui-page-breadcrumb li {
	position: relative;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.92rem;
}

.iui-page-breadcrumb li + li::before {
	content: "/";
	position: absolute;
	left: -0.7rem;
	color: rgba(255, 255, 255, 0.56);
}

.iui-page-breadcrumb a {
	color: rgba(255, 255, 255, 0.92);
	text-decoration: none;
}

.iui-page-breadcrumb a:hover {
	color: #fff;
	text-decoration: underline;
}

.iui-page-banner-image {
	position: relative;
	margin: 0;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 22px 48px rgba(5, 8, 22, 0.32);
}

.iui-page-banner-image::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 2px;
	border-radius: inherit;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	animation: ivfProGradientShift 8s ease infinite;
}

.iui-page-banner-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.iui-overview,
.iui-steps,
.iui-faq,
.iui-cta {
	padding: 12px;
}

.iui-overview {
	background: linear-gradient(170deg, #ffffff 0%, #f6f2ff 45%, #eefcf9 100%);
}

.iui-title-wrap {
	text-align: center;
	max-width: 48rem;
	margin: 0 auto clamp(1.6rem, 3vw, 2.35rem);
}

.iui-title-wrap h2 {
	position: relative;
	color: var(--brand-purple-deep);
	padding-bottom: 0.8rem;
	margin-bottom: 0.75rem;
	text-wrap: balance;
}

.iui-title-wrap h2::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: min(120px, 28vw);
	height: 4px;
	border-radius: 4px;
	background: var(--brand-ui-gradient);
	background-size: 200% 100%;
	animation: ivfProGradientShift 7s ease infinite;
}

.iui-title-wrap p {
	color: #5b6372;
	line-height: 1.66;
}

.iui-card {
	height: 100%;
	position: relative;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(106, 45, 145, 0.13);
	border-radius: 20px;
	box-shadow: 0 14px 34px rgba(58, 30, 80, 0.1);
	padding: clamp(1.1rem, 2vw, 1.7rem);
}

.iui-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: var(--brand-ui-gradient);
	background-size: 100% 200%;
	animation: ivfProGradientShiftY 6s ease-in-out infinite;
}

.iui-card h2,
.iui-card h3 {
	color: var(--brand-purple-deep);
	margin-bottom: 0.72rem;
	padding-left: 0.45rem;
}

.iui-card p {
	color: #586172;
	line-height: 1.7;
	padding-left: 0.45rem;
	margin-bottom: 0.72rem;
}

.iui-card-highlight {
	background: linear-gradient(160deg, rgba(106, 45, 145, 0.08) 0%, rgba(4, 173, 160, 0.1) 100%);
}

.iui-card-highlight ul {
	list-style: none;
	margin: 0;
	padding: 0.2rem 0 0 0.45rem;
	display: grid;
	gap: 0.78rem;
}

.iui-card-highlight li {
	position: relative;
	padding-left: 1.4rem;
	color: #4f5665;
	line-height: 1.55;
}

.iui-card-highlight li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.58rem;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--brand-ui-gradient);
}

.iui-steps {
	background: linear-gradient(170deg, #f8f2ff 0%, #eef6fd 36%, #e7faf7 100%);
}

.iui-step-card {
	height: 100%;
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 100%);
	border: 1px solid rgba(106, 45, 145, 0.13);
	border-radius: 18px;
	padding: 1.2rem 1.1rem 1.3rem;
	box-shadow: 0 12px 30px rgba(58, 30, 80, 0.09);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.iui-step-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 36px rgba(58, 30, 80, 0.14);
}

.iui-step-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	color: #fff;
	font-size: 0.86rem;
	font-weight: 800;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	animation: ivfProGradientShift 8s ease infinite;
	margin-bottom: 0.9rem;
}

.iui-step-card h3 {
	color: var(--brand-purple-deep);
	font-size: 1.04rem;
	line-height: 1.42;
	margin-bottom: 0.5rem;
}

.iui-step-card p {
	margin: 0;
	color: #5a6271;
	line-height: 1.62;
}

.iui-faq {
	background: #fff;
}

.iui-counter {
	position: relative;
	overflow: hidden;
	background: linear-gradient(160deg, #32184c 0%, #281340 48%, #12343c 100%);
	padding: 25px;
}

.iui-counter-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 52% 38% at 10% 18%, rgba(106, 45, 145, 0.34) 0%, transparent 60%),
		radial-gradient(ellipse 45% 35% at 92% 75%, rgba(4, 173, 160, 0.24) 0%, transparent 58%);
	animation: ivfProBgFloat 12s ease-in-out infinite alternate;
}

.iui-counter .container.position-relative {
	z-index: 1;
}

.iui-counter .iui-title-wrap h2 {
	color: #fff;
}

.iui-counter .iui-title-wrap p {
	color: rgba(255, 255, 255, 0.82);
	max-width: 44rem;
}

.iui-counter-card {
	height: 100%;
	border-radius: 18px;
	padding: 1rem 1rem 1.1rem;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.06) 100%);
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
	text-align: center;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.iui-counter-card:hover {
	transform: translateY(-4px);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.25),
		0 12px 28px rgba(4, 173, 160, 0.2);
}

.iui-counter-icon {
	width: 58px;
	height: 58px;
	margin: 0 auto 0.8rem;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(106, 45, 145, 0.64) 0%, rgba(4, 173, 160, 0.76) 100%);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.iui-counter-icon img {
	width: 26px;
	height: 26px;
	filter: brightness(0) invert(1);
}

.iui-counter-card h3 {
	margin: 0 0 0.35rem;
	font-size: clamp(1.5rem, 1.2vw + 1.1rem, 2rem);
	color: #fff;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.iui-counter-card p {
	margin: 0;
	color: rgba(255, 255, 255, 0.84);
	line-height: 1.55;
}

.iui-faq-image {
	margin: 0;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 14px 34px rgba(45, 26, 64, 0.16);
}

.iui-faq-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1.1 / 1;
	object-fit: cover;
}

.iui-cta {
	position: relative;
	overflow: hidden;
	background: linear-gradient(145deg, #f3eeff 0%, #e9faf8 100%);
}

.iui-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 52% 38% at 12% 20%, rgba(106, 45, 145, 0.14) 0%, transparent 60%),
		radial-gradient(ellipse 45% 34% at 88% 75%, rgba(4, 173, 160, 0.14) 0%, transparent 58%);
	animation: ivfProBgFloat 11s ease-in-out infinite alternate;
}

.iui-cta-box {
	position: relative;
	isolation: isolate;
	text-align: center;
	overflow: hidden;
	background: linear-gradient(150deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 100%);
	border: 1px solid rgba(106, 45, 145, 0.16);
	border-radius: 24px;
	padding: clamp(1.7rem, 3vw, 2.6rem);
	box-shadow:
		0 16px 38px rgba(58, 30, 80, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.iui-cta-box::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
	animation: ivfProGradientShift 8s ease infinite;
}

.iui-cta-glow {
	position: absolute;
	inset: -26%;
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(ellipse 42% 30% at 15% 25%, rgba(106, 45, 145, 0.18) 0%, transparent 60%),
		radial-gradient(ellipse 38% 28% at 85% 72%, rgba(4, 173, 160, 0.18) 0%, transparent 60%);
	animation: ivfProBgFloat 10s ease-in-out infinite alternate;
}

.iui-cta-kicker {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin: 0 0 0.65rem;
	padding: 0.38rem 0.88rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--brand-purple-deep);
	background: linear-gradient(120deg, rgba(106, 45, 145, 0.13) 0%, rgba(4, 173, 160, 0.15) 100%);
	border: 1px solid rgba(106, 45, 145, 0.14);
}

.iui-cta-box h2 {
	position: relative;
	z-index: 1;
	color: var(--brand-purple-deep);
	margin-bottom: 0.72rem;
	text-wrap: balance;
}

.iui-cta-box p {
	position: relative;
	z-index: 1;
	max-width: 44rem;
	margin: 0 auto 1.2rem;
	color: #56606f;
}

.iui-cta-actions {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.78rem 1rem;
}

.iui-cta-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.72rem 1.35rem;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	color: var(--brand-purple-deep);
	border: 1px solid rgba(106, 45, 145, 0.22);
	background: rgba(255, 255, 255, 0.76);
	transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.iui-cta-link:hover {
	color: var(--brand-teal);
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(4, 173, 160, 0.22);
}

@media (prefers-reduced-motion: reduce) {
	.iui-page-banner-bg,
	.iui-page-banner-image::before,
	.iui-page-btn.btn-default,
	.iui-title-wrap h2::after,
	.iui-card::before,
	.iui-step-no,
	.iui-counter-bg,
	.iui-cta::before,
	.iui-cta-box::before,
	.iui-cta-glow {
		animation: none !important;
	}
}

@media only screen and (max-width: 991px) {
	.iui-page-banner-content {
		text-align: center;
	}

	.iui-page-banner p {
		margin-left: auto;
		margin-right: auto;
	}

	.iui-page-actions,
	.iui-page-breadcrumb ol {
		justify-content: center;
	}
}

@media only screen and (max-width: 575px) {
	.iui-page-btn.btn-default,
	.iui-page-link,
	.iui-cta-link {
		width: 100%;
		text-align: center;
	}

	.iui-cta-actions {
		flex-direction: column;
	}
}

/* =============================================================================
   ICSI page (icsi.php) — animated banner, counters, responsive layout
   ============================================================================= */

.icsi-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(3rem, 5.8vw, 5rem) 0;
	background: linear-gradient(160deg, #351a50 0%, #2b1543 44%, #12363f 100%);
}

.icsi-hero-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 60% 45% at 8% 18%, rgba(106, 45, 145, 0.4) 0%, transparent 58%),
		radial-gradient(ellipse 50% 40% at 94% 78%, rgba(4, 173, 160, 0.28) 0%, transparent 56%);
	animation: ivfProBgFloat 12s ease-in-out infinite alternate;
}

.icsi-hero-content {
	position: relative;
	z-index: 1;
}

.icsi-kicker {
	display: inline-block;
	margin: 0 0 0.7rem;
	padding: 0.4rem 0.92rem;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.icsi-hero h1 {
	color: #fff;
	font-size: clamp(1.9rem, 2.5vw + 1rem, 3.1rem);
	line-height: 1.14;
	letter-spacing: -0.02em;
	margin-bottom: 0.86rem;
	text-wrap: balance;
}

.icsi-hero p {
	color: rgba(255, 255, 255, 0.87);
	max-width: 42rem;
	line-height: 1.7;
}

.icsi-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	margin: 1.2rem 0 1.3rem;
}

.icsi-btn.btn-default {
	border: none;
	color: #fff !important;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	border-radius: 999px;
	padding: 0.82rem 1.48rem;
	box-shadow: 0 10px 30px rgba(106, 45, 145, 0.28);
	animation: ivfProGradientShift 7s ease infinite;
	overflow: visible;
	z-index: 1;
}

.icsi-btn.btn-default::before,
.icsi-btn.btn-default::after {
	display: none !important;
}

.icsi-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.78rem 1.2rem;
	border-radius: 999px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.08);
}

.icsi-link:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.16);
}

.icsi-breadcrumb ol {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.15rem;
}

.icsi-breadcrumb li {
	position: relative;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.92rem;
}

.icsi-breadcrumb li + li::before {
	content: "/";
	position: absolute;
	left: -0.7rem;
	color: rgba(255, 255, 255, 0.56);
}

.icsi-breadcrumb a {
	color: rgba(255, 255, 255, 0.92);
	text-decoration: none;
}

.icsi-breadcrumb a:hover {
	color: #fff;
	text-decoration: underline;
}

/* Animated right-side topic panel (ICSI process) */
.icsi-topic-motion {
	position: relative;
	display: grid;
	place-items: center;
}

.icsi-topic-card {
	position: relative;
	width: min(100%, 560px);
	padding: clamp(1.2rem, 2.5vw, 1.8rem);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 24px 48px rgba(6, 8, 21, 0.32);
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.07) 100%);
	border: 1px solid rgba(255, 255, 255, 0.23);
	-webkit-backdrop-filter: blur(9px);
	backdrop-filter: blur(9px);
	animation: icsiVideoFloat 6s ease-in-out infinite;
}

@keyframes icsiVideoFloat {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-8px);
	}
}

.icsi-topic-label {
	margin: 0 0 0.55rem;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.88);
}

.icsi-topic-wordmark {
	display: flex;
	gap: 0.4rem;
	margin-bottom: 1rem;
}

.icsi-topic-wordmark span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 54px;
	height: 54px;
	border-radius: 14px;
	font-size: 1.35rem;
	font-weight: 800;
	color: #fff;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	box-shadow: 0 10px 24px rgba(106, 45, 145, 0.3);
	animation: ivfProGradientShift 7s ease infinite;
}

.icsi-topic-wordmark span:nth-child(2) {
	animation-delay: 0.15s;
}
.icsi-topic-wordmark span:nth-child(3) {
	animation-delay: 0.3s;
}
.icsi-topic-wordmark span:nth-child(4) {
	animation-delay: 0.45s;
}

.icsi-topic-flow {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.55rem;
}

.icsi-topic-flow li {
	position: relative;
	padding: 0.72rem 0.85rem 0.72rem 2.25rem;
	border-radius: 12px;
	color: #fff;
	font-weight: 600;
	background: linear-gradient(140deg, rgba(106, 45, 145, 0.28) 0%, rgba(4, 173, 160, 0.24) 100%);
	border: 1px solid rgba(255, 255, 255, 0.2);
	animation: icsiFlowPulse 4s ease-in-out infinite;
}

.icsi-topic-flow li::before {
	content: "";
	position: absolute;
	left: 0.9rem;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.18);
}

.icsi-topic-flow li:nth-child(2) {
	animation-delay: 0.25s;
}

.icsi-topic-flow li:nth-child(3) {
	animation-delay: 0.5s;
}

.icsi-topic-flow li:nth-child(4) {
	animation-delay: 0.75s;
}

.icsi-topic-core {
	position: absolute;
	right: -24px;
	bottom: -24px;
	width: 130px;
	height: 130px;
	border-radius: 50%;
	background:
		radial-gradient(circle at 35% 35%, rgba(255, 255, 255, 0.95) 0%, rgba(4, 173, 160, 0.32) 38%, rgba(106, 45, 145, 0.28) 100%);
	filter: blur(0.2px);
	animation: icsiCoreRotate 9s linear infinite;
}

@keyframes icsiCoreRotate {
	to {
		transform: rotate(1turn);
	}
}

@keyframes icsiFlowPulse {
	0%,
	100% {
		opacity: 0.9;
		transform: translateY(0);
	}
	50% {
		opacity: 1;
		transform: translateY(-2px);
	}
}

.icsi-overview,
.icsi-counter,
.icsi-cta {
	padding: clamp(2.8rem, 5.6vw, 4.7rem) 0;
}

.icsi-overview {
	background: linear-gradient(170deg, #ffffff 0%, #f6f2ff 45%, #eefcf9 100%);
}

.icsi-title-wrap {
	text-align: center;
	max-width: 48rem;
	margin: 0 auto clamp(1.6rem, 3vw, 2.35rem);
}

.icsi-title-wrap h2 {
	position: relative;
	color: var(--brand-purple-deep);
	padding-bottom: 0.8rem;
	margin-bottom: 0.75rem;
	text-wrap: balance;
}

.icsi-title-wrap h2::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: min(122px, 28vw);
	height: 4px;
	border-radius: 4px;
	background: var(--brand-ui-gradient);
	background-size: 200% 100%;
	animation: ivfProGradientShift 7s ease infinite;
}

.icsi-title-wrap p {
	color: #5b6372;
	line-height: 1.66;
}

.icsi-card {
	height: 100%;
	position: relative;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(106, 45, 145, 0.13);
	border-radius: 20px;
	box-shadow: 0 14px 34px rgba(58, 30, 80, 0.1);
	padding: clamp(1.1rem, 2vw, 1.7rem);
}

.icsi-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: var(--brand-ui-gradient);
	background-size: 100% 200%;
	animation: ivfProGradientShiftY 6s ease-in-out infinite;
}

.icsi-card h2,
.icsi-card h3 {
	color: var(--brand-purple-deep);
	margin-bottom: 0.72rem;
	padding-left: 0.45rem;
}

.icsi-card p {
	color: #586172;
	line-height: 1.7;
	padding-left: 0.45rem;
	margin-bottom: 0.72rem;
}

.icsi-card-highlight {
	background: linear-gradient(160deg, rgba(106, 45, 145, 0.08) 0%, rgba(4, 173, 160, 0.1) 100%);
}

.icsi-card-highlight ul {
	list-style: none;
	margin: 0;
	padding: 0.2rem 0 0 0.45rem;
	display: grid;
	gap: 0.78rem;
}

.icsi-card-highlight li {
	position: relative;
	padding-left: 1.4rem;
	color: #4f5665;
	line-height: 1.55;
}

.icsi-card-highlight li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.58rem;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--brand-ui-gradient);
}

.icsi-counter {
	position: relative;
	overflow: hidden;
	background: linear-gradient(160deg, #31184b 0%, #28133f 48%, #12343c 100%);
}

.icsi-counter-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 52% 38% at 10% 18%, rgba(106, 45, 145, 0.34) 0%, transparent 60%),
		radial-gradient(ellipse 45% 35% at 92% 75%, rgba(4, 173, 160, 0.24) 0%, transparent 58%);
	animation: ivfProBgFloat 12s ease-in-out infinite alternate;
}

.icsi-counter .container.position-relative {
	z-index: 1;
}

.icsi-counter .icsi-title-wrap h2 {
	color: #fff;
}

.icsi-counter .icsi-title-wrap p {
	color: rgba(255, 255, 255, 0.82);
	max-width: 44rem;
}

.icsi-counter-card {
	height: 100%;
	border-radius: 18px;
	padding: 1rem 1rem 1.1rem;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.06) 100%);
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
	text-align: center;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.icsi-counter-card:hover {
	transform: translateY(-4px);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.25),
		0 12px 28px rgba(4, 173, 160, 0.2);
}

.icsi-counter-icon {
	width: 58px;
	height: 58px;
	margin: 0 auto 0.8rem;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(106, 45, 145, 0.64) 0%, rgba(4, 173, 160, 0.76) 100%);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.icsi-counter-icon img {
	width: 26px;
	height: 26px;
	filter: brightness(0) invert(1);
}

.icsi-counter-card h3 {
	margin: 0 0 0.35rem;
	font-size: clamp(1.5rem, 1.2vw + 1.1rem, 2rem);
	color: #fff;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.icsi-counter-card p {
	margin: 0;
	color: rgba(255, 255, 255, 0.84);
	line-height: 1.55;
}

.icsi-cta {
	background: linear-gradient(145deg, #f4efff 0%, #e8faf7 100%);
}

.icsi-cta-box {
	text-align: center;
	background: #fff;
	border: 1px solid rgba(106, 45, 145, 0.14);
	border-radius: 22px;
	padding: clamp(1.6rem, 3vw, 2.45rem);
	box-shadow: 0 14px 34px rgba(58, 30, 80, 0.1);
}

.icsi-cta-box h2 {
	color: var(--brand-purple-deep);
	margin-bottom: 0.72rem;
}

.icsi-cta-box p {
	max-width: 44rem;
	margin: 0 auto 1.2rem;
	color: #56606f;
}

@media (prefers-reduced-motion: reduce) {
	.icsi-hero-bg,
	.icsi-topic-card,
	.icsi-topic-wordmark span,
	.icsi-topic-flow li,
	.icsi-topic-core,
	.icsi-btn.btn-default,
	.icsi-title-wrap h2::after,
	.icsi-card::before,
	.icsi-counter-bg {
		animation: none !important;
	}
}

@media only screen and (max-width: 991px) {
	.icsi-hero-content {
		text-align: center;
	}

	.icsi-hero p {
		margin-left: auto;
		margin-right: auto;
	}

	.icsi-hero-actions,
	.icsi-breadcrumb ol {
		justify-content: center;
	}
}

@media only screen and (max-width: 575px) {
	.icsi-btn.btn-default,
	.icsi-link {
		width: 100%;
		text-align: center;
	}
}

/* =============================================================================
   Laparoscopic page (laparoscopic.php)
   ============================================================================= */
.lap-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(3rem, 5.8vw, 5rem) 0;
	background: linear-gradient(160deg, #341a4f 0%, #2a1442 44%, #12363f 100%);
}

.lap-hero-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 60% 45% at 8% 18%, rgba(106, 45, 145, 0.4) 0%, transparent 58%),
		radial-gradient(ellipse 50% 40% at 94% 78%, rgba(4, 173, 160, 0.28) 0%, transparent 56%);
	animation: ivfProBgFloat 12s ease-in-out infinite alternate;
}

.lap-hero-content { position: relative; z-index: 1; }

.lap-kicker {
	display: inline-block;
	margin: 0 0 0.7rem;
	padding: 0.4rem 0.92rem;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.lap-hero h1 {
	color: #fff;
	font-size: clamp(1.9rem, 2.5vw + 1rem, 3.05rem);
	line-height: 1.14;
	letter-spacing: -0.02em;
	margin-bottom: 0.86rem;
	text-wrap: balance;
}

.lap-hero p {
	color: rgba(255, 255, 255, 0.87);
	max-width: 42rem;
	line-height: 1.7;
}

.lap-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	margin: 1.2rem 0 1.3rem;
}

.lap-btn.btn-default {
	border: none;
	color: #fff !important;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	border-radius: 999px;
	padding: 0.82rem 1.48rem;
	box-shadow: 0 10px 30px rgba(106, 45, 145, 0.28);
	animation: ivfProGradientShift 7s ease infinite;
	overflow: visible;
	z-index: 1;
}

.lap-btn.btn-default::before,
.lap-btn.btn-default::after { display: none !important; }

.lap-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.78rem 1.2rem;
	border-radius: 999px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.08);
}

.lap-link:hover { color: #fff; background: rgba(255, 255, 255, 0.16); }

.lap-breadcrumb ol {
	margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem 1.15rem;
}
.lap-breadcrumb li { position: relative; color: rgba(255, 255, 255, 0.82); font-size: 0.92rem; }
.lap-breadcrumb li + li::before { content: "/"; position: absolute; left: -0.7rem; color: rgba(255, 255, 255, 0.56); }
.lap-breadcrumb a { color: rgba(255, 255, 255, 0.92); text-decoration: none; }
.lap-breadcrumb a:hover { color: #fff; text-decoration: underline; }

.lap-topic-motion { position: relative; display: grid; place-items: center; }
.lap-topic-card {
	position: relative;
	width: min(100%, 560px);
	padding: clamp(1.2rem, 2.5vw, 1.8rem);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 24px 48px rgba(6, 8, 21, 0.32);
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.07) 100%);
	border: 1px solid rgba(255, 255, 255, 0.23);
	-webkit-backdrop-filter: blur(9px);
	backdrop-filter: blur(9px);
	animation: icsiVideoFloat 6s ease-in-out infinite;
}

.lap-topic-label {
	margin: 0 0 0.55rem;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.88);
}

.lap-topic-wordmark { display: flex; gap: 0.4rem; margin-bottom: 1rem; }
.lap-topic-wordmark span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 54px; height: 54px; border-radius: 14px;
	font-size: 1.35rem; font-weight: 800; color: #fff;
	background: var(--brand-ui-gradient); background-size: 220% 220%;
	box-shadow: 0 10px 24px rgba(106, 45, 145, 0.3);
	animation: ivfProGradientShift 7s ease infinite;
}

.lap-topic-wordmark span:nth-child(2) { animation-delay: 0.15s; }
.lap-topic-wordmark span:nth-child(3) { animation-delay: 0.3s; }
.lap-topic-wordmark span:nth-child(4) { animation-delay: 0.45s; }

.lap-topic-flow { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.55rem; }
.lap-topic-flow li {
	position: relative;
	padding: 0.72rem 0.85rem 0.72rem 2.25rem;
	border-radius: 12px;
	color: #fff;
	font-weight: 600;
	background: linear-gradient(140deg, rgba(106, 45, 145, 0.28) 0%, rgba(4, 173, 160, 0.24) 100%);
	border: 1px solid rgba(255, 255, 255, 0.2);
	animation: icsiFlowPulse 4s ease-in-out infinite;
}
.lap-topic-flow li::before {
	content: "";
	position: absolute;
	left: 0.9rem; top: 50%; transform: translateY(-50%);
	width: 10px; height: 10px; border-radius: 50%;
	background: #fff; box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.18);
}
.lap-topic-flow li:nth-child(2) { animation-delay: 0.25s; }
.lap-topic-flow li:nth-child(3) { animation-delay: 0.5s; }
.lap-topic-flow li:nth-child(4) { animation-delay: 0.75s; }

.lap-topic-core {
	position: absolute;
	right: -24px; bottom: -24px;
	width: 130px; height: 130px; border-radius: 50%;
	background: radial-gradient(circle at 35% 35%, rgba(255, 255, 255, 0.95) 0%, rgba(4, 173, 160, 0.32) 38%, rgba(106, 45, 145, 0.28) 100%);
	animation: icsiCoreRotate 9s linear infinite;
}

.lap-overview, .lap-counter { padding: 40px; }
.lap-overview { background: linear-gradient(170deg, #ffffff 0%, #f6f2ff 45%, #eefcf9 100%); }

.lap-title-wrap { text-align: center; max-width: 48rem; margin: 0 auto clamp(1.6rem, 3vw, 2.35rem); }
.lap-title-wrap h2 {
	position: relative; color: var(--brand-purple-deep); padding-bottom: 0.8rem; margin-bottom: 0.75rem; text-wrap: balance;
}
.lap-title-wrap h2::after {
	content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
	width: min(122px, 28vw); height: 4px; border-radius: 4px;
	background: var(--brand-ui-gradient); background-size: 200% 100%; animation: ivfProGradientShift 7s ease infinite;
}
.lap-title-wrap p { color: #5b6372; line-height: 1.66; }

.lap-card {
	height: 100%; position: relative; overflow: hidden; background: #fff;
	border: 1px solid rgba(106, 45, 145, 0.13); border-radius: 20px;
	box-shadow: 0 14px 34px rgba(58, 30, 80, 0.1); padding: clamp(1.1rem, 2vw, 1.7rem);
}
.lap-card::before {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
	background: var(--brand-ui-gradient); background-size: 100% 200%; animation: ivfProGradientShiftY 6s ease-in-out infinite;
}
.lap-card h3 { color: var(--brand-purple-deep); margin-bottom: 0.72rem; padding-left: 0.45rem; }
.lap-card p { color: #586172; line-height: 1.7; padding-left: 0.45rem; margin-bottom: 0.72rem; }

.lap-card-highlight { background: linear-gradient(160deg, rgba(106, 45, 145, 0.08) 0%, rgba(4, 173, 160, 0.1) 100%); }
.lap-card-highlight ul { list-style: none; margin: 0; padding: 0.2rem 0 0 0.45rem; display: grid; gap: 0.78rem; }
.lap-card-highlight li { position: relative; padding-left: 1.4rem; color: #4f5665; line-height: 1.55; }
.lap-card-highlight li::before {
	content: ""; position: absolute; left: 0; top: 0.58rem; width: 8px; height: 8px; border-radius: 50%; background: var(--brand-ui-gradient);
}

.lap-process {
	position: relative;
	overflow: hidden;
	padding: 50px;
	background: linear-gradient(170deg, #f7f2ff 0%, #edf6fd 40%, #e9faf8 100%);
}

.lap-process::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 56% 42% at 12% 10%, rgba(106, 45, 145, 0.12) 0%, transparent 60%),
		radial-gradient(ellipse 48% 36% at 90% 82%, rgba(4, 173, 160, 0.11) 0%, transparent 58%);
	animation: ivfProBgFloat 12s ease-in-out infinite alternate;
}

.lap-process .container {
	position: relative;
	z-index: 1;
}

.lap-process .lap-title-wrap {
	max-width: 46rem;
	margin: 0 auto 1.55rem;
	text-align: center;
}

.lap-process .lap-title-wrap h2 {
	font-size: clamp(1.65rem, 1.6vw + 1.1rem, 2.25rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: #3f1f5d;
	margin-bottom: 0.7rem;
	padding-bottom: 0.85rem;
}

.lap-process .lap-title-wrap h2::after {
	width: 84px;
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(90deg, #17a2b8 0%, #04ada0 100%);
	animation: none;
}

.lap-process .lap-title-wrap p {
	max-width: 42rem;
	margin: 0 auto;
	color: #5d6472;
	font-size: 1rem;
	line-height: 1.65;
}

.lap-process-card {
	height: 100%;
	position: relative;
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 100%);
	border: 1px solid rgba(106, 45, 145, 0.14);
	border-radius: 18px;
	padding: 1.2rem 1.1rem 1.25rem;
	box-shadow: 0 12px 30px rgba(58, 30, 80, 0.09);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	animation: lapProcessIn 0.7s ease backwards;
}

.lap-process .row > [class*="col-"]:nth-child(1) .lap-process-card { animation-delay: 0.05s; }
.lap-process .row > [class*="col-"]:nth-child(2) .lap-process-card { animation-delay: 0.12s; }
.lap-process .row > [class*="col-"]:nth-child(3) .lap-process-card { animation-delay: 0.19s; }
.lap-process .row > [class*="col-"]:nth-child(4) .lap-process-card { animation-delay: 0.26s; }
.lap-process .row > [class*="col-"]:nth-child(5) .lap-process-card { animation-delay: 0.33s; }

@keyframes lapProcessIn {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: translateY(0); }
}

.lap-process-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	height: 4px;
	background: var(--brand-ui-gradient);
	background-size: 200% 100%;
	animation: ivfProGradientShift 7s ease infinite;
}

.lap-process-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 36px rgba(58, 30, 80, 0.14);
}

.lap-process-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	color: #fff;
	font-size: 0.86rem;
	font-weight: 800;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	animation: ivfProGradientShift 8s ease infinite;
	margin-bottom: 0.9rem;
	box-shadow: 0 10px 22px rgba(106, 45, 145, 0.25);
}

.lap-process-card h3 {
	color: var(--brand-purple-deep);
	font-size: 1.04rem;
	line-height: 1.42;
	margin-bottom: 0.5rem;
}

.lap-process-card p {
	margin: 0;
	color: #596270;
	line-height: 1.62;
}

.lap-benefits {
	position: relative;
	overflow: hidden;
	padding: 20px;
	background: linear-gradient(165deg, #fbf8ff 0%, #f3f9ff 42%, #ecfbf8 100%);
}

.lap-benefits::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 52% 38% at 8% 18%, rgba(106, 45, 145, 0.1) 0%, transparent 62%),
		radial-gradient(ellipse 45% 32% at 92% 78%, rgba(4, 173, 160, 0.1) 0%, transparent 58%);
	animation: ivfProBgFloat 13s ease-in-out infinite alternate;
}

.lap-benefits-title {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 44rem;
	margin: 0 auto 1.15rem;
}

.lap-benefits-title h2 {
	text-align: center;
	font-size: clamp(1.65rem, 1.55vw + 1.05rem, 2.2rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: #3f1f5d;
	margin-bottom: 0.7rem;
	padding-bottom: 0.85rem;
}

.lap-benefits-title h2::after {
	left: 50%;
	transform: translateX(-50%);
	width: 84px;
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(90deg, #17a2b8 0%, #04ada0 100%);
	animation: none;
}

.lap-benefits-title p {
	max-width: 40rem;
	margin: 0 auto;
	color: #5d6472;
	font-size: 1rem;
	line-height: 1.65;
}

.lap-benefits-visual {
	position: relative;
	z-index: 1;
	margin: 0;
	border-radius: 20px;
	overflow: hidden;
	box-shadow:
		0 18px 38px rgba(58, 30, 80, 0.14),
		0 0 0 1px rgba(106, 45, 145, 0.08);
	animation: lapBenefitVisualIn 0.8s ease both;
}

.lap-benefits-visual::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 2px;
	border-radius: inherit;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	animation: ivfProGradientShift 8s ease infinite;
}

.lap-benefits-visual::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 36%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(43, 20, 66, 0.28) 100%);
	pointer-events: none;
}

.lap-benefits-visual img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1.3 / 1;
	object-fit: cover;
	transform: scale(1.01);
}

@keyframes lapBenefitVisualIn {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

.lap-benefits-card {
	height: auto;
	position: relative;
	z-index: 1;
	overflow: hidden;
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 253, 255, 0.95) 100%);
	border: 1px solid rgba(106, 45, 145, 0.16);
	border-radius: 22px;
	padding: clamp(1rem, 2vw, 1.55rem);
	box-shadow:
		0 16px 36px rgba(58, 30, 80, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.lap-benefits-card::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	animation: ivfProGradientShift 8s ease infinite;
}

.lap-benefits-card ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.78rem;
}

.lap-benefits-card li {
	position: relative;
	padding: 0.9rem 0.85rem 0.9rem 2.45rem;
	border-radius: 15px;
	background: linear-gradient(135deg, rgba(106, 45, 145, 0.1) 0%, rgba(4, 173, 160, 0.12) 100%);
	border: 1px solid rgba(106, 45, 145, 0.13);
	box-shadow: 0 8px 18px rgba(58, 30, 80, 0.07);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
	animation: lapBenefitItemIn 0.6s ease backwards;
}

.lap-benefits-card li:nth-child(1) { animation-delay: 0.05s; }
.lap-benefits-card li:nth-child(2) { animation-delay: 0.12s; }
.lap-benefits-card li:nth-child(3) { animation-delay: 0.19s; }

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

.lap-benefits-card li:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 24px rgba(58, 30, 80, 0.12);
}

.lap-benefits-card li::before {
	content: "";
	position: absolute;
	left: 1rem;
	top: 1.15rem;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--brand-ui-gradient);
	box-shadow: 0 0 0 5px rgba(4, 173, 160, 0.12);
}

.lap-benefits-card li::after {
	content: "";
	position: absolute;
	left: 1.15rem;
	top: 1.5rem;
	bottom: -0.7rem;
	width: 2px;
	background: linear-gradient(180deg, rgba(23, 162, 184, 0.4) 0%, rgba(106, 45, 145, 0.08) 100%);
}

.lap-benefits-card li:last-child::after {
	display: none;
}

.lap-benefits-card h3 {
	margin: 0 0 0.3rem;
	font-size: 1.06rem;
	color: var(--brand-purple-deep);
	text-transform: none;
	line-height: 1.35;
}

.lap-benefits-card p {
	margin: 0;
	color: #5b6575;
	line-height: 1.62;
}

@media (min-width: 992px) {
	.lap-benefits .row > .col-lg-6 {
		display: block;
	}

	.lap-benefits-visual {
		display: block;
	}

	.lap-benefits .row {
		align-items: flex-start !important;
	}
}

@media only screen and (max-width: 991px) {
	.lap-benefits-title {
		margin-bottom: 0.45rem;
	}

	.lap-benefits-visual {
		max-width: 560px;
		margin-left: auto;
		margin-right: auto;
	}
}

.lap-counter {
	position: relative;
	overflow: hidden;
	background: linear-gradient(160deg, #31184b 0%, #28133f 48%, #12343c 100%);
}
.lap-counter-bg {
	position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(ellipse 52% 38% at 10% 18%, rgba(106, 45, 145, 0.34) 0%, transparent 60%),
		radial-gradient(ellipse 45% 35% at 92% 75%, rgba(4, 173, 160, 0.24) 0%, transparent 58%);
	animation: ivfProBgFloat 12s ease-in-out infinite alternate;
}
.lap-counter .container.position-relative { z-index: 1; }
.lap-counter .lap-title-wrap h2 { color: #fff; }
.lap-counter .lap-title-wrap p { color: rgba(255, 255, 255, 0.82); max-width: 44rem; }

.lap-counter-card {
	height: 100%; border-radius: 18px; padding: 1rem 1rem 1.1rem;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.06) 100%);
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
	text-align: center; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.lap-counter-card:hover {
	transform: translateY(-4px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 12px 28px rgba(4, 173, 160, 0.2);
}
.lap-counter-icon {
	width: 58px; height: 58px; margin: 0 auto 0.8rem; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, rgba(106, 45, 145, 0.64) 0%, rgba(4, 173, 160, 0.76) 100%);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.lap-counter-icon img { width: 26px; height: 26px; filter: brightness(0) invert(1); }
.lap-counter-card h3 {
	margin: 0 0 0.35rem; font-size: clamp(1.5rem, 1.2vw + 1.1rem, 2rem); color: #fff; line-height: 1.1; letter-spacing: -0.01em;
}
.lap-counter-card p { margin: 0; color: rgba(255, 255, 255, 0.84); line-height: 1.55; }

.lap-cta {
	position: relative;
	overflow: hidden;
	padding: 15px;
	background: linear-gradient(145deg, #f3eeff 0%, #e8faf7 100%);
}

.lap-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 52% 38% at 12% 20%, rgba(106, 45, 145, 0.14) 0%, transparent 60%),
		radial-gradient(ellipse 45% 34% at 88% 75%, rgba(4, 173, 160, 0.14) 0%, transparent 58%);
	animation: ivfProBgFloat 11s ease-in-out infinite alternate;
}

.lap-cta-box {
	position: relative;
	isolation: isolate;
	text-align: center;
	overflow: hidden;
	background: linear-gradient(150deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 100%);
	border: 1px solid rgba(106, 45, 145, 0.16);
	border-radius: 24px;
	padding: clamp(1.7rem, 3vw, 2.6rem);
	box-shadow:
		0 16px 38px rgba(58, 30, 80, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.lap-cta-box::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
	animation: ivfProGradientShift 8s ease infinite;
}

.lap-cta-glow {
	position: absolute;
	inset: -26%;
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(ellipse 42% 30% at 15% 25%, rgba(106, 45, 145, 0.18) 0%, transparent 60%),
		radial-gradient(ellipse 38% 28% at 85% 72%, rgba(4, 173, 160, 0.18) 0%, transparent 60%);
	animation: ivfProBgFloat 10s ease-in-out infinite alternate;
}

.lap-cta-kicker {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin: 0 0 0.65rem;
	padding: 0.38rem 0.88rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--brand-purple-deep);
	background: linear-gradient(120deg, rgba(106, 45, 145, 0.13) 0%, rgba(4, 173, 160, 0.15) 100%);
	border: 1px solid rgba(106, 45, 145, 0.14);
}

.lap-cta-box h2 {
	position: relative;
	z-index: 1;
	color: var(--brand-purple-deep);
	margin-bottom: 0.72rem;
	text-wrap: balance;
}

.lap-cta-box p {
	position: relative;
	z-index: 1;
	max-width: 44rem;
	margin: 0 auto 1.2rem;
	color: #56606f;
}

.lap-cta-actions {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.78rem 1rem;
}

.lap-cta-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.72rem 1.35rem;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	color: var(--brand-purple-deep);
	border: 1px solid rgba(106, 45, 145, 0.22);
	background: rgba(255, 255, 255, 0.76);
	transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.lap-cta-link:hover {
	color: var(--brand-teal);
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(4, 173, 160, 0.22);
}

.lap-cta-box,
.lap-cta-faq {
	height: 100%;
}

.lap-cta-faq {
	position: relative;
	overflow: hidden;
	background: linear-gradient(150deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 100%);
	border: 1px solid rgba(106, 45, 145, 0.16);
	border-radius: 24px;
	padding: clamp(1.2rem, 2.2vw, 1.8rem);
	box-shadow:
		0 16px 38px rgba(58, 30, 80, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.lap-cta-faq::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	animation: ivfProGradientShift 8s ease infinite;
}

.lap-cta-faq h3 {
	position: relative;
	z-index: 1;
	margin-bottom: 0.9rem;
	color: var(--brand-purple-deep);
	font-size: clamp(1.16rem, 1.2vw + 0.95rem, 1.4rem);
}

.lap-cta-faq-accordion {
	position: relative;
	z-index: 1;
}

.lap-cta-faq-accordion .accordion-item {
	border: 1px solid rgba(106, 45, 145, 0.12);
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 0.7rem;
	background: linear-gradient(130deg, rgba(106, 45, 145, 0.05) 0%, rgba(4, 173, 160, 0.07) 100%);
}

.lap-cta-faq-accordion .accordion-item:last-child {
	margin-bottom: 0;
}

.lap-cta-faq-accordion .accordion-button {
	background: transparent;
	color: var(--brand-purple-deep);
	font-weight: 700;
	box-shadow: none;
	padding: 0.88rem 1rem;
}

.lap-cta-faq-accordion .accordion-button:not(.collapsed) {
	background: rgba(255, 255, 255, 0.42);
	color: var(--brand-purple-deep);
}

.lap-cta-faq-accordion .accordion-body {
	padding-top: 0.2rem;
}

.lap-cta-faq-accordion .accordion-body p {
	margin: 0;
	color: #586170;
	line-height: 1.62;
}

@media (prefers-reduced-motion: reduce) {
	.lap-hero-bg, .lap-topic-card, .lap-topic-wordmark span, .lap-topic-flow li, .lap-topic-core,
	.lap-btn.btn-default, .lap-title-wrap h2::after, .lap-card::before, .lap-counter-bg,
	.lap-cta::before, .lap-cta-box::before, .lap-cta-faq::before, .lap-cta-glow, .lap-benefits-visual, .lap-benefits-visual::before,
	.lap-process::before, .lap-process-card, .lap-process-card::before, .lap-process-no,
	.lap-benefits-card::before, .lap-benefits-card li {
		animation: none !important;
	}
}

@media only screen and (max-width: 991px) {
	.lap-hero-content { text-align: center; }
	.lap-hero p { margin-left: auto; margin-right: auto; }
	.lap-hero-actions, .lap-breadcrumb ol { justify-content: center; }

	.lap-benefits-title,
	.lap-benefits-title h2,
	.lap-benefits-title p {
		text-align: center;
	}

	.lap-benefits-title h2::after {
		left: 50%;
		transform: translateX(-50%);
	}

	.lap-benefits-title p {
		margin: 0 auto;
	}
}

@media only screen and (max-width: 575px) {
	.lap-btn.btn-default, .lap-link, .lap-cta-link { width: 100%; text-align: center; }
	.lap-cta-actions { flex-direction: column; }

	.lap-cta-faq-accordion .accordion-button {
		padding: 0.8rem 0.85rem;
	}
}

/* =============================================================================
   Hysteroscopy page (hysteroscopy.php)
   ============================================================================= */
.hys-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(3rem, 5.8vw, 5rem) 0;
	background: linear-gradient(160deg, #341a4f 0%, #2a1442 44%, #12363f 100%);
}

.hys-hero-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 60% 45% at 8% 18%, rgba(106, 45, 145, 0.4) 0%, transparent 58%),
		radial-gradient(ellipse 50% 40% at 94% 78%, rgba(4, 173, 160, 0.28) 0%, transparent 56%);
	animation: ivfProBgFloat 12s ease-in-out infinite alternate;
}

.hys-hero-content { position: relative; z-index: 1; }

.hys-kicker {
	display: inline-block;
	margin: 0 0 0.7rem;
	padding: 0.4rem 0.92rem;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.hys-hero h1 {
	color: #fff;
	font-size: clamp(1.9rem, 2.5vw + 1rem, 3.05rem);
	line-height: 1.14;
	letter-spacing: -0.02em;
	margin-bottom: 0.86rem;
	text-wrap: balance;
}

.hys-hero p {
	color: rgba(255, 255, 255, 0.87);
	max-width: 42rem;
	line-height: 1.7;
}

.hys-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	margin: 1.2rem 0 1.3rem;
}

.hys-btn.btn-default {
	border: none;
	color: #fff !important;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	border-radius: 999px;
	padding: 0.82rem 1.48rem;
	box-shadow: 0 10px 30px rgba(106, 45, 145, 0.28);
	animation: ivfProGradientShift 7s ease infinite;
	overflow: visible;
	z-index: 1;
}

.hys-btn.btn-default::before,
.hys-btn.btn-default::after { display: none !important; }

.hys-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.78rem 1.2rem;
	border-radius: 999px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.08);
}

.hys-link:hover { color: #fff; background: rgba(255, 255, 255, 0.16); }

.hys-breadcrumb ol { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem 1.15rem; }
.hys-breadcrumb li { position: relative; color: rgba(255, 255, 255, 0.82); font-size: 0.92rem; }
.hys-breadcrumb li + li::before { content: "/"; position: absolute; left: -0.7rem; color: rgba(255, 255, 255, 0.56); }
.hys-breadcrumb a { color: rgba(255, 255, 255, 0.92); text-decoration: none; }
.hys-breadcrumb a:hover { color: #fff; text-decoration: underline; }

.hys-hero-image {
	position: relative;
	margin: 0;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 22px 46px rgba(6, 8, 21, 0.3);
}

.hys-hero-image::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 2px;
	border-radius: inherit;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	animation: ivfProGradientShift 8s ease infinite;
}

.hys-hero-image img { display: block; width: 100%; height: auto; aspect-ratio: 1.08 / 1; object-fit: cover; }

.hys-overview, .hys-counter { padding: 32px; }
.hys-overview { background: linear-gradient(170deg, #ffffff 0%, #f6f2ff 45%, #eefcf9 100%); }

.hys-title-wrap { text-align: center; max-width: 48rem; margin: 0 auto clamp(1.6rem, 3vw, 2.35rem); }
.hys-title-wrap h2 {
	position: relative; color: var(--brand-purple-deep); padding-bottom: 0.8rem; margin-bottom: 0.75rem; text-wrap: balance;
}
.hys-title-wrap h2::after {
	content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
	width: min(122px, 28vw); height: 4px; border-radius: 4px;
	background: var(--brand-ui-gradient); background-size: 200% 100%; animation: ivfProGradientShift 7s ease infinite;
}
.hys-title-wrap p { color: #5b6372; line-height: 1.66; }

.hys-card {
	height: 100%; position: relative; overflow: hidden; background: #fff;
	border: 1px solid rgba(106, 45, 145, 0.13); border-radius: 20px;
	box-shadow: 0 14px 34px rgba(58, 30, 80, 0.1); padding: clamp(1.1rem, 2vw, 1.7rem);
}
.hys-card::before {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
	background: var(--brand-ui-gradient); background-size: 100% 200%; animation: ivfProGradientShiftY 6s ease-in-out infinite;
}
.hys-card h3 { color: var(--brand-purple-deep); margin-bottom: 0.72rem; padding-left: 0.45rem; }
.hys-card p { color: #586172; line-height: 1.7; padding-left: 0.45rem; margin-bottom: 0.72rem; }

.hys-card-highlight { background: linear-gradient(160deg, rgba(106, 45, 145, 0.08) 0%, rgba(4, 173, 160, 0.1) 100%); }
.hys-card-highlight ul { list-style: none; margin: 0; padding: 0.2rem 0 0 0.45rem; display: grid; gap: 0.78rem; }
.hys-card-highlight li { position: relative; padding-left: 1.4rem; color: #4f5665; line-height: 1.55; }
.hys-card-highlight li::before { content: ""; position: absolute; left: 0; top: 0.58rem; width: 8px; height: 8px; border-radius: 50%; background: var(--brand-ui-gradient); }

.hys-benefits {
	position: relative;
	overflow: hidden;
	padding: clamp(2.8rem, 5.6vw, 4.7rem) 0;
	background: linear-gradient(160deg, #f6efff 0%, #edf7ff 40%, #e6faf6 100%);
	padding: 30px;
}

.hys-benefits::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 60% 46% at 12% 10%, rgba(106, 45, 145, 0.18) 0%, transparent 58%),
		radial-gradient(ellipse 52% 38% at 92% 82%, rgba(4, 173, 160, 0.16) 0%, transparent 56%),
		radial-gradient(ellipse 44% 32% at 50% 100%, rgba(23, 162, 184, 0.1) 0%, transparent 52%);
	animation: ivfProBgFloat 12s ease-in-out infinite alternate;
}

.hys-benefits::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(106, 45, 145, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(4, 173, 160, 0.05) 1px, transparent 1px);
	background-size: 28px 28px;
	mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 30%, transparent 78%);
	opacity: 0.35;
}

.hys-benefits .container {
	position: relative;
	z-index: 1;
}

.hys-benefits-title {
	max-width: 50rem;
	margin-bottom: clamp(1.45rem, 3.5vw, 2.4rem);
}

.hys-benefits-title h2 {
	color: #3d1e5b;
	font-size: clamp(1.62rem, 2vw + 0.95rem, 2.3rem);
	line-height: 1.16;
	letter-spacing: -0.01em;
	margin-bottom: 0.7rem;
	padding-bottom: 0.86rem;
}

.hys-benefits-title h2::after {
	width: min(108px, 26vw);
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(90deg, #17a2b8 0%, #04ada0 100%);
	animation: ivfProGradientShift 8s ease infinite;
}

.hys-benefits-title p {
	max-width: 44rem;
	margin-left: auto;
	margin-right: auto;
	color: #5a6473;
	font-size: 1rem;
	line-height: 1.65;
}

.hys-benefits .row {
	row-gap: 1rem;
}

.hys-benefit-card {
	height: 100%;
	position: relative;
	overflow: hidden;
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 253, 255, 0.97) 100%);
	border: 1px solid rgba(106, 45, 145, 0.17);
	border-radius: 22px;
	padding: 1.2rem 1rem 1.3rem 1.1rem;
	box-shadow:
		0 16px 34px rgba(58, 30, 80, 0.11),
		inset 0 1px 0 rgba(255, 255, 255, 0.86);
	transition: transform 0.24s ease, box-shadow 0.24s ease;
	animation: hysBenefitIn 0.65s ease backwards;
}

.hys-benefits .row > [class*="col-"]:nth-child(1) .hys-benefit-card { animation-delay: 0.05s; }
.hys-benefits .row > [class*="col-"]:nth-child(2) .hys-benefit-card { animation-delay: 0.12s; }
.hys-benefits .row > [class*="col-"]:nth-child(3) .hys-benefit-card { animation-delay: 0.19s; }
.hys-benefits .row > [class*="col-"]:nth-child(4) .hys-benefit-card { animation-delay: 0.26s; }
.hys-benefits .row > [class*="col-"]:nth-child(5) .hys-benefit-card { animation-delay: 0.33s; }

@keyframes hysBenefitIn {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

.hys-benefit-card::before {
	content: "";
	position: absolute;
	inset: 0;
	height: 4px;
	background: var(--brand-ui-gradient);
	background-size: 200% 100%;
	animation: ivfProGradientShift 7s ease infinite;
	opacity: 1;
}

.hys-benefit-card::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(130deg, rgba(106, 45, 145, 0.35) 0%, rgba(4, 173, 160, 0.28) 100%);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.hys-benefit-card:hover {
	transform: translateY(-7px);
	box-shadow:
		0 24px 42px rgba(58, 30, 80, 0.16),
		0 0 0 1px rgba(4, 173, 160, 0.08);
}

.hys-benefit-card h3 {
	margin: 0 0 0.45rem;
	padding-left: 2.1rem;
	font-size: 1.08rem;
	line-height: 1.35;
	color: var(--brand-purple-deep);
	position: relative;
}

.hys-benefit-card h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--brand-ui-gradient);
	box-shadow: 0 0 0 5px rgba(4, 173, 160, 0.12);
}

.hys-benefit-card p {
	margin: 0;
	padding-left: 2.1rem;
	color: #5b6575;
	line-height: 1.62;
}

.hys-process {
	position: relative;
	overflow: hidden;
	padding: clamp(1.25rem, 2.6vw, 2rem);
	background: linear-gradient(140deg, #f6eeff 0%, #f0f7ff 44%, #e6faf6 100%);
	isolation: isolate;
}

.hys-process::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 60% 46% at 8% 8%, rgba(106, 45, 145, 0.14) 0%, transparent 62%),
		radial-gradient(ellipse 52% 40% at 92% 88%, rgba(4, 173, 160, 0.16) 0%, transparent 60%);
	animation: ivfProBgFloat 11s ease-in-out infinite alternate;
}

.hys-process::after {
	content: "";
	position: absolute;
	inset: -24% -10%;
	pointer-events: none;
	z-index: 0;
	background:
		conic-gradient(from 30deg at 20% 25%, rgba(106, 45, 145, 0.14), transparent 32%, rgba(4, 173, 160, 0.1) 68%, transparent 90%),
		conic-gradient(from 220deg at 82% 76%, rgba(4, 173, 160, 0.14), transparent 34%, rgba(106, 45, 145, 0.1) 72%, transparent 95%);
	opacity: 0.72;
	animation: hysProcessAura 18s linear infinite;
}

.hys-process .container {
	position: relative;
	z-index: 2;
}

.hys-process .hys-title-wrap {
	max-width: 50rem;
	margin-bottom: clamp(1.55rem, 3.2vw, 2.45rem);
}

.hys-process .hys-title-wrap h2 {
	font-size: clamp(1.6rem, 2vw + 0.95rem, 2.3rem);
	color: #3d1e5b;
}

.hys-process .hys-title-wrap p {
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
	color: #5a6473;
}

.hys-process .row.g-4 {
	position: relative;
	--bs-gutter-y: clamp(0.95rem, 2.3vw, 1.45rem);
	--bs-gutter-x: clamp(0.95rem, 1.8vw, 1.25rem);
}

@media (min-width: 992px) {
	.hys-process .row.g-4::before {
		content: "";
		position: absolute;
		top: 1.45rem;
		left: 7%;
		right: 7%;
		height: 3px;
		border-radius: 999px;
		background: linear-gradient(90deg, rgba(106, 45, 145, 0.2) 0%, rgba(4, 173, 160, 0.32) 50%, rgba(106, 45, 145, 0.2) 100%);
		background-size: 200% 100%;
		animation: ivfProGradientShift 9s ease infinite;
		pointer-events: none;
	}
}

.hys-process-card {
	height: 100%;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 252, 251, 0.88) 100%);
	border: 1px solid rgba(106, 45, 145, 0.2);
	border-radius: 22px;
	padding: 1.32rem 1.2rem 1.38rem;
	-webkit-backdrop-filter: blur(9px);
	backdrop-filter: blur(9px);
	box-shadow:
		0 14px 32px rgba(58, 30, 80, 0.11),
		inset 0 1px 0 rgba(255, 255, 255, 0.88);
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
	animation: hysWorkflowIn 0.7s ease backwards;
}

.hys-process .row > [class*="col-"]:nth-child(1) .hys-process-card { animation-delay: 0.05s; }
.hys-process .row > [class*="col-"]:nth-child(2) .hys-process-card { animation-delay: 0.12s; }
.hys-process .row > [class*="col-"]:nth-child(3) .hys-process-card { animation-delay: 0.19s; }
.hys-process .row > [class*="col-"]:nth-child(4) .hys-process-card { animation-delay: 0.26s; }
.hys-process .row > [class*="col-"]:nth-child(5) .hys-process-card { animation-delay: 0.33s; }

.hys-process .row > [class*="col-"] {
	position: relative;
	z-index: 1;
}

@keyframes hysWorkflowIn {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes hysProcessAura {
	from { transform: rotate(0deg) scale(1); }
	to { transform: rotate(360deg) scale(1.02); }
}

.hys-process-card::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--brand-ui-gradient);
	background-size: 230% 230%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: ivfProGradientShift 8s ease infinite;
	pointer-events: none;
	z-index: 0;
}

.hys-process-card::after {
	content: "";
	position: absolute;
	width: 185px;
	height: 185px;
	right: -58px;
	top: -72px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(106, 45, 145, 0.2) 0%, rgba(106, 45, 145, 0.02) 58%, transparent 78%);
	filter: blur(2px);
	opacity: 0.65;
	transition: transform 0.35s ease, opacity 0.35s ease;
	z-index: 0;
	pointer-events: none;
}

.hys-process-card:hover {
	transform: translateY(-8px);
	box-shadow:
		0 22px 42px rgba(58, 30, 80, 0.16),
		0 0 0 1px rgba(4, 173, 160, 0.16);
	border-color: rgba(4, 173, 160, 0.38);
}

.hys-process-card:hover::after {
	transform: scale(1.16);
	opacity: 0.85;
}

.hys-process-card:focus-within {
	outline: 2px solid rgba(4, 173, 160, 0.28);
	outline-offset: 2px;
}

.hys-process-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 800;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	animation: ivfProGradientShift 8s ease infinite;
	margin-bottom: 1.05rem;
	box-shadow:
		0 12px 24px rgba(106, 45, 145, 0.26),
		inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.hys-process-card h3 {
	color: var(--brand-purple-deep);
	font-size: clamp(1.03rem, 0.45vw + 0.96rem, 1.16rem);
	line-height: 1.4;
	margin-bottom: 0.62rem;
	position: relative;
	z-index: 1;
}

.hys-process-card p {
	margin: 0;
	color: #5a6372;
	line-height: 1.66;
	font-size: clamp(0.94rem, 0.2vw + 0.9rem, 0.99rem);
	position: relative;
	z-index: 1;
}

@media only screen and (max-width: 1199px) {
	.hys-process-card {
		padding: 1.2rem 1.05rem 1.25rem;
		border-radius: 20px;
	}
}

@media only screen and (max-width: 767px) {
	.hys-process {
		padding: 1rem 0.9rem;
	}

	.hys-process-no {
		width: 48px;
		height: 48px;
		border-radius: 14px;
		margin-bottom: 0.88rem;
	}

	.hys-process-card:hover {
		transform: translateY(-4px);
	}
}

.hys-counter {
	position: relative;
	overflow: hidden;
	background: linear-gradient(160deg, #31184b 0%, #28133f 48%, #12343c 100%);
	padding: 31px;
}
.hys-counter-bg {
	position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(ellipse 52% 38% at 10% 18%, rgba(106, 45, 145, 0.34) 0%, transparent 60%),
		radial-gradient(ellipse 45% 35% at 92% 75%, rgba(4, 173, 160, 0.24) 0%, transparent 58%);
	animation: ivfProBgFloat 12s ease-in-out infinite alternate;
}
.hys-counter .container.position-relative { z-index: 1; }
.hys-counter .hys-title-wrap h2 { color: #fff; }
.hys-counter .hys-title-wrap p { color: rgba(255, 255, 255, 0.82); max-width: 44rem; }

.hys-counter-card {
	height: 100%; border-radius: 18px; padding: 1rem 1rem 1.1rem;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.06) 100%);
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
	text-align: center; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.hys-counter-card:hover { transform: translateY(-4px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 12px 28px rgba(4, 173, 160, 0.2); }
.hys-counter-icon {
	width: 58px; height: 58px; margin: 0 auto 0.8rem; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, rgba(106, 45, 145, 0.64) 0%, rgba(4, 173, 160, 0.76) 100%);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.hys-counter-icon img { width: 26px; height: 26px; filter: brightness(0) invert(1); }
.hys-counter-card h3 { margin: 0 0 0.35rem; font-size: clamp(1.5rem, 1.2vw + 1.1rem, 2rem); color: #fff; line-height: 1.1; letter-spacing: -0.01em; }
.hys-counter-card p { margin: 0; color: rgba(255, 255, 255, 0.84); line-height: 1.55; }

.hys-cta {
	position: relative;
	overflow: hidden;
	padding: 42px;
	background: linear-gradient(145deg, #f3eeff 0%, #e8faf7 100%);
}

.hys-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 52% 38% at 12% 20%, rgba(106, 45, 145, 0.14) 0%, transparent 60%),
		radial-gradient(ellipse 45% 34% at 88% 75%, rgba(4, 173, 160, 0.14) 0%, transparent 58%);
	animation: ivfProBgFloat 11s ease-in-out infinite alternate;
}

.hys-cta-box {
	position: relative;
	isolation: isolate;
	text-align: center;
	overflow: hidden;
	background: linear-gradient(150deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 100%);
	border: 1px solid rgba(106, 45, 145, 0.16);
	border-radius: 24px;
	padding: clamp(1.7rem, 3vw, 2.6rem);
	box-shadow:
		0 16px 38px rgba(58, 30, 80, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.hys-cta-box::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
	animation: ivfProGradientShift 8s ease infinite;
}

.hys-cta-glow {
	position: absolute;
	inset: -26%;
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(ellipse 42% 30% at 15% 25%, rgba(106, 45, 145, 0.18) 0%, transparent 60%),
		radial-gradient(ellipse 38% 28% at 85% 72%, rgba(4, 173, 160, 0.18) 0%, transparent 60%);
	animation: ivfProBgFloat 10s ease-in-out infinite alternate;
}

.hys-cta-kicker {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin: 0 0 0.65rem;
	padding: 0.38rem 0.88rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--brand-purple-deep);
	background: linear-gradient(120deg, rgba(106, 45, 145, 0.13) 0%, rgba(4, 173, 160, 0.15) 100%);
	border: 1px solid rgba(106, 45, 145, 0.14);
}

.hys-cta-box h2 {
	position: relative;
	z-index: 1;
	color: var(--brand-purple-deep);
	margin-bottom: 0.72rem;
	text-wrap: balance;
}

.hys-cta-box p {
	position: relative;
	z-index: 1;
	max-width: 44rem;
	margin: 0 auto 1.2rem;
	color: #56606f;
}

.hys-cta-actions {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.78rem 1rem;
}

.hys-cta-box,
.hys-cta-faq { height: 100%; }

.hys-cta-faq {
	position: relative;
	overflow: hidden;
	background: linear-gradient(150deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 100%);
	border: 1px solid rgba(106, 45, 145, 0.16);
	border-radius: 24px;
	padding: clamp(1.2rem, 2.2vw, 1.8rem);
	box-shadow:
		0 16px 38px rgba(58, 30, 80, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.hys-cta-faq::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	animation: ivfProGradientShift 8s ease infinite;
}

.hys-cta-faq h3 {
	position: relative;
	z-index: 1;
	margin-bottom: 0.9rem;
	color: var(--brand-purple-deep);
	font-size: clamp(1.16rem, 1.2vw + 0.95rem, 1.4rem);
}

.hys-cta-faq-accordion { position: relative; z-index: 1; }

.hys-cta-faq-accordion .accordion-item {
	border: 1px solid rgba(106, 45, 145, 0.12);
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 0.7rem;
	background: linear-gradient(130deg, rgba(106, 45, 145, 0.05) 0%, rgba(4, 173, 160, 0.07) 100%);
}
.hys-cta-faq-accordion .accordion-item:last-child { margin-bottom: 0; }

.hys-cta-faq-accordion .accordion-button {
	background: transparent;
	color: var(--brand-purple-deep);
	font-weight: 700;
	box-shadow: none;
	padding: 0.88rem 1rem;
}
.hys-cta-faq-accordion .accordion-button:not(.collapsed) {
	background: rgba(255, 255, 255, 0.42);
	color: var(--brand-purple-deep);
}
.hys-cta-faq-accordion .accordion-body { padding-top: 0.2rem; }
.hys-cta-faq-accordion .accordion-body p {
	margin: 0;
	color: #586170;
	line-height: 1.62;
}

@media (prefers-reduced-motion: reduce) {
	.hys-hero-bg, .hys-hero-image::before, .hys-btn.btn-default, .hys-title-wrap h2::after, .hys-card::before, .hys-counter-bg,
	.hys-cta::before, .hys-cta-box::before, .hys-cta-faq::before, .hys-cta-glow,
	.hys-process::before, .hys-process::after, .hys-process-card, .hys-process-card::before, .hys-process-no,
	.hys-benefits::before, .hys-benefit-card, .hys-benefit-card::before {
		animation: none !important;
	}
}

@media only screen and (max-width: 991px) {
	.hys-hero-content { text-align: center; }
	.hys-hero p { margin-left: auto; margin-right: auto; }
	.hys-hero-actions, .hys-breadcrumb ol { justify-content: center; }
}

@media only screen and (max-width: 575px) {
	.hys-btn.btn-default, .hys-link { width: 100%; text-align: center; }
	.hys-cta-actions { flex-direction: column; }
	.hys-cta-faq-accordion .accordion-button { padding: 0.8rem 0.85rem; }
}

/* IVF Center landing page (best-ivf-fertility-clinic-in-bhubaneswar.php) */
.best-ivf-hero,
.best-ivf-overview,
.best-ivf-journey,
.best-ivf-metrics,
.best-ivf-faq,
.best-ivf-cta {
	position: relative;
	overflow: hidden;
}

.best-ivf-hero {
	padding: clamp(2rem, 4vw, 3.4rem) 0 clamp(1.3rem, 3vw, 2.2rem);
	background: linear-gradient(145deg, #f6efff 0%, #ebf7ff 45%, #e7faf5 100%);
}

.best-ivf-hero-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 54% 40% at 10% 12%, rgba(106, 45, 145, 0.15) 0%, transparent 62%),
		radial-gradient(ellipse 46% 35% at 90% 78%, rgba(4, 173, 160, 0.14) 0%, transparent 58%);
	animation: ivfProBgFloat 11s ease-in-out infinite alternate;
}

.best-ivf-hero .container { position: relative; z-index: 1; }

.best-ivf-kicker {
	display: inline-block;
	margin: 0 0 0.72rem;
	padding: 0.42rem 0.86rem;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--brand-purple-deep);
	background: linear-gradient(120deg, rgba(106, 45, 145, 0.15) 0%, rgba(4, 173, 160, 0.15) 100%);
	border: 1px solid rgba(106, 45, 145, 0.15);
}

.best-ivf-hero-content h1 {
	margin-bottom: 0.7rem;
	font-size: clamp(1.75rem, 2.2vw + 1.1rem, 2.8rem);
	line-height: 1.2;
	color: var(--brand-purple-deep);
	text-wrap: balance;
}

.best-ivf-hero-content p {
	max-width: 44rem;
	color: #556071;
	line-height: 1.67;
}

.best-ivf-hero-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.8rem 1rem;
	margin-top: 1.05rem;
}

.best-ivf-btn {
	position: relative;
	overflow: hidden;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	border: none;
	animation: ivfProGradientShift 8s ease infinite;
}

.best-ivf-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 700;
	color: var(--brand-purple-deep);
	text-decoration: none;
}
.best-ivf-link:hover { color: var(--brand-teal); }

.best-ivf-breadcrumb { margin-top: 1.05rem; }
.best-ivf-breadcrumb ol {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.best-ivf-breadcrumb li {
	color: #5c6778;
	font-size: 0.92rem;
}
.best-ivf-breadcrumb li + li::before {
	content: "/";
	margin-right: 0.5rem;
	color: #7c8797;
}
.best-ivf-breadcrumb a {
	color: var(--brand-purple-deep);
	text-decoration: none;
}
.best-ivf-breadcrumb a:hover { color: var(--brand-teal); }

.best-ivf-hero-image {
	position: relative;
	margin: 0;
	padding: 0.55rem;
	border-radius: 24px;
	background: linear-gradient(130deg, rgba(106, 45, 145, 0.28) 0%, rgba(4, 173, 160, 0.3) 100%);
	box-shadow: 0 18px 40px rgba(58, 30, 80, 0.16);
	animation: hysWorkflowIn 0.75s ease both;
}
.best-ivf-hero-image::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(120deg, rgba(255, 255, 255, 0.34) 0%, transparent 70%);
	pointer-events: none;
}
.best-ivf-hero-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 18px;
}

.best-ivf-overview,
.best-ivf-journey,
.best-ivf-faq,
.best-ivf-cta { padding: clamp(2.1rem, 4.2vw, 3.6rem) 0; }

.best-ivf-overview {
	background: linear-gradient(155deg, #ffffff 0%, #f9fcff 100%);
}

.best-ivf-title-wrap {
	max-width: 52rem;
	margin-bottom: clamp(1.25rem, 2.6vw, 2rem);
}
.best-ivf-title-wrap h2 {
	color: var(--brand-purple-deep);
	font-size: clamp(1.5rem, 1.8vw + 0.95rem, 2.2rem);
	text-wrap: balance;
}
.best-ivf-title-wrap p {
	color: #586273;
	max-width: 45rem;
}

.best-ivf-card {
	height: 100%;
	position: relative;
	isolation: isolate;
	padding: clamp(1.1rem, 2.1vw, 1.6rem);
	border-radius: 20px;
	border: 1px solid rgba(106, 45, 145, 0.16);
	background: linear-gradient(150deg, rgba(255, 255, 255, 0.96) 0%, rgba(245, 251, 251, 0.9) 100%);
	box-shadow:
		0 12px 30px rgba(58, 30, 80, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 0.8);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.best-ivf-card::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: ivfProGradientShift 8s ease infinite;
	pointer-events: none;
}
.best-ivf-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 34px rgba(58, 30, 80, 0.15);
}
.best-ivf-card h3,
.best-ivf-card h2 {
	color: var(--brand-purple-deep);
	margin-bottom: 0.62rem;
}
.best-ivf-card p { color: #566172; line-height: 1.65; }
.best-ivf-card ul { margin: 0; padding-left: 1.08rem; }
.best-ivf-card li { color: #566172; margin-bottom: 0.55rem; }
.best-ivf-card li:last-child { margin-bottom: 0; }

.best-ivf-journey {
	background: linear-gradient(145deg, #f5eeff 0%, #ecf7ff 46%, #e8faf7 100%);
}

.best-ivf-step {
	height: 100%;
	position: relative;
	overflow: hidden;
	padding: 1.22rem 1.08rem 1.28rem;
	border-radius: 18px;
	border: 1px solid rgba(106, 45, 145, 0.16);
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.96) 0%, rgba(246, 252, 252, 0.88) 100%);
	box-shadow: 0 12px 30px rgba(58, 30, 80, 0.1);
	animation: hysWorkflowIn 0.7s ease backwards;
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}
.best-ivf-step::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	height: 4px;
	background: var(--brand-ui-gradient);
	background-size: 220% 100%;
	animation: ivfProGradientShift 8s ease infinite;
}
.best-ivf-step:hover {
	transform: translateY(-6px);
	border-color: rgba(4, 173, 160, 0.28);
	box-shadow: 0 20px 35px rgba(58, 30, 80, 0.14);
}
.best-ivf-step-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	margin-bottom: 0.9rem;
	font-size: 0.9rem;
	font-weight: 800;
	color: #fff;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	box-shadow: 0 10px 20px rgba(106, 45, 145, 0.24);
	animation: ivfProGradientShift 8s ease infinite;
}
.best-ivf-step h3 {
	color: var(--brand-purple-deep);
	font-size: clamp(1.02rem, 0.5vw + 0.9rem, 1.14rem);
	margin-bottom: 0.48rem;
}
.best-ivf-step p {
	margin: 0;
	color: #586272;
	line-height: 1.62;
}

.best-ivf-journey .row > [class*="col-"]:nth-child(1) .best-ivf-step { animation-delay: 0.05s; }
.best-ivf-journey .row > [class*="col-"]:nth-child(2) .best-ivf-step { animation-delay: 0.12s; }
.best-ivf-journey .row > [class*="col-"]:nth-child(3) .best-ivf-step { animation-delay: 0.19s; }
.best-ivf-journey .row > [class*="col-"]:nth-child(4) .best-ivf-step { animation-delay: 0.26s; }
.best-ivf-journey .row > [class*="col-"]:nth-child(5) .best-ivf-step { animation-delay: 0.33s; }

.best-ivf-metrics {
	padding: clamp(2.1rem, 4.1vw, 3.5rem) 0;
	background: linear-gradient(160deg, #2f1548 0%, #28133e 48%, #10363d 100%);
}
.best-ivf-metrics-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 50% 36% at 12% 18%, rgba(106, 45, 145, 0.35) 0%, transparent 60%),
		radial-gradient(ellipse 46% 35% at 88% 78%, rgba(4, 173, 160, 0.24) 0%, transparent 58%);
	animation: ivfProBgFloat 11s ease-in-out infinite alternate;
}
.best-ivf-title-wrap-light h2 { color: #fff; }
.best-ivf-title-wrap-light p { color: rgba(255, 255, 255, 0.84); }

.best-ivf-metric-card {
	height: 100%;
	text-align: center;
	padding: 1.05rem 1rem 1.15rem;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.08) 100%);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.best-ivf-metric-card:hover {
	transform: translateY(-4px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 12px 26px rgba(4, 173, 160, 0.22);
}
.best-ivf-metric-card h3 {
	margin: 0 0 0.35rem;
	color: #fff;
	font-size: clamp(1.45rem, 1.2vw + 1rem, 1.95rem);
	line-height: 1.12;
}
.best-ivf-metric-card p {
	margin: 0;
	color: rgba(255, 255, 255, 0.83);
	line-height: 1.55;
}

.best-ivf-faq { background: linear-gradient(160deg, #ffffff 0%, #f8fcff 100%); }

.best-ivf-faq-image {
	margin: 0;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 16px 36px rgba(58, 30, 80, 0.12);
}
.best-ivf-faq-image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.best-ivf-faq-accordion .accordion-item {
	border: 1px solid rgba(106, 45, 145, 0.12);
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 0.7rem;
	background: linear-gradient(130deg, rgba(106, 45, 145, 0.05) 0%, rgba(4, 173, 160, 0.08) 100%);
}
.best-ivf-faq-accordion .accordion-item:last-child { margin-bottom: 0; }
.best-ivf-faq-accordion .accordion-button {
	background: transparent;
	color: var(--brand-purple-deep);
	font-weight: 700;
	box-shadow: none;
	padding: 0.88rem 1rem;
}
.best-ivf-faq-accordion .accordion-button:not(.collapsed) {
	background: rgba(255, 255, 255, 0.44);
	color: var(--brand-purple-deep);
}
.best-ivf-faq-accordion .accordion-body { padding-top: 0.2rem; }
.best-ivf-faq-accordion .accordion-body p {
	margin: 0;
	color: #586170;
	line-height: 1.62;
}

.best-ivf-cta {
	padding-top: 0.4rem;
	padding-bottom: clamp(2rem, 4vw, 3.4rem);
	background:
		linear-gradient(145deg, #efe4ff 0%, #eef7ff 48%, #e4f9f4 100%);
	isolation: isolate;
}

.best-ivf-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 50% 36% at 8% 18%, rgba(106, 45, 145, 0.2) 0%, transparent 64%),
		radial-gradient(ellipse 48% 34% at 92% 82%, rgba(4, 173, 160, 0.2) 0%, transparent 60%);
	animation: ivfProBgFloat 10s ease-in-out infinite alternate;
}
.best-ivf-cta-box {
	position: relative;
	isolation: isolate;
	padding: clamp(1.55rem, 2.8vw, 2.7rem);
	border-radius: 28px;
	text-align: center;
	overflow: hidden;
	border: 1px solid rgba(106, 45, 145, 0.2);
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.95) 0%, rgba(244, 251, 250, 0.86) 100%);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow:
		0 18px 44px rgba(58, 30, 80, 0.14),
		inset 0 1px 0 rgba(255, 255, 255, 0.85);
	transform: translateZ(0);
}
.best-ivf-cta-box::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1.5px;
	background: var(--brand-ui-gradient);
	background-size: 240% 240%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	animation: ivfProGradientShift 7.5s ease infinite;
}

.best-ivf-cta-box::after {
	content: "";
	position: absolute;
	width: clamp(220px, 36vw, 360px);
	height: clamp(220px, 36vw, 360px);
	right: -90px;
	top: -130px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(106, 45, 145, 0.24) 0%, rgba(4, 173, 160, 0.12) 44%, transparent 74%);
	filter: blur(2px);
	opacity: 0.7;
	pointer-events: none;
	z-index: 0;
	animation: hysProcessAura 18s linear infinite;
}
.best-ivf-cta-glow {
	position: absolute;
	inset: -18% -8%;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 40% 30% at 14% 26%, rgba(106, 45, 145, 0.18) 0%, transparent 62%),
		radial-gradient(ellipse 36% 27% at 84% 72%, rgba(4, 173, 160, 0.2) 0%, transparent 60%);
	animation: ivfProBgFloat 9s ease-in-out infinite alternate;
}
.best-ivf-cta-box > * { position: relative; z-index: 1; }
.best-ivf-cta-box h2 {
	color: var(--brand-purple-deep);
	margin-bottom: 0.72rem;
	font-size: clamp(1.45rem, 1.5vw + 1rem, 2.25rem);
	line-height: 1.22;
	text-wrap: balance;
}
.best-ivf-cta-box p {
	max-width: 48rem;
	margin-left: auto;
	margin-right: auto;
	color: #556070;
	line-height: 1.68;
}

.best-ivf-cta .best-ivf-kicker {
	background: linear-gradient(120deg, rgba(106, 45, 145, 0.18) 0%, rgba(4, 173, 160, 0.19) 100%);
	border-color: rgba(106, 45, 145, 0.2);
	margin-bottom: 0.82rem;
}

.best-ivf-cta .best-ivf-hero-actions {
	justify-content: center;
	gap: 0.78rem 1rem;
}

.best-ivf-cta .best-ivf-btn {
	min-width: 210px;
	box-shadow: 0 14px 26px rgba(66, 26, 97, 0.26);
}

.best-ivf-cta .best-ivf-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 30px rgba(66, 26, 97, 0.3);
}

.best-ivf-cta .best-ivf-link {
	padding: 0.62rem 1rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(106, 45, 145, 0.18);
	transition: color 0.24s ease, border-color 0.24s ease, background-color 0.24s ease, transform 0.24s ease;
}

.best-ivf-cta .best-ivf-link:hover {
	transform: translateY(-2px);
	background: rgba(255, 255, 255, 0.9);
	border-color: rgba(4, 173, 160, 0.34);
}

@media only screen and (max-width: 991px) {
	.best-ivf-hero-content { text-align: center; }
	.best-ivf-hero-content p { margin-left: auto; margin-right: auto; }
	.best-ivf-hero-actions, .best-ivf-breadcrumb ol { justify-content: center; }
}

@media only screen and (max-width: 767px) {
	.best-ivf-hero,
	.best-ivf-overview,
	.best-ivf-journey,
	.best-ivf-metrics,
	.best-ivf-faq,
	.best-ivf-cta { padding: 1.9rem 0; }

	.best-ivf-step {
		padding: 1.08rem 0.95rem 1.2rem;
		border-radius: 16px;
	}

	.best-ivf-step-no {
		width: 44px;
		height: 44px;
		border-radius: 12px;
		margin-bottom: 0.78rem;
	}

	.best-ivf-cta-box {
		padding: 1.2rem 0.95rem 1.3rem;
		border-radius: 20px;
	}

	.best-ivf-cta-box h2 {
		font-size: clamp(1.2rem, 1.8vw + 0.96rem, 1.56rem);
	}

	.best-ivf-cta .best-ivf-btn {
		min-width: 190px;
	}
}

@media only screen and (max-width: 575px) {
	.best-ivf-btn, .best-ivf-link {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
	.best-ivf-faq-accordion .accordion-button { padding: 0.78rem 0.84rem; }

	.best-ivf-cta .best-ivf-hero-actions {
		flex-direction: column;
	}

	.best-ivf-cta .best-ivf-link {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.best-ivf-hero-bg, .best-ivf-btn, .best-ivf-card::before, .best-ivf-step, .best-ivf-step::before,
	.best-ivf-step-no, .best-ivf-metrics-bg, .best-ivf-cta::before, .best-ivf-cta-box::before, .best-ivf-cta-box::after, .best-ivf-cta-glow {
		animation: none !important;
		transition: none !important;
	}
}

/* Team page redesign */
.team-pro-section,
.team-pro-counter,
.team-pro-testimonials,
.team-pro-faq-enquiry {
	position: relative;
	overflow: hidden;
}

.team-pro-section {
	padding: clamp(2.1rem, 4vw, 3.6rem) 0;
	background: linear-gradient(145deg, #f3e9ff 0%, #ecf6ff 45%, #e4faf4 100%);
	isolation: isolate;
}

.team-pro-section::before {
	content: "";
	position: absolute;
	inset: -20% -8%;
	pointer-events: none;
	z-index: 0;
	background:
		conic-gradient(from 15deg at 18% 26%, rgba(106, 45, 145, 0.13), transparent 36%, rgba(4, 173, 160, 0.11) 72%, transparent 95%),
		conic-gradient(from 200deg at 84% 74%, rgba(4, 173, 160, 0.14), transparent 34%, rgba(106, 45, 145, 0.09) 72%, transparent 94%);
	opacity: 0.72;
	animation: hysProcessAura 18s linear infinite;
}

.team-pro-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(ellipse 55% 40% at 10% 12%, rgba(106, 45, 145, 0.14) 0%, transparent 62%),
		radial-gradient(ellipse 48% 35% at 90% 82%, rgba(4, 173, 160, 0.16) 0%, transparent 60%);
	animation: ivfProBgFloat 10s ease-in-out infinite alternate;
}

.team-pro-title {
	max-width: 52rem;
	margin: 0 auto clamp(1.35rem, 2.6vw, 2rem);
	position: relative;
	z-index: 2;
}
.team-pro-kicker {
	display: inline-block;
	margin: 0 0 0.72rem;
	padding: 0.4rem 0.86rem;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--brand-purple-deep);
	background: linear-gradient(120deg, rgba(106, 45, 145, 0.16) 0%, rgba(4, 173, 160, 0.18) 100%);
	border: 1px solid rgba(106, 45, 145, 0.18);
}
.team-pro-title h2 {
	color: var(--brand-purple-deep);
	font-size: clamp(1.45rem, 1.8vw + 0.95rem, 2.2rem);
	text-wrap: balance;
}
.team-pro-title p {
	color: #586272;
	max-width: 44rem;
	margin-left: auto;
	margin-right: auto;
}

.team-pro-card {
	height: 100%;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	border-radius: 22px;
	border: 1px solid rgba(106, 45, 145, 0.24);
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 250, 250, 0.9) 100%);
	-webkit-backdrop-filter: blur(9px);
	backdrop-filter: blur(9px);
	box-shadow:
		0 14px 30px rgba(58, 30, 80, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.88);
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
	animation: hysWorkflowIn 0.7s ease backwards;
}
.team-pro-card::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--brand-ui-gradient);
	background-size: 230% 230%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: ivfProGradientShift 8s ease infinite;
	pointer-events: none;
	z-index: 0;
}
.team-pro-card::after {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	background:
		radial-gradient(ellipse 42% 26% at 14% 14%, rgba(106, 45, 145, 0.18) 0%, transparent 70%),
		radial-gradient(ellipse 34% 24% at 86% 86%, rgba(4, 173, 160, 0.17) 0%, transparent 72%);
	opacity: 0.8;
	animation: ivfProBgFloat 8s ease-in-out infinite alternate;
	pointer-events: none;
	z-index: 0;
}
.team-pro-card:hover {
	transform: translateY(-7px);
	border-color: rgba(4, 173, 160, 0.34);
	box-shadow: 0 22px 38px rgba(58, 30, 80, 0.16);
}

.team-pro-media {
	margin: 0;
	aspect-ratio: 4 / 4.2;
	overflow: hidden;
	border-radius: 20px 20px 0 0;
	position: relative;
	z-index: 1;
}
.team-pro-media::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(18, 20, 25, 0) 58%, rgba(23, 18, 34, 0.3) 100%);
	pointer-events: none;
	z-index: 2;
}
.team-pro-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease, filter 0.45s ease;
}
.team-pro-card:hover .team-pro-media img {
	transform: scale(1.08);
	filter: saturate(1.06) contrast(1.04);
}

.team-pro-content {
	padding: 1.06rem 1rem 1.18rem;
	position: relative;
	z-index: 1;
}
.team-pro-content::before {
	content: "";
	position: absolute;
	left: 1rem;
	top: 0;
	width: 56px;
	height: 3px;
	border-radius: 999px;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	animation: ivfProGradientShift 7s ease infinite;
}
.team-pro-content h3 {
	margin-bottom: 0.4rem;
	color: var(--brand-purple-deep);
	font-size: clamp(1.02rem, 0.6vw + 0.88rem, 1.15rem);
	letter-spacing: 0.01em;
}
.team-pro-role {
	margin-bottom: 0.56rem;
	font-size: 0.92rem;
	font-weight: 700;
	color: #3b6a79;
}
.team-pro-content p {
	margin: 0;
	color: #5b6575;
	line-height: 1.64;
}

.team-pro-counter {
	padding: clamp(2rem, 4vw, 3.3rem) 0;
	background: linear-gradient(160deg, #2f1548 0%, #28133e 48%, #10363d 100%);
}
.team-pro-counter-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 52% 38% at 10% 18%, rgba(106, 45, 145, 0.34) 0%, transparent 60%),
		radial-gradient(ellipse 45% 35% at 90% 76%, rgba(4, 173, 160, 0.24) 0%, transparent 58%);
	animation: ivfProBgFloat 12s ease-in-out infinite alternate;
}
.team-pro-counter-title h2 { color: #fff; }
.team-pro-counter-title p {
	color: rgba(255, 255, 255, 0.84);
	max-width: 44rem;
	margin-left: auto;
	margin-right: auto;
}
.team-pro-counter-card {
	height: 100%;
	border-radius: 16px;
	padding: 1rem 0.95rem 1.1rem;
	text-align: center;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.07) 100%);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	transition: transform 0.24s ease, box-shadow 0.24s ease;
}
.team-pro-counter-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 26px rgba(4, 173, 160, 0.2);
}
.team-pro-counter-card h3 {
	margin: 0 0 0.35rem;
	color: #fff;
	font-size: clamp(1.35rem, 1.2vw + 0.95rem, 1.9rem);
}
.team-pro-counter-card p {
	margin: 0;
	color: rgba(255, 255, 255, 0.84);
	line-height: 1.5;
}

.team-pro-testimonials {
	padding: clamp(2rem, 4vw, 3.2rem) 0;
	background: linear-gradient(150deg, #ffffff 0%, #f8fcff 100%);
}
.team-pro-testimonial-card {
	height: 100%;
	position: relative;
	padding: 1.2rem 1.05rem;
	border-radius: 18px;
	border: 1px solid rgba(106, 45, 145, 0.14);
	background: linear-gradient(150deg, rgba(255, 255, 255, 0.95) 0%, rgba(246, 252, 252, 0.9) 100%);
	box-shadow: 0 12px 30px rgba(58, 30, 80, 0.1);
	transition: transform 0.26s ease, box-shadow 0.26s ease;
}
.team-pro-testimonial-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 34px rgba(58, 30, 80, 0.14);
}
.team-pro-testimonial-card p {
	margin: 0 0 0.72rem;
	color: #586273;
	line-height: 1.66;
	font-style: italic;
}
.team-pro-testimonial-card h3 {
	margin: 0;
	font-size: 1rem;
	color: var(--brand-purple-deep);
}
.team-pro-testimonial-card span {
	font-size: 0.9rem;
	color: #667182;
}

.team-pro-faq-enquiry {
	padding: clamp(2rem, 4vw, 3.2rem) 0;
	background: linear-gradient(145deg, #f3edff 0%, #e8faf7 100%);
}
.team-pro-faq-box,
.team-pro-enquiry-box {
	height: 100%;
	position: relative;
	overflow: hidden;
	border-radius: 22px;
	border: 1px solid rgba(106, 45, 145, 0.16);
	background: linear-gradient(150deg, rgba(255, 255, 255, 0.96) 0%, rgba(245, 252, 251, 0.9) 100%);
	box-shadow:
		0 16px 36px rgba(58, 30, 80, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.85);
	padding: clamp(1.2rem, 2.3vw, 1.8rem);
}
.team-pro-faq-box h2,
.team-pro-enquiry-box h2 {
	color: var(--brand-purple-deep);
	font-size: clamp(1.2rem, 1vw + 0.95rem, 1.6rem);
	margin-bottom: 0.9rem;
}
.team-pro-enquiry-box p {
	color: #5c6777;
	margin-bottom: 0.9rem;
}

.team-pro-faq-accordion .accordion-item {
	border: 1px solid rgba(106, 45, 145, 0.12);
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 0.65rem;
	background: linear-gradient(130deg, rgba(106, 45, 145, 0.05) 0%, rgba(4, 173, 160, 0.08) 100%);
}
.team-pro-faq-accordion .accordion-item:last-child { margin-bottom: 0; }
.team-pro-faq-accordion .accordion-button {
	background: transparent;
	color: var(--brand-purple-deep);
	font-weight: 700;
	box-shadow: none;
	padding: 0.86rem 0.96rem;
}
.team-pro-faq-accordion .accordion-button:not(.collapsed) {
	background: rgba(255, 255, 255, 0.46);
	color: var(--brand-purple-deep);
}
.team-pro-faq-accordion .accordion-body p {
	margin: 0;
	color: #5b6575;
	line-height: 1.62;
}

.team-pro-enquiry-form .form-control,
.team-pro-enquiry-form .form-select {
	min-height: 46px;
	border-radius: 12px;
	border: 1px solid rgba(106, 45, 145, 0.2);
	background: rgba(255, 255, 255, 0.9);
	color: #2f3b4a;
	padding: 0.65rem 0.85rem;
	box-shadow: none;
}
.team-pro-enquiry-form textarea.form-control {
	min-height: 110px;
	resize: vertical;
}
.team-pro-enquiry-form .form-control:focus,
.team-pro-enquiry-form .form-select:focus {
	border-color: rgba(4, 173, 160, 0.7);
	box-shadow: 0 0 0 0.2rem rgba(4, 173, 160, 0.15);
}
.team-pro-enquiry-btn {
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	border: none;
	animation: ivfProGradientShift 8s ease infinite;
}

@media only screen and (max-width: 991px) {
	.team-pro-title,
	.team-pro-counter-title { text-align: center; }
}

@media only screen and (max-width: 767px) {
	.team-pro-section,
	.team-pro-counter,
	.team-pro-testimonials,
	.team-pro-faq-enquiry {
		padding: 1.9rem 0;
	}
	.team-pro-card { border-radius: 16px; }
	.team-pro-media { border-radius: 16px 16px 0 0; }
	.team-pro-content { padding: 0.92rem 0.88rem 1rem; }
	.team-pro-content::before {
		left: 0.88rem;
		width: 48px;
	}
	.team-pro-faq-box,
	.team-pro-enquiry-box {
		border-radius: 18px;
		padding: 1rem 0.9rem;
	}
}

@media only screen and (max-width: 575px) {
	.team-pro-enquiry-btn { width: 100%; text-align: center; }
	.team-pro-faq-accordion .accordion-button { padding: 0.8rem 0.84rem; }
}

@media (prefers-reduced-motion: reduce) {
	.team-pro-section::before, .team-pro-bg, .team-pro-card, .team-pro-card::before, .team-pro-card::after, .team-pro-counter-bg, .team-pro-enquiry-btn {
		animation: none !important;
		transition: none !important;
	}
}

/* Contact page — modern gradient layout (contact.php) */
.page-contact-us.contact-pro {
	position: relative;
	overflow: hidden;
	padding: clamp(2.5rem, 5vw, 4.5rem) 0;
	background: linear-gradient(150deg, #f4ecff 0%, #eef7ff 45%, #e6faf5 100%);
	isolation: isolate;
}

.page-contact-us.contact-pro .contact-pro-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(ellipse 55% 42% at 8% 12%, rgba(106, 45, 145, 0.14) 0%, transparent 62%),
		radial-gradient(ellipse 48% 36% at 94% 88%, rgba(4, 173, 160, 0.14) 0%, transparent 58%);
	animation: ivfProBgFloat 11s ease-in-out infinite alternate;
}

.page-contact-us.contact-pro .container.position-relative {
	z-index: 1;
}

.page-contact-us.contact-pro .contact-pro-info {
	position: relative;
	margin-bottom: 0;
}

.page-contact-us.contact-pro .contact-pro-info .contact-info-list {
	gap: clamp(1rem, 2.2vw, 1.6rem);
	align-items: stretch;
}

.page-contact-us.contact-pro .contact-pro-info .contact-info-list .hero-info-item.contact-pro-card {
	position: relative;
	overflow: hidden;
	width: calc(33.333% - 20px);
	border-radius: 24px;
	border: 1px solid rgba(106, 45, 145, 0.22);
	padding: clamp(1.15rem, 2.1vw, 1.75rem) clamp(1.05rem, 1.8vw, 1.45rem) clamp(1.2rem, 2vw, 1.55rem);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow:
		0 16px 38px rgba(58, 30, 80, 0.11),
		inset 0 1px 0 rgba(255, 255, 255, 0.92);
	transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
	animation: hysWorkflowIn 0.72s ease backwards;
}

.page-contact-us.contact-pro .contact-pro-info .contact-info-list .hero-info-item.contact-pro-card:nth-child(1) {
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 248, 255, 0.93) 48%, rgba(240, 252, 249, 0.9) 100%);
	animation-delay: 0.06s;
}

.page-contact-us.contact-pro .contact-pro-info .contact-info-list .hero-info-item.contact-pro-card:nth-child(2) {
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 252, 250, 0.92) 50%, rgba(248, 244, 255, 0.9) 100%);
	animation-delay: 0.14s;
}

.page-contact-us.contact-pro .contact-pro-info .contact-info-list .hero-info-item.contact-pro-card:nth-child(3) {
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 242, 255, 0.94) 45%, rgba(236, 250, 247, 0.91) 100%);
	animation-delay: 0.22s;
}

.page-contact-us.contact-pro .contact-pro-info .contact-info-list .hero-info-item.contact-pro-card::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1.5px;
	background: var(--brand-ui-gradient);
	background-size: 240% 240%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: ivfProGradientShift 7.5s ease infinite;
	pointer-events: none;
	z-index: 0;
}

.page-contact-us.contact-pro .contact-pro-info .contact-info-list .hero-info-item.contact-pro-card::after {
	content: "";
	position: absolute;
	width: 140px;
	height: 140px;
	top: -56px;
	right: -48px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(106, 45, 145, 0.16) 0%, rgba(4, 173, 160, 0.08) 45%, transparent 72%);
	opacity: 0.75;
	pointer-events: none;
	z-index: 0;
	animation: ivfProBgFloat 9s ease-in-out infinite alternate;
}

.page-contact-us.contact-pro .contact-pro-info .contact-info-list .hero-info-item.contact-pro-card:nth-child(2)::after {
	right: auto;
	left: -52px;
	top: auto;
	bottom: -48px;
	animation-delay: -2s;
}

.page-contact-us.contact-pro .contact-pro-info .contact-info-list .hero-info-item.contact-pro-card:hover {
	transform: translateY(-8px);
	border-color: rgba(4, 173, 160, 0.38);
	box-shadow:
		0 26px 48px rgba(58, 30, 80, 0.15),
		0 0 0 1px rgba(4, 173, 160, 0.1);
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-item:nth-child(3n + 2),
.page-contact-us.contact-pro .contact-pro-info .hero-info-item:nth-child(3n + 3) {
	background-color: transparent;
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-header {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem;
	border-bottom: none;
	margin-bottom: 1.05rem;
	padding-bottom: 0;
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-header::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -0.65rem;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, rgba(106, 45, 145, 0.22) 0%, rgba(4, 173, 160, 0.28) 55%, transparent 100%);
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-header h3 {
	font-size: clamp(1.02rem, 0.55vw + 0.88rem, 1.18rem);
	font-weight: 800;
	color: var(--brand-purple-deep);
	text-transform: capitalize;
	letter-spacing: 0.02em;
	margin: 0;
	line-height: 1.25;
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-header img {
	width: 48px;
	height: 48px;
	max-width: none;
	padding: 11px;
	object-fit: contain;
	flex-shrink: 0;
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(106, 45, 145, 0.14) 0%, rgba(4, 173, 160, 0.16) 100%);
	border: 1px solid rgba(106, 45, 145, 0.2);
	box-shadow:
		0 8px 18px rgba(106, 45, 145, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.65);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-item.contact-pro-card:hover .hero-info-header img {
	transform: scale(1.06) rotate(-3deg);
	box-shadow:
		0 10px 22px rgba(4, 173, 160, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-item:nth-child(3n + 2) .hero-info-header h3,
.page-contact-us.contact-pro .contact-pro-info .hero-info-item:nth-child(3n + 3) .hero-info-header h3,
.page-contact-us.contact-pro .contact-pro-info .hero-info-item:nth-child(3n + 2) .hero-info-body,
.page-contact-us.contact-pro .contact-pro-info .hero-info-item:nth-child(3n + 3) .hero-info-body {
	color: inherit;
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-body {
	position: relative;
	z-index: 1;
	padding-top: 0.35rem;
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-body p {
	color: #586273;
	margin-bottom: 0.85rem;
	line-height: 1.58;
	font-size: 0.94rem;
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-body ul {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-body ul li {
	color: #4a5564;
	margin-bottom: 0;
	font-weight: 500;
	align-items: center;
	gap: 0.75rem;
	padding: 0.62rem 0.78rem;
	border-radius: 14px;
	background: linear-gradient(120deg, rgba(106, 45, 145, 0.07) 0%, rgba(4, 173, 160, 0.08) 100%);
	border: 1px solid rgba(106, 45, 145, 0.1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-body ul li:hover {
	border-color: rgba(4, 173, 160, 0.28);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.75),
		0 6px 16px rgba(58, 30, 80, 0.06);
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-body ul li span {
	width: auto !important;
	flex: 1 1 auto;
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-body ul li span:first-child {
	color: var(--brand-purple-deep);
	font-weight: 700;
	flex: 1 1 58%;
	font-size: 0.88rem;
}

.page-contact-us.contact-pro .contact-pro-info .hero-info-body ul li span:last-child {
	font-weight: 700;
	font-size: 0.9rem;
	color: #2d5c6a;
	flex: 0 0 auto;
	text-align: right;
	white-space: nowrap;
	background: linear-gradient(120deg, var(--brand-purple) 0%, var(--brand-teal) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

.page-contact-us.contact-pro .contact-pro-info .contact-pro-address {
	font-style: normal;
	font-size: 0.93rem;
	line-height: 1.58;
	color: #4a5564;
	margin: 0;
	padding: 0.75rem 0.82rem;
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(106, 45, 145, 0.05) 0%, rgba(4, 173, 160, 0.06) 100%);
	border: 1px solid rgba(106, 45, 145, 0.1);
}

.page-contact-us.contact-pro .contact-pro-info .contact-pro-contact-line {
	margin: 0 0 0.55rem;
	font-size: 1.02rem;
	font-weight: 700;
}

.page-contact-us.contact-pro .contact-pro-info .contact-pro-contact-line:last-of-type {
	margin-bottom: 0;
}

.page-contact-us.contact-pro .contact-pro-info .contact-pro-contact-line a {
	color: var(--brand-purple-deep);
	text-decoration: none;
	position: relative;
	display: inline-block;
	padding-bottom: 2px;
	transition: color 0.22s ease;
}

.page-contact-us.contact-pro .contact-pro-info .contact-pro-contact-line a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	border-radius: 2px;
	background: var(--brand-ui-gradient);
	background-size: 200% 100%;
	transform: scaleX(0.35);
	transform-origin: left;
	opacity: 0.65;
	transition: transform 0.28s ease, opacity 0.28s ease;
	animation: ivfProGradientShift 6s ease infinite;
}

.page-contact-us.contact-pro .contact-pro-info .contact-pro-contact-line a:hover {
	color: var(--brand-teal);
}

.page-contact-us.contact-pro .contact-pro-info .contact-pro-contact-line a:hover::after {
	transform: scaleX(1);
	opacity: 1;
}

.page-contact-us.contact-pro .contact-form-section.contact-pro-form-wrap {
	margin-top: clamp(2rem, 4vw, 3.5rem);
	gap: clamp(1.25rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 3rem);
	align-items: stretch;
}

.page-contact-us.contact-pro .google-map-iframe.contact-pro-map {
	position: relative;
	width: calc(50% - 30px);
	min-height: 420px;
	border-radius: 22px;
	overflow: hidden;
	border: 1px solid rgba(106, 45, 145, 0.16);
	box-shadow: 0 16px 36px rgba(58, 30, 80, 0.12);
	isolation: isolate;
}

.page-contact-us.contact-pro .google-map-iframe.contact-pro-map::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: ivfProGradientShift 9s ease infinite;
	pointer-events: none;
	z-index: 1;
}

.page-contact-us.contact-pro .google-map-iframe.contact-pro-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 420px;
	border: 0;
	border-radius: 20px;
}

.page-contact-us.contact-pro .contact-us-form.contact-pro-form-panel {
	position: relative;
	width: calc(50% - 30px);
	overflow: hidden;
	border-radius: 22px;
	padding: clamp(1.35rem, 2.5vw, 2.25rem);
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.97) 0%, rgba(244, 251, 251, 0.9) 100%);
	border: 1px solid rgba(106, 45, 145, 0.16);
	box-shadow:
		0 16px 38px rgba(58, 30, 80, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.85);
	isolation: isolate;
}

.page-contact-us.contact-pro .contact-us-form.contact-pro-form-panel::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--brand-ui-gradient);
	background-size: 230% 230%;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: ivfProGradientShift 8s ease infinite;
	pointer-events: none;
	z-index: 0;
}

.page-contact-us.contact-pro .contact-pro-form-title-wrap {
	position: relative;
	z-index: 1;
	margin-bottom: 1.25rem;
	text-align: left;
}

.page-contact-us.contact-pro .contact-pro-form-title-wrap h2 {
	color: var(--brand-purple-deep);
	font-size: clamp(1.35rem, 1.5vw + 0.95rem, 1.85rem);
	line-height: 1.25;
	margin: 0;
}

.page-contact-us.contact-pro .contact-pro-form-title-wrap h2 span {
	background: var(--brand-ui-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

.page-contact-us.contact-pro .contact-form {
	position: relative;
	z-index: 1;
}

.page-contact-us.contact-pro .contact-pro-form .form-control {
	border-radius: 14px;
	border: 1px solid rgba(106, 45, 145, 0.18);
	background: rgba(255, 255, 255, 0.95);
	color: #2f3b4a;
	padding: 0.85rem 1rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-contact-us.contact-pro .contact-pro-form .form-control:focus {
	border-color: rgba(4, 173, 160, 0.55);
	box-shadow: 0 0 0 0.2rem rgba(4, 173, 160, 0.12);
	outline: none;
}

.page-contact-us.contact-pro .contact-pro-form .form-control::placeholder {
	color: #7a8698;
}

.page-contact-us.contact-pro .contact-pro-submit {
	position: relative;
	overflow: hidden;
	background: var(--brand-ui-gradient);
	background-size: 220% 220%;
	border: none;
	animation: ivfProGradientShift 8s ease infinite;
	box-shadow: 0 12px 26px rgba(66, 26, 97, 0.22);
}

.page-contact-us.contact-pro .contact-pro-submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 30px rgba(66, 26, 97, 0.26);
}

@media only screen and (max-width: 991px) {
	.page-contact-us.contact-pro .contact-pro-info .contact-info-list .hero-info-item.contact-pro-card {
		width: 100%;
	}

	.page-contact-us.contact-pro .google-map-iframe.contact-pro-map,
	.page-contact-us.contact-pro .contact-us-form.contact-pro-form-panel {
		width: 100%;
		min-height: 0;
	}

	.page-contact-us.contact-pro .google-map-iframe.contact-pro-map iframe {
		min-height: 360px;
		height: 360px;
	}
}

@media only screen and (max-width: 767px) {
	.page-contact-us.contact-pro {
		padding: 1.75rem 0 2.25rem;
	}

	.page-contact-us.contact-pro .contact-form-section.contact-pro-form-wrap {
		margin-top: 1.5rem;
		flex-direction: column;
	}

	.page-contact-us.contact-pro .contact-us-form.contact-pro-form-panel {
		padding: 1.15rem 1rem;
	}

	.page-contact-us.contact-pro .contact-pro-form-title-wrap {
		text-align: center;
	}
}

@media only screen and (max-width: 575px) {
	.page-contact-us.contact-pro .contact-pro-submit {
		width: 100%;
		text-align: center;
	}

	.page-contact-us.contact-pro .contact-pro-info .hero-info-header img {
		width: 44px;
		height: 44px;
		padding: 9px;
		border-radius: 12px;
	}

	.page-contact-us.contact-pro .contact-pro-info .hero-info-body ul li {
		flex-wrap: wrap;
	}

	.page-contact-us.contact-pro .contact-pro-info .hero-info-body ul li span:last-child {
		width: 100%;
		text-align: left;
		white-space: normal;
		margin-top: 0.15rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-contact-us.contact-pro .contact-pro-bg,
	.page-contact-us.contact-pro .contact-pro-info .contact-info-list .hero-info-item.contact-pro-card::before,
	.page-contact-us.contact-pro .contact-pro-info .contact-info-list .hero-info-item.contact-pro-card::after,
	.page-contact-us.contact-pro .contact-pro-info .contact-pro-contact-line a::after,
	.page-contact-us.contact-pro .google-map-iframe.contact-pro-map::before,
	.page-contact-us.contact-pro .contact-us-form.contact-pro-form-panel::before,
	.page-contact-us.contact-pro .contact-pro-submit {
		animation: none !important;
	}

	.page-contact-us.contact-pro .contact-pro-info .contact-info-list .hero-info-item.contact-pro-card,
	.page-contact-us.contact-pro .contact-pro-submit {
		transition: none !important;
	}
}
