/* CSS Variables for consistent theming */
:root {
	--primary-color: #9E90FF;
	--primary-light: #A78BFA;
	--primary-dark: #8171EB;
	--secondary-color: #F3F4F6;
	--main-background: #FAFAFA;
	--text-dark: #1C1D23;
	--text-light: #6B7280;
	--text-white: #FAFAFA;
	--text-primary: #9E90FF;
	--background-dark: #1C1D23;
	--background-light: #FAFAFA;
	--background-gradient: #F0F0FF;
	--border-radius: 18px;
	--box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	--transition: all 0.3s ease;
}

html {
	scroll-behavior: smooth;
	font-size: 10px;
}

/* Global Styles */
* {
	box-sizing: border-box;
}

body {
	font-family: "Archivo", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: var(--text-dark);
	background-color: var(--background-dark);
	font-size: 1.7rem;
	font-weight: 300;
	line-height: 1.47;
}

.page, .post {
	margin-bottom: 0;
}

html {
	overflow-x: hidden; /* Prevent horizontal scrollbars without interfering with sticky positioning */
}

a{
	text-decoration: none;

	&:visited {
		color: inherit;
	}
}

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

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4 {
	margin-top: 0;
	margin-bottom: 0;
	font-weight: 400;
}

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

/* Button Styles */
.btn {
	display: inline-block;
	padding: 9px 44px;
	border-radius: var(--border-radius);
	text-decoration: none;
	transition: var(--transition);
	cursor: pointer;
	border: none;
	text-align: center;
	background: var(--primary-color);
	line-height: 1.1;
	font-weight: 400;
	font-size: 1.6rem;
}

.btn-primary {
	color: var(--text-dark);
}

.btn-primary.white-text {
	color: var(--text-white);
}

.btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px 0 rgba(139, 92, 246, 0.4);
	background: var(--primary-dark);
}

a.btn-secondary {
	color: var(--text-white);
}

a.btn-secondary:hover {
	background: var(--primary-dark);
	color: var(--text-white);
	transform: translateY(-2px);
}

.site-header {
	position: fixed;
	width: 100%;
	top: 0;
	background: var(--background-dark);
	z-index: 999;
	padding: 35px 0;
}

.nav-icon {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 35px;
	background-color: transparent;
	gap: 8px;
	border: 0;
	padding: 0;
	cursor: pointer;
	position: relative;
	z-index: 1000;

	span {
		display: block;
		width: 100%;
		height: 3px;
		background: var(--primary-color);
		transition: var(--transition);
		border-radius: 50px;
		transform-origin: center;
	}

	/* X transformation when active */
	&.active {
		span:nth-child(1) {
			transform: rotate(45deg) translate(9px, 6px);
		}

		span:nth-child(2) {
			opacity: 0;
			transform: scale(0);
		}

		span:nth-child(3) {
			transform: rotate(-45deg) translate(9px, -6px);
		}
	}
}

.site-header .site-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	max-width: 250px;

	img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
}

.site-header .header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 1720px;
	margin: 0 auto;
	padding: 0 20px;
}

@media screen and (max-width: 1399px) {
	.site-header .menu-wrapper {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		transition: var(--transition);
		width: 100dvw;
		height: 100dvh;
		background-color: var(--background-gradient);

		&.active {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;

			.main-menu {
				width: 100%;
				text-align: center;

				.menu-item-29 > a, .menu-item-30 > a {
					display: none !important;
				}

				.menu {
					flex-direction: column;
					
					.menu-item {
						a {
							color: var(--text-dark);
							padding: 15px;
							font-size: 20px;
							display: block;
							transition: var(--transition);
							
							&:hover {
								color: var(--primary-color);
							}
						}
					}
				}
			}
			
			.button-wrapper {
				margin-top: 40px;
				flex-direction: column;
				gap: 20px;
			}
		}
	}
}


.site-header .button-wrapper {
	display: flex;
}

.site-header .main-menu ul {
	padding: 0;
	list-style: none;
	margin: 0;
}

.site-header .main-menu a {
	text-decoration: none;
	transition: var(--transition);
	line-height: 1.1;
	display: inline-block;
	font-weight: 400;
	cursor: pointer;
}

.site-header .main-menu .menu {
	display: flex;
}

.site-header .main-menu .menu > .menu-item > a {
	position: relative;
	color: var(--text-dark);
	transition: var(--transition);

	&:hover {
		color: var(--text-primary);
	}
}

.site-header .main-menu .menu > .menu-item:last-child a::after {
	display: none;
}

@media screen and (min-width: 1400px) {
	.nav-icon {
		display: none;
	}

	.site-header {
		padding: 46px 0;

		.site-logo {
			max-width: 300px;
		}
		
		.menu-wrapper, .button-wrapper {
			gap: 20px;
		}

		.menu-wrapper {
			display: flex;
			align-items: center;
		}

		.main-menu {
			display: flex;
			align-items: center;
			justify-content: center;
			background-color: var(--background-light);
			padding: 0 17px;
			border-radius: var(--border-radius);

			.menu {
				align-items: center;	

				> .menu-item {
					> a {
						padding: 9px 20px;

						&::after {
							position: absolute;
							top: 50%;
							transform: translateY(-50%);
							right: 0;
							content: "";
							display: block;
							width: 1px;
							height: 10px;
							background: rgba(28, 29, 35, 0.25);
						}
					}

					&.menu-item-has-children {
						&:hover {
							> .sub-menu {
								visibility: visible;
								opacity: 1;
							}
						}
					}

					> .sub-menu {
						position: absolute;
						transition: var(--transition);
						visibility: hidden;
						opacity: 0;

						&.active {
							visibility: visible;
							opacity: 1;
						}

						> li {
							transform: translateY(10px);
							background-color: var(--background-light);
							border-radius: var(--border-radius);
							padding: 16px 37px;
							min-width: 275px;

							> a {
								color: var(--primary-color);
								transition: var(--transition);
								display: block;
								font-weight: 700;
								font-size: 16px;
								padding-bottom: 13px;
								border-bottom: 1px solid rgba(28, 29, 35, 0.1);
								margin-bottom: 18px;
							}

							.sub-menu {
								display: flex;
								flex-direction: column;
								gap: 18px;
								padding-bottom: 5px;

								a {
									color: var(--text-dark);
									display: block;
									font-size: 14px;
									transition: var(--transition);

									&:hover {
										color: var(--primary-color);
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

@media screen and (min-width: 1600px) {
	.btn {
		font-size: 18px;
	}

	.site-header {
		padding: 56px 0;

		.site-logo {
			max-width: 350px;
		}

		.main-menu {
			display: flex;
			align-items: center;
			justify-content: center;
			background-color: var(--background-light);
			padding: 0 17px;
			border-radius: var(--border-radius);
		}

		.menu-wrapper, .button-wrapper {
			gap: 35px;
		}

		.main-menu {
			.menu {
				> .menu-item {
					> a {
						font-size: 17px;
						padding: 9px 30px;
					}
				}
			}
		}
	}
}

/* Footer */

.site-footer {
	position: relative;
	z-index: 11;
	background-color: var(--background-dark);
	padding-top: 100px;

	@media screen and (max-width: 1199px) {
		padding-top: 60px;
	}

	.footer-container {
		width: 100%;
		max-width: 1720px;
		margin: 0 auto;
		padding: 0 20px;
	}

	.footer-main {
		display: flex;
		justify-content: space-between;
		padding-bottom: 325px;
		border-bottom: 1px solid rgba(250, 250, 250, 0.44);

		@media screen and (max-width: 1199px) {
			flex-direction: column;
			padding-bottom: 60px;
		}

		.footer-logo {
			max-width: 438px;

			@media screen and (max-width: 1199px) {
				max-width: 350px;
			}

			& img {
				width: 100%;
				display: block;
			}

			& span {
				display: block;
				color: var(--text-white);
				font-size: 20px;
				margin-top: 18px;
				padding-top: 18px;
				border-top: 1px solid rgba(250, 250, 250, 0.44);

				@media screen and (max-width: 1199px) {
					font-size: 17px;
				}
			}
		}	

		.footer-menu {
			display: grid;
			list-style: none;
			gap: 30px;
			padding: 0;
			margin: 0;
			grid-template-columns: repeat(2, 1fr);
			grid-column-gap: 130px;
			grid-row-gap: 30px;

			@media screen and (max-width: 1199px) {
				grid-template-columns: 1fr;
				grid-column-gap: 0;
				grid-row-gap: 20px;
				margin-top: 30px;
			}

			& li {
				text-align: right;

				@media screen and (max-width: 1199px) {
					text-align: left;
				}

				& a {
					color: var(--text-white);
					font-size: 24px;

					@media screen and (max-width: 1199px) {
						font-size: 17px;
					}
				}
			}
		}
	}

	.footer-copyright {
		position: relative;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		padding: 32px 0;

		@media screen and (max-width: 1199px) {
			flex-direction: column;
			padding: 24px 0;
		}

		.social-media-container {
			transform: translateY(-45px);
			width: 100%;
			max-width: 168px;
			background-color: var(--background-dark);

			@media screen and (max-width: 1199px) {
				margin: auto;
				text-align: center;
			}
			
			& legend {
				color: var(--text-white);
				margin-bottom: 18px;

				@media screen and (max-width: 1199px) {
					text-align: center;
					display: block;
				}
			}
		}

		.social-media {
			display: flex;
			gap: 11px;

			@media screen and (max-width: 1199px) {
				justify-content: center;
			}
		}

		.copyright {
			margin-left: auto;
			color: var(--text-white);
			font-weight: 300;
			font-size: 16px;

			@media screen and (max-width: 1199px) {
				text-align: center;
				margin-right: auto;
			}
		}

	}
}

/* Gradient Background */
.gradient-container {
	position: relative;
}

.overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(-45deg, #9E90FF, #b1a7fa, #D7D4F3, #9E90FF);
	background-size: 400% 400%;
	animation: gradient 10s ease infinite;
	height: 100vh;
	z-index: 0;
}	

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

/* Hero Section */
.hero-section {
	position: relative;
	display: flex;
	align-items: center;
	color: var(--text-white);
	overflow: hidden;
	height: 80dvh;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	clip-path: ellipse(100% 100% at 50% 0%);
  -webkit-clip-path: ellipse(100% 100% at 50% 0%);

	@media screen and (max-width: 1199px) {
		clip-path: ellipse(150% 100% at 50% 0%);
		-webkit-clip-path: ellipse(120% 100% at 50% 0%);
	}

	@media screen and (max-width: 767px) {
		clip-path: ellipse(150% 100% at 50% 0%);
		-webkit-clip-path: ellipse(150% 100% at 50% 0%);
	}

	.container {
		position: relative;
		z-index: 1;
		height: 100%;
	}

	.hero-content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: 100%;
		gap: 48px;
	}

	h1.hero-title {
		font-size: 96px;
		font-weight: 700;
		line-height: 1.1;
		text-align: center;
		width: 100%;
		max-width: 870px;

		@media screen and (max-width: 1399px) {
			font-size: 72px;
		}

		@media screen and (max-width: 767px) {
			font-size: 48px;
			line-height: 1.4;
		}
	}

	.hero-content-bottom {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 64px;
	}

	.hero-author {
		color: var(--text-white);
		font-size:48px;
		font-weight: 700;
		
		@media screen and (max-width: 1199px) {
			font-size: 32px;
		}

		@media screen and (max-width: 767px) {
			font-size: 24px;
		}
	}

	.btn {
		color: var(--text-dark);
	}

}

/* Sherryl Section */

.sherryl-section {
	padding-top: 80px;

	.container {
		display: flex;
		max-width: 1430px;
		flex-direction: column-reverse;
		gap: 48px;

		@media screen and (min-width: 768px) {
			flex-direction: row;
			gap: 64px;
			justify-content: space-between;
		}
	}

	.sherryl-content, .additional-image-1 {
		opacity: 0;
		transform: translateX(-30px);
		transition: opacity 1s ease-out, transform 3s ease-out;	
	}

	.sherryl-photo, .additional-image-2 {
		opacity: 0;
		transform: translateX(20px);
		transition: opacity 1s ease-out, transform 3s ease-out;	
	}

	.additional-image-2 {
		transform: translateX(40px);		
	}

	.additional-images {
		&.in-view {
			.additional-image-1 {
				opacity: 1;
				transform: translateX(0);
			}

			.additional-image-2 {
				opacity: 1;
				transform: translateX(0);
			}
		}
	}

	&.in-view {
		.sherryl-content {
			opacity: 1;
			transform: translateX(0);
		}

		.sherryl-photo {
			opacity: 1;
			transform: translateX(0);
		}
	}


	.additional-images {
		display: flex;
		width: 100%;
		justify-content: flex-end;
		gap: 24px;
		padding-top: 40px;

		.image {
			max-width: 560px;
		}

		@media screen and (min-width: 1199px) {
			gap: 80px;
			padding-top: 80px;
		}
	}

	& h2 {
		font-size: 40px;
		color: var(--text-primary);
		font-weight: 400;
		margin-bottom: 12px;

		@media screen and (max-width: 767px) {
			font-size: 32px;
		}
	}

	.sherryl-content {
		width: 100%;
		max-width: 565px;
	}

	.sherryl-role {
		font-size: 22px;
		color: var(--text-white);
		margin-bottom: 8px;

		@media screen and (max-width: 767px) {
			font-size: 18px;
		}
	}

	.sherryl-qualification {
		font-size: 2rem;
		color: rgba(250, 250, 250, 0.44);
		margin-bottom: 40px;

		@media screen and (max-width: 767px) {
			font-size: 17px;
		}
	}

	.sherryl-brief {
		margin-bottom: 35px;
		color: var(--text-white);
	}

	.sherryl-services {
		display: flex;
		flex-direction: column;
		gap: 24px;
		align-items: flex-start;
		margin-bottom: 78px;

		@media screen and (max-width: 767px) {
			margin-bottom: 32px;
		}

		.service-item {
			border: 1px solid var(--main-background);
			padding: 12px 24px;
			font-size: 1.4rem;
			color: var(--text-white);
			border-radius: 30px;
			display: inline-block;
			width: auto;
			flex-shrink: 0;
			transition: var(--transition);

			&:hover {
				background-color: var(--primary-color);
				border-color: var(--primary-color);
				color: var(--text-dark);
			}
		}
	}

	.sherryl-photo {
		width: 100%;
		max-width: 680px;
		border-radius: 60px;
		overflow: hidden;
		object-fit: cover;
		background-color: var(--background-dark);
		display: flex;
		gap: 30px;
		flex-direction: column;

		& img {
			width: 100%;
			height: auto;
			display: block;
		}
	}
}

/* Scrolling Section */
.scrolling-section {
	background-color: var(--background-dark);
	padding: 180px 0 60px;
	overflow: hidden;

	@media screen and (max-width: 1199px) {
		padding: 60px 0 60px;
	}
}

.scrolling-section .swiper {
	width: 100%;
	height: auto;
}

.scrolling-section .swiper-wrapper {
	transition-timing-function: linear;
}

.scrolling-section .swiper-slide {
	color: var(--text-white);
	font-size: 6rem;
	font-weight: 200;
	display: flex;
	position: relative;
	gap: 90px;
	align-items: center;
	white-space: nowrap;
	font-style: italic;
	letter-spacing: 4px;

	&::before {
		content: "";
		display: block;
		width: 78px;
		height: 19px;
		background-color: var(--primary-color);
		pointer-events: none;
		border-radius: 20px;

		@media screen and (max-width: 1199px) {
			width: 58px;
			height: 10px;
		}
	}

	@media screen and (max-width: 1599px) {
		gap: 60px;
		letter-spacing: 2px;
		font-size: 4rem;
	}

	@media screen and (max-width: 1199px) {
		gap: 40px;
		letter-spacing: 0;
		font-size: 3.2rem;
	}
}

/* Team Section */
.team-section, .partner-section {
	background-color: var(--background-gradient);
	
	.container {
		border-bottom: 1px solid rgba(28, 29, 35, 0.25);
		padding: 140px 20px 100px;

		@media screen and (max-width: 1199px) {
			padding: 60px 20px 60px;
		}
	}

	.team-members, .partner-details {
		display: flex;
		flex-direction: row;
		gap: 68px;
		align-items: stretch;

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

		@media screen and (max-width: 1199px) {
			gap: 48px;
		}

		@media screen and (max-width: 767px) {
			flex-direction: column;
			gap: 32px;
		}

		.team-member, .partner-item {
			width: calc(50% - 32px);
			background-color: var(--background-light);
			border-radius: 50px;
			overflow: hidden;
			display: flex;
			flex-direction: column;

			@media screen and (max-width: 1199px) {
				gap: 24px;
			}

			@media screen and (max-width: 767px) {
				width: 100%;
				gap: 0;
			}
		}

		& h3 {
			font-size: 3.6rem;
			font-weight: 700;

			@media screen and (max-width: 1199px) {
				font-size: 2.4rem;
			}
		}
	}

	.team-member-details, .partner-info {
		padding-block: 45px;
		margin-inline: 75px;

		@media screen and (max-width: 1399px) {
			padding: 35px;
			margin-inline: 0;
		}

		@media screen and (max-width: 767px) {
			width: 100%;
		}
	}

	.image-wrapper {
		aspect-ratio: 8/5;
		overflow: hidden;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;

		@media screen and (max-width: 767px) {
			aspect-ratio: 4/3;

			& img {
				height: 100%;
			}
		}
	}
}

.partner-section {
	.image-wrapper {
		@media screen and (max-width: 767px) {
			& img {
				height: auto;
			}
		}
	}

	.container {
		padding-top: 100px;
		border-bottom: 0;

		@media screen and (max-width: 767px) {
			padding-top: 60px;
		}
	}

	.radial-gradient {
		bottom: 50%;
		right: -50%;
	}

	.partner-info {
		display: flex;
		flex-direction: column;
		border-top: 1px solid rgba(28, 29, 35, 0.25);
		flex: 1;

		.partner-info-wrapper {
			margin-bottom: 20px;
		}

		.btn {
			margin-top: auto;
			align-self: flex-start;
			width: auto;
		}
	}
}

.first-section {
	margin-top: 105px;

	@media screen and (min-width: 1200px) {
		margin-top: 150px;
	}
}

.section {
	position: relative;
	.container {
		position: relative;
		z-index: 20;
	}

	& h2.section-title {
		font-size: 4.8rem;
		font-weight: 700;
		display: flex;
		align-items: center;
		line-height: 1;
		gap: 28px;
		margin-bottom: 1.5em;

		@media screen and (max-width: 1199px) {
			font-size: 3.2rem;
		}

		&::before {
			content: "";
			display: block;
			width: 19px;
			height: auto;
			align-self: stretch;
			background-color: var(--primary-color);
			pointer-events: none;
			border-radius: 20px;
		}
	}
}

.radial-gradient {
	position: absolute;
	width: 60dvw;
	height: 60dvw;
	background: radial-gradient(circle, rgba(158, 144, 255, 0.75) 0%, rgba(158, 144, 255, 0.45) 30%, rgba(158, 144, 255, 0.15) 60%, #ffffff00 80%);
	pointer-events: none;
	z-index: 11;
	border-radius: 100%;
	filter: blur(100px);
	animation: floatGradient 10s ease-in-out infinite;
}

@keyframes floatGradient {
	0%, 100% {
		transform: translate(0, 0) scale(1);
	}
	25% {
		transform: translate(25vw, -10vh) scale(1.1);
	}
	50% {
		transform: translate(-10vw, 15vh) scale(0.9);
	}
	75% {
		transform: translate(30vw, 5vh) scale(1.05);
	}
}

/* New Patient Page */

.new-patient-section {
	background-color: var(--background-gradient);
	.container {
		padding-block: 170px;
		border-bottom: 1px solid rgba(28, 29, 35, 0.25);

		@media screen and (max-width: 1199px) {
			padding-block: 80px;
		}

		.inner-wrapper {
			display: flex;
			flex-direction: row;
			gap: 64px;
			justify-content: center;
			align-items: center;

			@media screen and (max-width: 1199px) {
				flex-direction: column;
				gap: 32px;
				text-align: center;
			}
		}

		& h2.title {
			font-size: 4.8rem;
			font-weight: 700;
			margin-bottom: 8px;
			line-height: 1;

			@media screen and (max-width: 1199px) {
				font-size: 3.2rem;
			}
		}

		.phone-btn {
			display: flex;
			align-items: center;
			background-color: var(--background-light);
			padding: 20px 30px;
			border-radius: 50px;
			gap: 30px;
			
			& span {
				font-size: 6.4rem;
				color: var(--text-dark);
				font-weight: 700;
				letter-spacing: 8px;
				line-height: 1;

				@media screen and (max-width: 1199px) {
					font-size: 3.2rem;
					letter-spacing: 4px;
				}

				@media screen and (max-width: 767px) {
					font-size: 2.4rem;
				}
			}

			& img {
				margin-right: 12px;

				@media screen and (max-width: 767px) {
					width: 22px;
					margin-right: 0;
				}
			}
		}
	}

	.new-patient-bottom {
		display: flex;
		gap: 96px;
		align-items: center;
		justify-content: center;
		padding-top: 120px;

		@media screen and (max-width: 1199px) {
			padding-top: 60px;
			gap: 48px;
		}

		@media screen and (max-width: 767px) {
			flex-direction: column;
			gap: 24px;
		}
	}
}

.contact-section {
	background-color: var(--background-gradient);
	.radial-gradient {
		top: -20%;
		left: -50%;
	}
	.container {
		position: relative;
		padding-block: 140px;
		z-index: 20;

		@media screen and (max-width: 1199px) {
			padding-block: 60px;
		}
	}

	.inner-wrapper {
		display: flex;
		align-items: stretch;
		width: 100%;
		border-radius: 50px;
		overflow: hidden;
		max-width: 1340px;
		margin: auto;
	
		@media screen and (max-width: 767px) {
			flex-direction: column;
		}

		.contact-map {
			flex: 1.3;

			& iframe {
				height: 100%;
			}

			@media screen and (max-width: 767px) {
				aspect-ratio: 3/2;
			}
		}

		.contact-details {
			flex: 1;
			padding: 60px 75px;
			background-color: var(--background-dark);
			color: var(--text-white);

			@media screen and (max-width: 1199px) {
				padding: 30px 35px;
			}

			.contact-title {
				font-size: 3.4rem;
				color: var(--text-primary);

				@media screen and (max-width: 1199px) {
					font-size: 2.4rem;
				}
			}

			.contact-role {
				font-size: 1.8rem;
				color: var(--text-white);
			}

			.contact-qualifications {
				color: rgba(250, 250, 250, 0.44);
				margin-bottom: 30px;
				padding-bottom: 30px;
				border-bottom: 1px solid rgba(250, 250, 250, 0.44);
			}

			.contact-info {
				display: flex;
				flex-direction: column;
				gap: 24px;
				margin-bottom: 40px;

				> div {
					display: flex;
					align-items: center;
					gap: 10px;
					line-height: 1;
				}
			}
		}
	}
}

/* New Patient Page */
.new-patient-page {
	background-color: var(--background-gradient);
	min-height: 100vh;

	.new-patient-section {
		.container {
			border-bottom: 0;
			padding-block: 180px;

			@media screen and (max-width: 1199px) {
				padding-block-end: 80px;
			}
		}

		.radial-gradient {
			top: -50%;
			left: 0;
		}
	}
}

.what-to-bring-section {
	padding: 80px 0;

	@media screen and (max-width: 1199px) {
		padding-bottom: 0;
	}

	.bring-items {
		display: flex;
		flex-direction: column;
		border-radius: 22px;
		overflow: hidden;
		padding-inline: 55px;
		background-color: var(--background-light);

		@media screen and (max-width: 1199px) {
			padding-inline: 30px;
		}

		.bring-item {
			display: flex;
			align-items: center;
			justify-content: space-between;
			font-size: 2.4rem;
			font-weight: 700;
			padding-block: 40px;
			border-bottom: 1px solid rgba(28, 29, 35, 0.25);

			@media screen and (max-width: 1199px) {
				font-size: 2rem;
				flex-direction: column;
				gap: 12px;
				align-items: flex-start;
				padding-block: 24px;
			}

			&:last-child {
				border-bottom: none;
			}

			.item-note {
				color: var(--text-primary);
				font-weight: 300;
			}
		}
	}
}

.new-patient-form-section {
	.container {
		padding-block: 80px;
	}

	.inner-wrapper {
		background-color: var(--background-dark);
		padding: 55px;
		border-radius: 22px;
		overflow: hidden;
		display: flex;
		align-items: stretch;
		justify-content: space-between;
		gap: 32px;

		@media screen and (max-width: 1199px) {
			flex-direction: column;
			padding: 35px;
		}

		@media screen and (max-width: 1199px) {
			padding: 24px;
		}
	}

	.form-container {
		width: 100%;
		max-width: 980px;
		.fields {
			display: flex;
			gap: 12px;
			margin-bottom: 12px;

			@media screen and (max-width: 1199px) {
				flex-direction: column;
			}

			> span {
				display: flex;
				flex: 1;
			}
		}

		input {
			border-radius: 14px;
			height: 60px;
			background-color: var(--background-light);
			padding: 0 25px;
			width: 100%;
			color: var(--text-dark);
			font-size: 1.7rem;

			&::placeholder {
				color: rgba(28, 29, 35, 0.25);
			}

		}

		input[type="submit"] {
			display: none;
		}

		.wpcf7-spinner {
			display: none !important;
		}

		.wpcf7-not-valid-tip {
			display: none !important;
		}

		.wpcf7 form.invalid .wpcf7-response-output {
			background-color: var(--background-light);
		}
		
		.wpcf7 form.sent .wpcf7-response-output {
		    background-color: white;
		}

		.upload-fields {
			display: flex;
			gap: 20px;
			margin-bottom: 0;
			> span {display: none};

			@media screen and (max-width: 1199px) {
				flex-direction: column;
			}

			.upload-field {
				flex: 1;
				position: relative;
			}

			/* Hide default file inputs */
			input[type="file"] {
				position: absolute;
				opacity: 0;
				width: 100%;
				height: 100%;
				cursor: pointer;
				z-index: 2;
				display: none;
			}

			/* Custom upload area styling */
			.upload-area {
			    flex: 1;
				height: 240px;
				border-radius: 14px;
				background-color: var(--background-light);
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				text-align: center;
				position: relative;
				transition: all 0.3s ease;
				cursor: pointer;
				overflow: hidden;
				padding: 20px 0;

				&:hover {
					background-color: var(--background-gradient);
				}

				&.dragover {
					background-color: var(--background-gradient);
					border-style: solid;
				}

				&.has-file {
					border-style: solid;
					background-color: var(--background-gradient);
				}

				.upload-icon {
					width: 24px;
					height: 24px;
					margin-bottom: 14px;
					background-image: url(../imgs/upload.svg);
					background-size: contain;
					background-repeat: no-repeat;
					background-position: center;
				}

				.upload-text {
					font-size: 16px;
				}

				.upload-label {
					font-size: 14px;
					color: var(--text-primary);
					margin-bottom: 8px;
				}

				.upload-hint {
					font-size: 12px;
					color: rgba(28, 29, 35, 0.25)
				}
			}
		}

	}

	.form-content {
		color: var(--text-white);
		line-height: 25px;
		width: 100%;
		max-width: 361px;
		display: flex;
		flex-direction: column;

		
		.note {
			display: block;
			margin-top: 12px;
			color: var(--text-primary);
		}

		#submit-button {
			margin-top: auto;
			align-self: flex-end;
			width: auto;
			min-width: 278px;
			height: 60px;
			border-radius: 50px;

			@media screen and (max-width: 1199px) {
				align-self: flex-start;
			}
		}
	}

	.radial-gradient {
		bottom: -50%;
		right: -40%;
	}
}

/* Fee Page */
.fee-page, .services-page {
	position: relative;
	background-color: var(--background-gradient);

	.consultation-fees-section, .services-section {
		.container {
			padding-block: 250px;

			@media screen and (max-width: 1199px) {
				padding-block: 150px;
			}

			@media screen and (max-width: 767px) {
				padding-block-end: 60px;
			}
		}

		.radial-gradient {
			top: -20%;
			left: 0;
		}
	}

	.fees-grid, .service-list {
		border-radius: 22px;
		overflow: hidden;
		background-color: var(--background-light);
		padding-inline: 75px;

		@media screen and (max-width: 1199px) {
			padding-inline: 55px;
		}

		@media screen and (max-width: 767px) {
			padding-inline: 24px;
		}

		.fee-item, .service-card {
			padding-block: 55px;
			border-bottom: 1px solid rgba(28, 29, 35, 0.25);
			font-size: 2.4rem;
			font-weight: 700;

			@media screen and (max-width: 767px) {
				padding-block: 24px;
				font-size: 1.8rem;
			}

			&:last-child {
				border-bottom: none;
			}
		}

		.fee-item {
			&:first-child {
				font-size: 1.7rem;
				font-weight: 400;
			}
		}
	}

	.service-card {
		h3 {
			font-size: 2.4rem;
			font-weight: 700;
			margin-bottom: 1em;

			@media screen and (max-width: 767px) {
				font-size: 2rem;
				margin-bottom: .5em;
			}
		}

		.service-description {
			font-size: 1.7rem;
			font-weight: 400;
			color: var(--text-dark);
		}
	}

	.surgical-fees-section {
		position: relative;

		.container {
			padding-block-end: 150px;

			@media screen and (max-width: 1199px) {
				padding-block-end: 60px;
			}
		}

		.section-content {
			background-color: var(--background-light);
			padding: 55px 75px;
			border-radius: 22px;
			overflow: hidden;

			@media screen and (max-width: 1199px) {
				padding: 35px 55px;
			}

			@media screen and (max-width: 767px) {
				padding: 24px;
			}
		}

		.sub-title {
			padding-bottom: 55px;
			border-bottom: 1px solid rgba(28, 29, 35, 0.25);
			margin-bottom: 55px;

			@media screen and (max-width: 1199px) {
				padding-bottom: 35px;
				margin-bottom: 35px;
			}
		}

		h3 {
			font-size: 2.4rem;
			font-weight: 700;
			margin-bottom: 1.5em;

			@media screen and (max-width: 767px) {
				font-size: 2rem;
				margin-bottom: 1em;
			}
		}

		.fee-description {
			& a {
				color: var(--text-dark);
			}

			& strong {
				font-weight: 700;
				color: var(--text-dark);
			}

			.points {
				padding-left: 30px;
				padding-block: 30px;
			}
		}

		.radial-gradient {
			top: -20%;
			right: -30%;
		}
	}
}

/* About Page */
.about-page {
	background-color: var(--background-gradient);
	position: relative;
}

.about-doctor-section {
	position: relative;
	padding: 250px 0 80px;

	@media screen and (max-width: 1399px) {
		padding: 150px 0 60px;
	}

	@media screen and (max-width: 767px) {
		padding: 120px 0 60px;
	}
	
	.about-content {
		display: flex;
		gap: 64px;
		align-items: flex-start;
		justify-content: space-between;

		@media screen and (max-width: 1199px) {
			gap: 48px;
		}

		@media screen and (max-width: 767px) {
			flex-direction: column;
			gap: 32px;
		}
	}
	
	.doctor-image {
		width: 100%;
		max-width: 680px;
		
		.doctor-photo {
			width: 100%;
			height: auto;
			border-radius: 60px;
			box-shadow: var(--box-shadow);
		}
	}

	.doctor-info {
		width: 100%;
		max-width: 756px;
	}

	.doctor-name {
		font-size: 4.4rem;
		color: var(--text-primary);
		font-weight: 400;

		@media screen and (max-width: 1199px) {
			font-size: 3.4rem;
			margin-bottom: .6em;
		}

		@media screen and (max-width: 1199px) {
			font-size: 2.8rem;
		}

	}

	.doctor-role {
		font-size: 2.2rem;
		color: var(--background-dark);
		font-weight: 400;

		@media screen and (max-width: 1199px) {
			font-size: 1.8rem;
		}
	}

	.doctor-qualification {
		font-size: 2rem;
		color: rgba(28, 29, 35, 0.4);
		font-weight: 400;

		@media screen and (max-width: 1199px) {
			font-size: 1.7rem;
		}
	}

	.radial-gradient {
		top: 0%;
		left: 0;
	}
}

.services-team-section {
	padding: 80px 0 150px;

	@media screen and (max-width: 1199px) {
		padding: 60px 0;
	}

	.radial-gradient {
		top: 20%;
		right: -20%;
	}

	.inner-wrapper {
		display: flex;
		flex-direction: column;
	}

	& h2.section-title {
		font-size: 4.8rem;
		white-space: nowrap;

		@media screen and (max-width: 1199px) {
			font-size: 3.2rem;
			white-space: normal;
		}
	}

	h3 {
		font-size: 2.4rem;
		font-weight: 700;
		margin-bottom: 1em;
	}

	.team-member-content {
		width: 100%;
		.team-member-card {
			display: flex;
			gap: 75px;
			align-items: flex-start;

			@media screen and (max-width: 767px) {
				gap: 32px;
				flex-direction: column;
				background-color: var(--background-light);
				border-radius: 22px;
				padding: 24px;
				margin-bottom: 32px;
			}

			&:last-child {
				.member-info {
					.member-bio {
						padding-bottom: 0;
						margin-bottom: 0;
						border-bottom: 0;
					}
				}
			}

			.member-photo {
				width: 100%;
				max-width: 140px;
				aspect-ratio: 1;
				border-radius: 100%;
				overflow: hidden;
				background-color: var(--background-dark);

				img {
					width: 100%;
					height: auto;
					display: block;
				}
			}

			h3 {
				font-size: 4rem;
				font-weight: 700;
				color: var(--text-primary);
			}

			.member-info {
				flex: 1;
				.member-name {
					font-size: 3.2rem;
					font-weight: 700;
					margin-bottom: 8px;

					@media screen and (max-width: 767px) {
						font-size: 2.4rem;
					}
				}

				.member-role {
					font-size: 1.8rem;
					color: var(--text-primary);
					margin-bottom: 16px;
				}

				.member-bio {
					font-size: 1.6rem;
					color: var(--text-dark);
					padding-bottom: 60px;
					margin-bottom: 60px;
					border-bottom: 1px solid rgba(28, 29, 35, 0.25);

					@media screen and (max-width: 767px) {
						padding-bottom: 0;
						margin-bottom: 0;
						border-bottom: 0;
					}
				}
			}
		}
	}
}

.about-layout {
	display: flex;
	flex-direction: column;
	gap: 48px;

	@media screen and (min-width: 1200px) {
		flex-direction: row;
		gap: 64px;
		justify-content: space-between;
		align-items: center;
	}

	.team-list, .about-image {
		flex: 1;

		& img {
			width: 100%;
			height: 100%;
			display: block;
		}
	}

	.team-list {
		max-width: 800px;
	}

	.about-image {
		max-width: 637px;
		border-radius: 60px;
		overflow: hidden;
		object-fit: cover;
		background-color: var(--background-dark);
	}

}