/**
 * Homepage banner.
 *
 * Plain background color with circular portrait treatment.
 *
 * @package DrSanhithaPurushotham
 */

/* ==================================================
   BANNER WRAPPER
================================================== */

.home-banner {
	position: relative;
	display: flex;
	min-height: 610px;
	align-items: center;
	overflow: hidden;
	background-color: #f3ece2;
}

.home-banner__container {
	display: grid;
	width: min(calc(100% - 80px), 1360px);
	margin-inline: auto;
	padding-block: 66px;
	align-items: center;
	grid-template-columns: minmax(0, 1.08fr) minmax(440px, 0.92fr);
	gap: clamp(55px, 7vw, 120px);
}


/* ==================================================
   LEFT CONTENT
================================================== */

.home-banner__content {
	position: relative;
	z-index: 2;
	max-width: 760px;
}

.home-banner__eyebrow {
	display: inline-flex;
	min-height: 30px;
	margin: 0 0 34px;
	padding: 8px 15px;
	align-items: center;
	justify-content: center;
	border: 1px solid #c9a15b;
	border-radius: 999px;
	color: #ad8442;
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 3.2px;
	text-transform: uppercase;
}

.home-banner__title {
	margin: 0 0 0px;
	color: #071d38;
	font-family:
		"Cormorant Garamond",
		"Times New Roman",
		Georgia,
		serif;
	font-size: clamp(40px, 6vw, 40px);
	font-weight: 600;
	line-height: 0.95;
	letter-spacing: -1.5px;
}

.home-banner__title span {
	display: block;
}

.home-banner__credentials {
	margin: 0px;
	color: #263549;
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: clamp(16px, 1.45vw, 16px);
	font-weight: 400;
	line-height: 1.5;
}

.home-banner__speciality {
	margin: 0 0 28px;
	color: #263549;
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: clamp(16px, 1.35vw, 16px);
	font-weight: 500;
	line-height: 1.5;
}


/* ==================================================
   QUOTE
================================================== */

.home-banner__quote {
	position: relative;
	margin: 0 0 34px;
	padding: 4px 0 4px 22px;
	border: 0;
	border-left: 3px solid #c49a50;
	color: #394659;
	font-family:
		"Cormorant Garamond",
		"Times New Roman",
		Georgia,
		serif;
	font-size: clamp(18px, 2vw, 18px);
	font-style: italic;
	font-weight: 500;
	line-height: 1.4;
}

.home-banner__quote p {
	margin: 0;
}


/* ==================================================
   BUTTONS
================================================== */

.home-banner__buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
}

.home-banner__button {
	display: inline-flex;
	min-width: 180px;
	min-height: 64px;
	padding: 14px 34px;
	align-items: center;
	justify-content: center;
	border: 1px solid #bd914a;
	border-radius: 14px;
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 200ms ease,
		border-color 200ms ease,
		color 200ms ease,
		transform 200ms ease,
		box-shadow 200ms ease;
}

.home-banner__button--primary {
	background-color: #061d38;
	color: #e3bc70;
	box-shadow: 0 10px 24px rgba(7, 29, 56, 0.14);
}

.home-banner__button--primary:hover,
.home-banner__button--primary:focus-visible {
	border-color: #061d38;
	background-color: #c39a52;
	color: #061d38;
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(7, 29, 56, 0.18);
}

.home-banner__button--secondary {
	background-color: transparent;
	color: #b28745;
	box-shadow: none;
}

.home-banner__button--secondary:hover,
.home-banner__button--secondary:focus-visible {
	background-color: #061d38;
	color: #e3bc70;
	transform: translateY(-2px);
}


/* ==================================================
   RIGHT IMAGE
================================================== */

.home-banner__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

/*
 * The square image becomes circular because the frame
 * has a 1:1 ratio and overflow is hidden.
 */
.home-banner__portrait-frame {
	position: relative;
	width: min(100%, 540px);
	aspect-ratio: 1 / 1;
	padding: 14px;
	border: 2px solid #c39a50;
	border-radius: 50%;
	background-color: #ffffff;
	box-shadow:
		0 0 0 8px rgba(255, 255, 255, 0.85),
		0 0 0 10px rgba(195, 154, 80, 0.52),
		0 22px 55px rgba(7, 29, 56, 0.14);
}

/*
 * Outer thin gold circle.
 */
.home-banner__portrait-frame::before {
	position: absolute;
	inset: -24px;
	z-index: -1;
	border: 1px solid rgba(182, 133, 58, 0.75);
	border-radius: 50%;
	content: "";
}

/*
 * Second light outer circle.
 */
.home-banner__portrait-frame::after {
	position: absolute;
	inset: -42px;
	z-index: -2;
	border: 1px solid rgba(182, 133, 58, 0.24);
	border-radius: 50%;
	content: "";
}

.home-banner__portrait {
	width: 100%;
	height: 100%;
	overflow: hidden;
	border: 5px solid #b9893c;
	border-radius: 50%;
	background-color: #e9dfd1;
}

.home-banner__image {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;

	/*
	 * Adjust this value if the face is too high or low.
	 *
	 * Examples:
	 * center center
	 * center 20%
	 * center 30%
	 */
	object-position: center 22%;
}


/* ==================================================
   MEDIUM DESKTOP
================================================== */

@media screen and (max-width: 1300px) {
	.home-banner__container {
		width: min(calc(100% - 56px), 1240px);
		grid-template-columns: minmax(0, 1fr) minmax(390px, 0.88fr);
		gap: 55px;
	}

	.home-banner__title {
		font-size: clamp(64px, 6vw, 78px);
	}

	.home-banner__portrait-frame {
		width: min(100%, 470px);
	}
}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 980px) {
	.home-banner {
		min-height: auto;
	}

	.home-banner__container {
		width: min(calc(100% - 48px), 760px);
		padding-top: 70px;
		padding-bottom: 85px;
		grid-template-columns: 1fr;
		gap: 70px;
	}

	.home-banner__content {
		max-width: none;
		text-align: center;
	}

	.home-banner__media {
		order: -1;
	}

	.home-banner__portrait-frame {
		width: min(72vw, 500px);
	}

	.home-banner__quote {
		max-width: 680px;
		margin-right: auto;
		margin-left: auto;
		text-align: left;
	}

	.home-banner__buttons {
		justify-content: center;
	}
}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 600px) {
	.home-banner__container {
		width: calc(100% - 36px);
		padding-top: 55px;
		padding-bottom: 65px;
		gap: 55px;
	}

	.home-banner__portrait-frame {
		width: min(78vw, 370px);
		padding: 9px;
		box-shadow:
			0 0 0 6px rgba(255, 255, 255, 0.85),
			0 0 0 8px rgba(195, 154, 80, 0.52),
			0 18px 40px rgba(7, 29, 56, 0.14);
	}

	.home-banner__portrait-frame::before {
		inset: -15px;
	}

	.home-banner__portrait-frame::after {
		inset: -26px;
	}

	.home-banner__portrait {
		border-width: 3px;
	}

	.home-banner__eyebrow {
		min-height: 30px;
		margin-bottom: 27px;
		padding: 9px 19px;
		font-size: 12px;
		letter-spacing: 2px;
	}

	.home-banner__title {
		margin-bottom: 22px;
		font-size: clamp(50px, 14vw, 67px);
		line-height: 0.97;
	}

	.home-banner__credentials {
		font-size: 15px;
	}

	.home-banner__speciality {
		margin-bottom: 25px;
		font-size: 15px;
	}

	.home-banner__quote {
		padding-left: 17px;
		font-size: 21px;
	}

	.home-banner__buttons {
		flex-direction: column;
		align-items: stretch;
	}

	.home-banner__button {
		width: 100%;
		min-height: 56px;
	}
}


/* ==================================================
   ACCESSIBILITY
================================================== */

.home-banner a:focus-visible {
	outline: 3px solid #d3aa61;
	outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.home-banner__button {
		transition: none;
	}
}
/* ==================================================
   BANNER ENTRANCE ANIMATION
================================================== */

.home-banner__eyebrow,
.home-banner__title span,
.home-banner__credentials,
.home-banner__speciality,
.home-banner__quote,
.home-banner__buttons,
.home-banner__media {
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Consultant Urologist label */
.home-banner__eyebrow {
	animation-name: banner-fade-down;
	animation-duration: 700ms;
	animation-delay: 100ms;
}

/* First title line */
.home-banner__title span:nth-child(1) {
	animation-name: banner-title-reveal;
	animation-duration: 900ms;
	animation-delay: 180ms;
}

/* Second title line */
.home-banner__title span:nth-child(2) {
	animation-name: banner-title-reveal;
	animation-duration: 900ms;
	animation-delay: 290ms;
}

/* Credentials */
.home-banner__credentials {
	animation-name: banner-fade-up;
	animation-duration: 750ms;
	animation-delay: 410ms;
}

/* Speciality */
.home-banner__speciality {
	animation-name: banner-fade-up;
	animation-duration: 750ms;
	animation-delay: 500ms;
}

/* Quotation */
.home-banner__quote {
	animation-name: banner-fade-right;
	animation-duration: 800ms;
	animation-delay: 590ms;
}

/* Buttons */
.home-banner__buttons {
	animation-name: banner-fade-up;
	animation-duration: 800ms;
	animation-delay: 700ms;
}

/* Doctor portrait */
.home-banner__media {
	animation-name: banner-portrait-reveal;
	animation-duration: 1100ms;
	animation-delay: 200ms;
}

/* Subtle image zoom */
.home-banner__image {
	animation: banner-image-zoom 1400ms
		cubic-bezier(0.22, 1, 0.36, 1) 250ms both;
}

/* Outer portrait rings */
.home-banner__portrait-frame::before {
	animation: banner-ring-reveal 900ms
		cubic-bezier(0.22, 1, 0.36, 1) 550ms both;
}

.home-banner__portrait-frame::after {
	animation: banner-ring-reveal 1000ms
		cubic-bezier(0.22, 1, 0.36, 1) 680ms both;
}


/* ==================================================
   ANIMATION KEYFRAMES
================================================== */

@keyframes banner-fade-down {
	from {
		opacity: 0;
		transform: translateY(-20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes banner-title-reveal {
	from {
		opacity: 0;
		transform: translateY(42px);
		filter: blur(5px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0);
	}
}

@keyframes banner-fade-up {
	from {
		opacity: 0;
		transform: translateY(25px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes banner-fade-right {
	from {
		opacity: 0;
		transform: translateX(-28px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes banner-portrait-reveal {
	from {
		opacity: 0;
		transform: translateX(60px) scale(0.9);
	}

	to {
		opacity: 1;
		transform: translateX(0) scale(1);
	}
}

@keyframes banner-image-zoom {
	from {
		transform: scale(1.1);
	}

	to {
		transform: scale(1);
	}
}

@keyframes banner-ring-reveal {
	from {
		opacity: 0;
		transform: scale(0.88);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}


/* ==================================================
   BUTTON HOVER AFTER ENTRANCE
================================================== */

.home-banner__button:hover {
	transform: translateY(-3px);
}

.home-banner__button:active {
	transform: translateY(0);
}


/* ==================================================
   MOBILE ANIMATION
================================================== */

@media screen and (max-width: 600px) {
	.home-banner__media {
		animation-name: banner-mobile-portrait;
		animation-duration: 900ms;
	}

	@keyframes banner-mobile-portrait {
		from {
			opacity: 0;
			transform: translateY(-35px) scale(0.92);
		}

		to {
			opacity: 1;
			transform: translateY(0) scale(1);
		}
	}
}


/* ==================================================
   ACCESSIBILITY: REDUCED MOTION
================================================== */

@media (prefers-reduced-motion: reduce) {
	.home-banner__eyebrow,
	.home-banner__title span,
	.home-banner__credentials,
	.home-banner__speciality,
	.home-banner__quote,
	.home-banner__buttons,
	.home-banner__media,
	.home-banner__image,
	.home-banner__portrait-frame::before,
	.home-banner__portrait-frame::after {
		animation: none !important;
		opacity: 1;
		filter: none;
		transform: none;
	}
}
/* ==================================================
   HOME ABOUT SECTION
   Global desktop content width: 1360px
================================================== */

.home-about {
	position: relative;
	overflow: hidden;
	padding: 72px 0 60px;
	background-color: #fff;
	color: #172d48;
}

/*
 * SAME WIDTH AS BANNER AND OTHER HOMEPAGE SECTIONS
 */
.home-about__container {
	width: min(calc(100% - 80px), 1360px);
	margin-inline: auto;
}


/* ==================================================
   MAIN LAYOUT
================================================== */

.home-about__main {
	display: grid;
	grid-template-columns:
		minmax(400px, 440px)
		minmax(0, 1fr);
	gap: 72px;
	align-items: center;
}


/* ==================================================
   LEFT IMAGE COLUMN
================================================== */

.home-about__media {
	position: relative;
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
}

.home-about__portrait-frame {
	position: relative;
	width: 100%;
	max-width: 430px;
	padding: 9px;
	border: 1.5px solid #b9832f;
	border-radius: 215px 215px 34px 34px;
	background-color: rgba(255, 255, 255, 0.64);
}

.home-about__portrait-frame::before {
	position: absolute;
	top: 205px;
	left: -95px;
	z-index: -1;
	width: 260px;
	height: 390px;
	border-radius: 150px 150px 0 0;
	content: "";
	background-color: rgba(230, 215, 195, 0.33);
}

.home-about__portrait {
	width: 100%;
	height: 595px;
	overflow: hidden;
	border-radius: 205px 205px 26px 26px;
	background-color: #e9dfd3;
}

.home-about__portrait-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}


/* ==================================================
   SIDE DIAMOND
================================================== */

.home-about__side-diamond {
	position: absolute;
	top: 45%;
	right: -8px;
	z-index: 3;
	width: 15px;
	height: 15px;
	background-color: #bc8531;
	transform: rotate(45deg);
}


/* ==================================================
   BOTTOM IMAGE LOGO
================================================== */

.home-about__portrait-logo {
	position: absolute;
	bottom: -42px;
	left: 50%;
	z-index: 5;
	display: flex;
	width: 94px;
	height: 94px;
	padding: 5px;
	align-items: center;
	justify-content: center;
	border: 2px solid #c28d38;
	border-radius: 50%;
	background-color: #f7f0e7;
	transform: translateX(-50%);
}

.home-about__portrait-logo-inner {
	display: flex;
	width: 80px;
	height: 80px;
	align-items: center;
	justify-content: center;
	border: 2px solid #d1a154;
	border-radius: 50%;
	background:
		linear-gradient(
			135deg,
			#071c37,
			#082846
		);
}

.home-about__portrait-logo img {
	width: 56px;
	height: 56px;
	object-fit: contain;
}


/* ==================================================
   RIGHT CONTENT
================================================== */

.home-about__content {
	width: 100%;
	min-width: 0;
	padding-top: 4px;
}

.home-about__eyebrow {
	display: inline-flex;
	min-height: 30px;
	margin: 0 0 22px;
	padding: 6px 16px;
	align-items: center;
	justify-content: center;
	border: 1px solid #c1914c;
	border-radius: 999px;
	color: #ad7729;
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.home-about__title {
	margin: 0;
	color: #0b2240;
	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;
	font-size: clamp(35px, 3.8vw, 35px);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.5px;
}


/* ==================================================
   HEADING DIVIDER
================================================== */

.home-about__title-divider {
	display: flex;
	width: 390px;
	max-width: 68%;
	margin: 15px 0 15px;
	align-items: center;
}

.home-about__title-divider span {
	display: block;
	height: 1px;
	flex: 1;
	background-color: rgba(190, 135, 50, 0.55);
}

.home-about__title-divider i {
	display: block;
	width: 8px;
	height: 8px;
	margin-inline: 2px;
	background-color: #b9812f;
	transform: rotate(45deg);
}


/* ==================================================
   DESCRIPTION
================================================== */

.home-about__text {
	width: 100%;
	max-width: 720px;
}

.home-about__text p {
	margin: 0 0 17px;
	color: #203750;
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.62;
}


/* ==================================================
   TREATMENT PHILOSOPHY
================================================== */

.home-about__philosophy {
	display: grid;
	width: 100%;
	max-width: 720px;
	margin-top: 20px;
	padding: 15px 20px 19px 15px;
	border: 1px solid rgba(186, 132, 51, 0.48);
	border-radius: 13px;
	background-color: rgba(255, 255, 255, 0.13);
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 16px;
}

.home-about__quote-icon {
	display: flex;
	width: 52px;
	height: 52px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(192, 137, 50, 0.4);
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.38);
	color: #c18b36;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 48px;
	font-weight: 700;
	line-height: 0.8;
}

.home-about__philosophy-content {
	min-width: 0;
}

.home-about__philosophy h3 {
	margin: 3px 0 9px;
	color: #132a47;
	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
}

.home-about__philosophy-line {
	display: block;
	width: 42px;
	height: 1px;
	margin-bottom: 13px;
	background-color: #c18b36;
}

.home-about__philosophy blockquote {
	margin: 0;
	padding: 0;
	border: 0;
}

.home-about__philosophy blockquote p {
	margin: 0;
	color: #263b53;
	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;
	font-size: 14.5px;
	font-style: italic;
	font-weight: 600;
	line-height: 1.55;
}


/* ==================================================
   BOTTOM FEATURES
================================================== */

.home-about__features {
	display: grid;
	width: 100%;
	margin-top: 72px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-about__feature {
	position: relative;
	display: grid;
	min-width: 0;
	padding: 0 30px;
	align-items: center;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 16px;
}

.home-about__feature:first-child {
	padding-left: 0;
}

.home-about__feature:last-child {
	padding-right: 0;
}

.home-about__feature:not(:last-child)::after {
	position: absolute;
	top: 2px;
	right: 0;
	width: 1px;
	height: 62px;
	content: "";
	background-color: rgba(186, 133, 55, 0.32);
}

.home-about__feature-icon {
	display: flex;
	width: 56px;
	height: 56px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(191, 139, 57, 0.35);
	border-radius: 50%;
	background-color: rgba(239, 225, 203, 0.5);
	color: #c18b35;
}

.home-about__feature-icon svg {
	width: 34px;
	height: 34px;
}

.home-about__feature-content {
	min-width: 0;
}

.home-about__feature h3 {
	margin: 0 0 5px;
	color: #132a47;
	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
}

.home-about__feature p {
	margin: 0;
	color: #34485c;
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 11px;
	line-height: 1.55;
}


/* ==================================================
   LAPTOP
================================================== */

@media screen and (max-width: 1200px) {
	.home-about__container {
		width: min(calc(100% - 60px), 1360px);
	}

	.home-about__main {
		grid-template-columns:
			minmax(340px, 400px)
			minmax(0, 1fr);
		gap: 55px;
	}

	.home-about__portrait {
		height: 550px;
	}

	.home-about__content {
		max-width: none;
	}

	.home-about__feature {
		padding-inline: 20px;
	}
}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 900px) {
	.home-about__container {
		width: min(calc(100% - 48px), 1360px);
	}

	.home-about__main {
		grid-template-columns: 1fr;
		gap: 75px;
	}

	.home-about__media {
		width: min(100%, 430px);
		margin-inline: auto;
	}

	.home-about__content {
		max-width: 760px;
		margin-inline: auto;
		text-align: center;
	}

	.home-about__title-divider {
		margin-right: auto;
		margin-left: auto;
	}

	.home-about__text,
	.home-about__philosophy {
		max-width: 720px;
		margin-right: auto;
		margin-left: auto;
		text-align: left;
	}

	.home-about__features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 35px;
	}

	.home-about__feature {
		padding-inline: 25px;
	}

	.home-about__feature:nth-child(2)::after {
		display: none;
	}

	.home-about__feature:nth-child(3) {
		padding-left: 0;
	}
}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 600px) {
	.home-about {
		padding: 55px 0 50px;
	}

	.home-about__container {
		width: calc(100% - 36px);
	}

	.home-about__main {
		gap: 65px;
	}

	.home-about__portrait-frame {
		max-width: 350px;
		padding: 7px;
		border-radius: 175px 175px 28px 28px;
	}

	.home-about__portrait {
		height: 475px;
		border-radius: 168px 168px 22px 22px;
	}

	.home-about__title {
		font-size: 39px;
	}

	.home-about__features {
		margin-top: 60px;
		grid-template-columns: 1fr;
		row-gap: 0;
	}

	.home-about__feature,
	.home-about__feature:first-child,
	.home-about__feature:nth-child(3),
	.home-about__feature:last-child {
		padding: 20px 0;
	}

	.home-about__feature:not(:last-child)::after {
		top: auto;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
	}
}
/* ==================================================
   PREMIUM ABOUT ENTRANCE ANIMATION
================================================== */

.home-about {
	--about-animation-ease:
		cubic-bezier(0.22, 1, 0.36, 1);
}


/* ==================================================
   PORTRAIT CONTAINER
================================================== */

.home-about__media {
	opacity: 0;
	transform:
		translate3d(-60px, 20px, 0)
		scale(0.96);
	transition:
		opacity 900ms var(--about-animation-ease),
		transform 1100ms var(--about-animation-ease);
	will-change: opacity, transform;
}

.home-about.is-visible .home-about__media {
	opacity: 1;
	transform:
		translate3d(0, 0, 0)
		scale(1);
}


/* ==================================================
   PORTRAIT IMAGE ZOOM
================================================== */

.home-about__portrait-image {
	transform: scale(1.08);
	transition:
		transform 1500ms
		var(--about-animation-ease)
		100ms;
	will-change: transform;
}

.home-about.is-visible
	.home-about__portrait-image {
	transform: scale(1);
}


/* ==================================================
   GOLD SIDE DIAMOND
================================================== */

.home-about__side-diamond {
	opacity: 0;
	transform:
		rotate(45deg)
		scale(0);
	transition:
		opacity 400ms ease 650ms,
		transform 650ms
		var(--about-animation-ease)
		650ms;
}

.home-about.is-visible
	.home-about__side-diamond {
	opacity: 1;
	transform:
		rotate(45deg)
		scale(1);
}


/* ==================================================
   BOTTOM LOGO MEDALLION
================================================== */

.home-about__portrait-logo {
	opacity: 0;
	transform:
		translateX(-50%)
		translateY(25px)
		scale(0.7);
	transition:
		opacity 650ms ease 650ms,
		transform 850ms
		var(--about-animation-ease)
		650ms;
}

.home-about.is-visible
	.home-about__portrait-logo {
	opacity: 1;
	transform:
		translateX(-50%)
		translateY(0)
		scale(1);
}

.home-about__portrait-logo-inner {
	transform: rotate(-18deg);
	transition:
		transform 1000ms
		var(--about-animation-ease)
		720ms;
}

.home-about.is-visible
	.home-about__portrait-logo-inner {
	transform: rotate(0deg);
}


/* ==================================================
   ABOUT LABEL
================================================== */

.home-about__eyebrow {
	opacity: 0;
	transform: translate3d(0, 18px, 0);
	transition:
		opacity 600ms ease 150ms,
		transform 750ms
		var(--about-animation-ease)
		150ms;
}

.home-about.is-visible
	.home-about__eyebrow {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}


/* ==================================================
   MAIN HEADING
================================================== */

.home-about__title {
	opacity: 0;
	filter: blur(5px);
	transform: translate3d(0, 34px, 0);
	transition:
		opacity 800ms ease 240ms,
		transform 900ms
		var(--about-animation-ease)
		240ms,
		filter 850ms ease 240ms;
}

.home-about.is-visible
	.home-about__title {
	opacity: 1;
	filter: blur(0);
	transform: translate3d(0, 0, 0);
}


/* ==================================================
   GOLD DIVIDER DRAW
================================================== */

.home-about__title-divider span {
	transform: scaleX(0);
	transition:
		transform 700ms
		var(--about-animation-ease)
		380ms;
}

.home-about__title-divider span:first-child {
	transform-origin: right center;
}

.home-about__title-divider span:last-child {
	transform-origin: left center;
}

.home-about__title-divider i {
	opacity: 0;
	transform:
		rotate(45deg)
		scale(0);
	transition:
		opacity 350ms ease 520ms,
		transform 550ms
		var(--about-animation-ease)
		520ms;
}

.home-about.is-visible
	.home-about__title-divider span {
	transform: scaleX(1);
}

.home-about.is-visible
	.home-about__title-divider i {
	opacity: 1;
	transform:
		rotate(45deg)
		scale(1);
}


/* ==================================================
   ABOUT TEXT PARAGRAPHS
================================================== */

.home-about__text p {
	opacity: 0;
	transform: translate3d(0, 24px, 0);
	transition:
		opacity 650ms ease
		var(--reveal-delay, 500ms),
		transform 800ms
		var(--about-animation-ease)
		var(--reveal-delay, 500ms);
}

.home-about.is-visible
	.home-about__text p {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}


/* ==================================================
   PHILOSOPHY CARD
================================================== */

.home-about__philosophy {
	opacity: 0;
	transform:
		translate3d(0, 32px, 0)
		scale(0.98);
	transition:
		opacity 750ms ease 820ms,
		transform 900ms
		var(--about-animation-ease)
		820ms;
	will-change: opacity, transform;
}

.home-about.is-visible
	.home-about__philosophy {
	opacity: 1;
	transform:
		translate3d(0, 0, 0)
		scale(1);
}


/* ==================================================
   QUOTE ICON
================================================== */

.home-about__quote-icon {
	opacity: 0;
	transform:
		rotate(-15deg)
		scale(0.65);
	transition:
		opacity 500ms ease 1020ms,
		transform 700ms
		var(--about-animation-ease)
		1020ms;
}

.home-about.is-visible
	.home-about__quote-icon {
	opacity: 1;
	transform:
		rotate(0deg)
		scale(1);
}


/* ==================================================
   PHILOSOPHY GOLD LINE
================================================== */

.home-about__philosophy-line {
	transform: scaleX(0);
	transform-origin: left center;
	transition:
		transform 650ms
		var(--about-animation-ease)
		1050ms;
}

.home-about.is-visible
	.home-about__philosophy-line {
	transform: scaleX(1);
}


/* ==================================================
   FEATURE ITEMS
================================================== */

.home-about__feature {
	opacity: 0;
	transform: translate3d(0, 30px, 0);
	transition:
		opacity 650ms ease
		var(--reveal-delay, 1000ms),
		transform 800ms
		var(--about-animation-ease)
		var(--reveal-delay, 1000ms);
}

.home-about.is-visible
	.home-about__feature {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}


/* ==================================================
   FEATURE ICONS
================================================== */

.home-about__feature-icon {
	transform: scale(0.8);
	transition:
		transform 750ms
		var(--about-animation-ease)
		var(--reveal-delay, 1000ms),
		background-color 250ms ease,
		border-color 250ms ease,
		box-shadow 250ms ease;
}

.home-about.is-visible
	.home-about__feature-icon {
	transform: scale(1);
}


/* ==================================================
   FEATURE HOVER
================================================== */

@media (hover: hover) and (pointer: fine) {

	.home-about.is-visible
		.home-about__feature:hover
		.home-about__feature-icon {
		transform:
			translateY(-4px)
			scale(1.05);

		background-color: rgba(
			239,
			225,
			203,
			0.9
		);

		border-color: rgba(
			191,
			139,
			57,
			0.7
		);

		box-shadow:
			0 12px 28px
			rgba(185, 131, 47, 0.15);
	}
}


/* ==================================================
   TABLET / MOBILE ENTRANCE
================================================== */

@media screen and (max-width: 900px) {

	.home-about__media {
		transform:
			translate3d(0, 45px, 0)
			scale(0.96);
	}

	.home-about.is-visible
		.home-about__media {
		transform:
			translate3d(0, 0, 0)
			scale(1);
	}
}


/* ==================================================
   REDUCED MOTION
================================================== */

@media (prefers-reduced-motion: reduce) {

	.home-about__media,
	.home-about__portrait-image,
	.home-about__side-diamond,
	.home-about__portrait-logo,
	.home-about__portrait-logo-inner,
	.home-about__eyebrow,
	.home-about__title,
	.home-about__title-divider span,
	.home-about__title-divider i,
	.home-about__text p,
	.home-about__philosophy,
	.home-about__quote-icon,
	.home-about__philosophy-line,
	.home-about__feature,
	.home-about__feature-icon {
		opacity: 1 !important;
		filter: none !important;
		transition: none !important;
		animation: none !important;
		transform: none !important;
	}

	.home-about__portrait-logo {
		transform:
			translateX(-50%) !important;
	}
}
/**
 * Homepage Services Section.
 *
 * @package DrSanhithaPurushotham
 */

/* ==================================================
   SECTION
================================================== */

.home-services {
	--services-navy: #092442;
	--services-gold: #c38d31;
	--services-gold-light: #deb66f;
	--services-cream: #f8f1e8;
	--services-card: #fcf8f3;
	--services-text: #263a50;
	--services-ease: cubic-bezier(0.22, 1, 0.36, 1);

	position: relative;
	overflow: hidden;
	padding: 72px 0 68px;
	background-color: var(--services-cream);
}

.home-services__container {
	width: min(calc(100% - 80px), 1360px);
	margin-inline: auto;
}


/* ==================================================
   SECTION HEADER
================================================== */

.home-services__header {
	max-width: 900px;
	margin: 0 auto 44px;
	text-align: center;
}

.home-services__ornament {
	display: flex;
	width: 190px;
	margin: 0 auto 22px;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.home-services__ornament span {
	display: block;
	width: 75px;
	height: 1px;
	background-color: rgba(190, 133, 43, 0.68);
}

.home-services__ornament i {
	display: block;
	width: 9px;
	height: 9px;
	background-color: var(--services-gold);
	transform: rotate(45deg);
}

.home-services__ornament--bottom {
	margin-top: 23px;
	margin-bottom: 0;
}

.home-services__title {
	margin: 0;
	color: var(--services-navy);
	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;
	font-size: clamp(35px, 4vw, 35px);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.7px;
}

.home-services__subtitle {
	margin: 10px 0 0;
	color: #3b4c5d;
	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;
	font-size: clamp(20px, 1.8vw, 20px);
	font-weight: 500;
	line-height: 1.35;
}


/* ==================================================
   CAROUSEL
================================================== */

.home-services__slider {
	position: relative;
}

.home-services__viewport {
	width: 100%;
	overflow: hidden;
	padding: 10px 4px 24px;
}

.home-services__track {
	display: flex;
	gap: 24px;
	transition:
		transform 750ms
		var(--services-ease);
	will-change: transform;
}


/* ==================================================
   SERVICE CARD
================================================== */

.home-services__card {
	position: relative;
	display: flex;
	min-width: calc(
		(100% - 72px) / 4
	);
	height: 430px;
	padding: 42px 31px 34px;
	overflow: hidden;
	flex: 0 0 calc(
		(100% - 72px) / 4
	);
	flex-direction: column;
	border: 1px solid rgba(181, 139, 75, 0.2);
	border-radius: 11px 42px 11px 11px;
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.9),
			rgba(253, 248, 241, 0.92)
		);
	box-shadow:
		0 10px 30px rgba(61, 44, 22, 0.07);
	transition:
		transform 420ms var(--services-ease),
		box-shadow 420ms ease,
		border-color 420ms ease;
}


/* ==================================================
   TOP RIGHT CURVE
================================================== */

.home-services__corner {
	position: absolute;
	top: 0;
	right: 0;
	width: 68px;
	height: 78px;
	border-bottom-left-radius: 68px;
	background-color: #f3eadf;
	transition:
		width 400ms var(--services-ease),
		height 400ms var(--services-ease),
		background-color 400ms ease;
}

.home-services__number {
	position: absolute;
	top: 29px;
	right: 20px;
	z-index: 2;
	color: #b57d22;
	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
}


/* ==================================================
   ICON
================================================== */

.home-services__icon {
	display: flex;
	width: 108px;
	height: 108px;
	margin: 3px 0 27px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(203, 151, 60, 0.58);
	border-radius: 50%;
	background:
		radial-gradient(
			circle at 35% 30%,
			#ffffff,
			#f9f2e9
		);
	color: var(--services-gold);
	box-shadow:
		0 5px 12px rgba(112, 75, 22, 0.08);
	transition:
		transform 500ms var(--services-ease),
		box-shadow 500ms ease,
		background-color 500ms ease;
}

.home-services__icon svg {
	width: 55px;
	height: 55px;
}

.home-services__icon-image {
	width: 58px;
	height: 58px;
	object-fit: contain;
	filter:
		sepia(1)
		saturate(1.35)
		hue-rotate(355deg);
	transition:
		transform 500ms var(--services-ease);
}


/* ==================================================
   SMALL GOLD LINE
================================================== */

.home-services__card-line {
	display: block;
	width: 112px;
	height: 1px;
	margin-bottom: 32px;
	background-color: rgba(195, 141, 49, 0.62);
	transition:
		width 450ms var(--services-ease);
}


/* ==================================================
   CARD CONTENT
================================================== */

.home-services__card-title {
	margin: 0 0 25px;
	color: var(--services-navy);
	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.14;
}

.home-services__card-title a {
	color: inherit;
	text-decoration: none;
}

.home-services__description {
	margin: 0 0 28px;
	color: var(--services-text);
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.72;
}

.home-services__learn-more {
	display: inline-flex;
	width: fit-content;
	margin-top: auto;
	align-items: center;
	gap: 14px;
	color: #ad7521;
	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.home-services__learn-more svg {
	width: 21px;
	height: 21px;
	transition:
		transform 300ms
		var(--services-ease);
}


/* ==================================================
   BOTTOM GOLD ACCENT
================================================== */

.home-services__bottom-accent {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 8px;
	background:
		linear-gradient(
			90deg,
			#b87918 0%,
			#d6a443 48%,
			#b87918 100%
		);
	border-radius: 0 0 11px 11px;
}


/* ==================================================
   PREMIUM CARD HOVER
================================================== */

@media (hover: hover) and (pointer: fine) {

	.home-services__card:hover {
		border-color:
			rgba(195, 141, 49, 0.42);
		transform:
			translateY(-12px)
			scale(1.012);
		box-shadow:
			0 24px 55px
			rgba(40, 30, 17, 0.13),
			0 7px 0
			rgba(193, 135, 35, 0.06);
	}

	.home-services__card:hover
		.home-services__corner {
		width: 78px;
		height: 88px;
		background-color: #efe1cf;
	}

	.home-services__card:hover
		.home-services__icon {
		transform:
			translateY(-4px)
			rotate(-4deg)
			scale(1.06);

		box-shadow:
			0 12px 30px
			rgba(180, 124, 37, 0.18);
	}

	.home-services__card:hover
		.home-services__icon-image {
		transform: scale(1.05);
	}

	.home-services__card:hover
		.home-services__card-line {
		width: 145px;
	}

	.home-services__card:hover
		.home-services__learn-more svg {
		transform: translateX(6px);
	}

	.home-services__card:hover
		.home-services__card-title {
		color: #0c3158;
	}
}


/* ==================================================
   ARROWS
================================================== */

.home-services__arrow {
	position: absolute;
	top: 50%;
	z-index: 10;
	display: flex;
	width: 46px;
	height: 46px;
	padding: 0;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background-color: #082a4d;
	color: #ffffff;
	box-shadow:
		0 8px 20px
		rgba(4, 25, 47, 0.18);
	transform: translateY(-50%);
	transition:
		background-color 250ms ease,
		transform 250ms var(--services-ease),
		opacity 250ms ease;
}

.home-services__arrow svg {
	width: 24px;
	height: 24px;
}

.home-services__arrow--prev {
	left: -61px;
}

.home-services__arrow--next {
	right: -61px;
}

.home-services__arrow:hover {
	background-color: var(--services-gold);
	color: #ffffff;
	transform:
		translateY(-50%)
		scale(1.08);
}

.home-services__arrow:disabled {
	cursor: default;
	opacity: 0.35;
}


/* ==================================================
   DOTS
================================================== */

.home-services__dots {
	display: flex;
	min-height: 18px;
	margin-top: 26px;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.home-services__dot {
	display: block;
	width: 13px;
	height: 13px;
	padding: 0;
	border: 1.5px solid #c79540;
	border-radius: 50%;
	background-color: transparent;
	transition:
		width 300ms var(--services-ease),
		background-color 300ms ease,
		transform 300ms ease;
}

.home-services__dot.is-active {
	background-color: #c58c2e;
	transform: scale(1.05);
}


/* ==================================================
   ENTRANCE ANIMATION INITIAL STATES
================================================== */

.home-services__header {
	opacity: 0;
	transform: translateY(35px);
	transition:
		opacity 850ms ease,
		transform 950ms
		var(--services-ease);
}

.home-services__ornament span {
	transform: scaleX(0);
	transition:
		transform 800ms
		var(--services-ease)
		350ms;
}

.home-services__ornament span:first-child {
	transform-origin: right center;
}

.home-services__ornament span:last-child {
	transform-origin: left center;
}

.home-services__ornament i {
	opacity: 0;
	transform:
		rotate(45deg)
		scale(0);
	transition:
		opacity 400ms ease 500ms,
		transform 600ms
		var(--services-ease)
		500ms;
}

.home-services__card {
	opacity: 0;
	transform:
		translateY(55px)
		scale(0.965);
}


/* ==================================================
   ENTRANCE ACTIVE STATES
================================================== */

.home-services.is-visible
	.home-services__header {
	opacity: 1;
	transform: translateY(0);
}

.home-services.is-visible
	.home-services__ornament span {
	transform: scaleX(1);
}

.home-services.is-visible
	.home-services__ornament i {
	opacity: 1;
	transform:
		rotate(45deg)
		scale(1);
}

.home-services.is-visible
	.home-services__card {
	animation:
		service-card-reveal
		850ms
		var(--services-ease)
		var(--service-delay, 0ms)
		both;
}

@keyframes service-card-reveal {

	from {
		opacity: 0;
		transform:
			translateY(55px)
			scale(0.965);
	}

	to {
		opacity: 1;
		transform:
			translateY(0)
			scale(1);
	}
}


/* ==================================================
   1200
================================================== */

@media screen and (max-width: 1200px) {

	.home-services__container {
		width: min(
			calc(100% - 60px),
			1360px
		);
	}

	.home-services__card {
		min-width:
			calc((100% - 48px) / 3);

		flex-basis:
			calc((100% - 48px) / 3);
	}

	.home-services__arrow--prev {
		left: -24px;
	}

	.home-services__arrow--next {
		right: -24px;
	}
}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 900px) {

	.home-services {
		padding: 65px 0 60px;
	}

	.home-services__container {
		width: min(
			calc(100% - 48px),
			1360px
		);
	}

	.home-services__header {
		margin-bottom: 36px;
	}

	.home-services__card {
		min-width:
			calc((100% - 24px) / 2);

		flex-basis:
			calc((100% - 24px) / 2);
	}

	.home-services__arrow {
		width: 42px;
		height: 42px;
	}

	.home-services__arrow--prev {
		left: -18px;
	}

	.home-services__arrow--next {
		right: -18px;
	}
}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 600px) {

	.home-services {
		padding: 55px 0 52px;
	}

	.home-services__container {
		width: calc(100% - 36px);
	}

	.home-services__title {
		font-size: 39px;
	}

	.home-services__subtitle {
		font-size: 19px;
	}

	.home-services__ornament {
		width: 145px;
	}

	.home-services__ornament span {
		width: 55px;
	}

	.home-services__viewport {
		padding-inline: 0;
	}

	.home-services__track {
		gap: 18px;
	}

	.home-services__card {
		min-width: 100%;
		height: auto;
		min-height: 380px;
		flex-basis: 100%;
		padding: 38px 28px 34px;
	}

	.home-services__arrow {
		top: 50%;
		width: 40px;
		height: 40px;
	}

	.home-services__arrow--prev {
		left: -13px;
	}

	.home-services__arrow--next {
		right: -13px;
	}

	.home-services__dots {
		margin-top: 20px;
	}
}


/* ==================================================
   ACCESSIBILITY
================================================== */

.home-services a:focus-visible,
.home-services button:focus-visible {
	outline: 3px solid #d4a759;
	outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {

	.home-services__header,
	.home-services__ornament span,
	.home-services__ornament i,
	.home-services__card {
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
		transition: none !important;
	}

	.home-services__track {
		transition: none;
	}
}
/**
 * Homepage Awards & Achievements.
 *
 * @package DrSanhithaPurushotham
 */

/* ==================================================
   SECTION
================================================== */

.home-awards {
	--awards-navy: #09223f;
	--awards-text: #263c53;
	--awards-gold: #c58c2e;
	--awards-gold-dark: #a96f17;
	--awards-gold-light: #e0b766;
	--awards-cream: #fff;
	--awards-card: #fcf8f3;
	--awards-ease: cubic-bezier(0.22, 1, 0.36, 1);

	position: relative;
	overflow: hidden;
	padding: 30px 0 48px;
	background-color: var(--awards-cream);
}

.home-awards__container {
	width: min(calc(100% - 80px), 1360px);
	margin-inline: auto;
}


/* ==================================================
   HEADER
================================================== */

.home-awards__header {
	margin: 0 auto 38px;
	text-align: center;
}

.home-awards__eyebrow {
	display: inline-flex;
	min-height: 39px;
	margin: 0 0 17px;
	padding: 8px 22px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(192, 135, 44, 0.58);
	border-radius: 999px;
	color: #ad7624;
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 3px;
	text-transform: uppercase;
}

.home-awards__title {
	margin: 0;
	color: var(--awards-navy);
	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;
	font-size: clamp(35px, 4vw, 35px);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.6px;
}

.home-awards__heading-divider {
	display: flex;
	width: 180px;
	margin: 5px auto 0;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.home-awards__heading-divider span {
	display: block;
	width: 76px;
	height: 1px;
	background-color: rgba(194, 138, 48, 0.62);
}

.home-awards__heading-divider i {
	display: block;
	width: 10px;
	height: 10px;
	background-color: var(--awards-gold);
	transform: rotate(45deg);
}


/* ==================================================
   GRID
================================================== */

.home-awards__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 30px;
}


/* ==================================================
   AWARD CARD
================================================== */

.home-awards__card {
	position: relative;
	display: grid;
	min-height: 170px;
	padding: 25px;
	overflow: hidden;
	align-items: center;
	grid-template-columns:
		145px
		35px
		minmax(0, 1fr);
	border: 1px solid rgba(190, 138, 57, 0.42);
	border-radius: 22px;
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.82),
			rgba(252, 247, 240, 0.96)
		);
	box-shadow:
		0 10px 30px rgba(67, 48, 24, 0.055);
	transition:
		transform 450ms var(--awards-ease),
		box-shadow 450ms ease,
		border-color 450ms ease;
}


/* ==================================================
   NUMBER RIBBON
================================================== */

.home-awards__ribbon {
	position: absolute;
	top: -1px;
	left: 28px;
	z-index: 3;
	display: flex;
	width: 44px;
	height: 50px;
	padding-top: 8px;
	align-items: flex-start;
	justify-content: center;
	background:
		linear-gradient(
			135deg,
			#b97718 0%,
			#d9a444 58%,
			#b97718 100%
		);
	clip-path:
		polygon(
			0 0,
			100% 0,
			100% 82%,
			50% 100%,
			0 82%
		);
	box-shadow:
		0 8px 18px rgba(176, 112, 20, 0.16);
	transition:
		height 350ms var(--awards-ease),
		filter 350ms ease;
}

.home-awards__ribbon span {
	color: #fff8ec;
	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}


/* ==================================================
   ICON COLUMN
================================================== */

.home-awards__icon-column {
	display: flex;
	align-items: center;
	justify-content: center;
}

.home-awards__icon {
	display: flex;
	width: 112px;
	height: 112px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(198, 143, 50, 0.52);
	border-radius: 50%;
	background:
		radial-gradient(
			circle at 35% 28%,
			#ffffff,
			#f8f0e6
		);
	color: #c38a2d;
	box-shadow:
		0 8px 24px rgba(143, 95, 30, 0.08);
	transition:
		transform 500ms var(--awards-ease),
		box-shadow 500ms ease,
		background-color 500ms ease;
}

.home-awards__icon svg {
	width: 58px;
	height: 58px;
}


/* ==================================================
   VERTICAL DIVIDER
================================================== */

.home-awards__vertical-divider {
	display: flex;
	height: 164px;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}

.home-awards__vertical-divider span {
	display: block;
	width: 1px;
	flex: 1;
	background-color: rgba(192, 137, 50, 0.48);
}

.home-awards__vertical-divider i {
	display: block;
	width: 9px;
	height: 9px;
	margin-block: 3px;
	background-color: var(--awards-gold);
	transform: rotate(45deg);
}


/* ==================================================
   CONTENT
================================================== */

.home-awards__content {
	min-width: 0;
	padding-left: 10px;
}

.home-awards__content h3 {
	margin: 0;
	color: var(--awards-navy);
	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;
	font-size: clamp(18px, 1.7vw, 18px);
	font-weight: 700;
	line-height: 1.2;
}

.home-awards__mini-divider {
	display: flex;
	width: 98px;
	margin: 15px 0 15px;
	align-items: center;
	gap: 5px;
}

.home-awards__mini-divider span {
	display: block;
	height: 1px;
	flex: 1;
	background-color: rgba(193, 137, 47, 0.68);
}

.home-awards__mini-divider i {
	display: block;
	width: 8px;
	height: 8px;
	background-color: var(--awards-gold);
	transform: rotate(45deg);
}

.home-awards__content p {
	max-width: 340px;
	margin: 0;
	color: var(--awards-text);
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.7;
}


/* ==================================================
   BOTTOM-RIGHT GOLD FOLD
================================================== */

.home-awards__corner {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 66px;
	height: 66px;
	overflow: hidden;
	border-bottom-right-radius: 20px;
	pointer-events: none;
}

.home-awards__corner::before {
	position: absolute;
	right: -1px;
	bottom: -1px;
	width: 58px;
	height: 58px;
	content: "";
	background:
		linear-gradient(
			135deg,
			transparent 47%,
			#d3a144 48%,
			#b87a1c 74%,
			#e3bb6b 100%
		);
}

.home-awards__corner::after {
	position: absolute;
	right: 11px;
	bottom: 10px;
	width: 39px;
	height: 39px;
	border-radius: 0 0 11px 0;
	content: "";
	background-color: #fbf6ef;
	transform: rotate(-5deg);
}


/* ==================================================
   PREMIUM HOVER
================================================== */

@media (hover: hover) and (pointer: fine) {

	.home-awards__card:hover {
		border-color: rgba(195, 139, 47, 0.72);
		transform:
			translateY(-8px)
			scale(1.008);
		box-shadow:
			0 24px 55px
			rgba(43, 31, 17, 0.12);
	}

	.home-awards__card:hover
		.home-awards__icon {
		transform:
			translateY(-4px)
			rotate(-4deg)
			scale(1.055);

		box-shadow:
			0 16px 34px
			rgba(180, 121, 34, 0.17);
	}

	.home-awards__card:hover
		.home-awards__ribbon {
		height: 55px;
		filter: brightness(1.07);
	}

	.home-awards__card:hover
		.home-awards__mini-divider {
		width: 125px;
	}

	.home-awards__card:hover
		.home-awards__corner::before {
		filter: brightness(1.08);
	}

	.home-awards__card:hover h3 {
		color: #0a3159;
	}
}

.home-awards__mini-divider {
	transition:
		width 400ms var(--awards-ease);
}


/* ==================================================
   SAFE ENTRANCE STATES
================================================== */

/*
 * Visible by default.
 * JS adds .has-awards-animation only after initialization.
 */

.home-awards__header,
.home-awards__card {
	opacity: 1;
	transform: none;
}

.home-awards.has-awards-animation
	.home-awards__eyebrow {
	opacity: 0;
	transform: translateY(18px);
}

.home-awards.has-awards-animation
	.home-awards__title {
	opacity: 0;
	filter: blur(5px);
	transform: translateY(28px);
}

.home-awards.has-awards-animation
	.home-awards__heading-divider span {
	transform: scaleX(0);
}

.home-awards.has-awards-animation
	.home-awards__heading-divider i {
	opacity: 0;
	transform:
		rotate(45deg)
		scale(0);
}

.home-awards.has-awards-animation
	.home-awards__card {
	opacity: 0;
	transform:
		translateY(44px)
		scale(0.97);
}


/* ==================================================
   ACTIVE ENTRANCE
================================================== */

.home-awards.has-awards-animation.is-visible
	.home-awards__eyebrow {
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity 600ms ease 100ms,
		transform 750ms
		var(--awards-ease)
		100ms;
}

.home-awards.has-awards-animation.is-visible
	.home-awards__title {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0);
	transition:
		opacity 750ms ease 180ms,
		transform 900ms
		var(--awards-ease)
		180ms,
		filter 850ms ease 180ms;
}

.home-awards__heading-divider span:first-child {
	transform-origin: right center;
}

.home-awards__heading-divider span:last-child {
	transform-origin: left center;
}

.home-awards.has-awards-animation.is-visible
	.home-awards__heading-divider span {
	transform: scaleX(1);
	transition:
		transform 700ms
		var(--awards-ease)
		350ms;
}

.home-awards.has-awards-animation.is-visible
	.home-awards__heading-divider i {
	opacity: 1;
	transform:
		rotate(45deg)
		scale(1);
	transition:
		opacity 350ms ease 500ms,
		transform 550ms
		var(--awards-ease)
		500ms;
}

.home-awards.has-awards-animation.is-visible
	.home-awards__card {
	animation:
		award-card-reveal
		850ms
		var(--awards-ease)
		var(--award-delay, 450ms)
		both;
}

@keyframes award-card-reveal {

	from {
		opacity: 0;
		transform:
			translateY(44px)
			scale(0.97);
	}

	to {
		opacity: 1;
		transform:
			translateY(0)
			scale(1);
	}
}


/* ==================================================
   LAPTOP
================================================== */

@media screen and (max-width: 1200px) {

	.home-awards__container {
		width: min(
			calc(100% - 60px),
			1360px
		);
	}

	.home-awards__card {
		padding-right: 30px;
		grid-template-columns:
			125px
			30px
			minmax(0, 1fr);
	}

	.home-awards__icon {
		width: 100px;
		height: 100px;
	}

	.home-awards__icon svg {
		width: 52px;
		height: 52px;
	}
}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 900px) {

	.home-awards {
		padding: 60px 0;
	}

	.home-awards__container {
		width: min(
			calc(100% - 48px),
			1360px
		);
	}

	.home-awards__grid {
		grid-template-columns: 1fr;
	}

	.home-awards__card {
		min-height: 270px;
	}
}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 600px) {

	.home-awards {
		padding: 52px 0;
	}

	.home-awards__container {
		width: calc(100% - 36px);
	}

	.home-awards__header {
		margin-bottom: 32px;
	}

	.home-awards__eyebrow {
		min-height: 34px;
		padding: 7px 18px;
		font-size: 11px;
	}

	.home-awards__title {
		font-size: 40px;
	}

	.home-awards__heading-divider {
		width: 145px;
	}

	.home-awards__heading-divider span {
		width: 58px;
	}

	.home-awards__card {
		min-height: 0;
		padding: 75px 24px 34px;
		grid-template-columns: 1fr;
		gap: 23px;
		text-align: center;
	}

	.home-awards__ribbon {
		left: 24px;
	}

	.home-awards__icon-column {
		justify-content: center;
	}

	.home-awards__vertical-divider {
		display: none;
	}

	.home-awards__content {
		padding-left: 0;
	}

	.home-awards__mini-divider {
		margin-right: auto;
		margin-left: auto;
	}

	.home-awards__content p {
		max-width: 100%;
	}

	.home-awards__icon {
		width: 100px;
		height: 100px;
	}
}


/* ==================================================
   REDUCED MOTION
================================================== */

@media (prefers-reduced-motion: reduce) {

	.home-awards__eyebrow,
	.home-awards__title,
	.home-awards__heading-divider span,
	.home-awards__heading-divider i,
	.home-awards__card {
		opacity: 1 !important;
		filter: none !important;
		transform: none !important;
		animation: none !important;
		transition: none !important;
	}
}
/**
 * Homepage Academic Journey.
 *
 * @package DrSanhithaPurushotham
 */

/* ==================================================
   FOUNDATION
================================================== */

.academic-journey {
	--journey-navy: #08213e;
	--journey-teal: #008d99;
	--journey-teal-dark: #007b85;
	--journey-gold: #c48825;
	--journey-gold-light: #dda94f;
	--journey-text: #44576a;
	--journey-cream: #f8f1e8;
	--journey-ease: cubic-bezier(0.22, 1, 0.36, 1);

	position: relative;
	width: 100%;
	padding: 24px 0 30px;
	overflow: hidden;
	background-color: var(--journey-cream);
	color: var(--journey-navy);
}

.academic-journey *,
.academic-journey *::before,
.academic-journey *::after {
	box-sizing: border-box;
}

.academic-journey__container {
	position: relative;
	width: min(calc(100% - 80px), 1360px);
	margin-inline: auto;
}


/* ==================================================
   HEADER
================================================== */

.academic-journey__header {
	position: relative;
	z-index: 20;
	text-align: center;
}

.academic-journey__top-emblem {
	width: 53px;
	margin: 0 auto 5px;
	color: var(--journey-gold);
}

.academic-journey__top-emblem svg {
	display: block;
	width: 100%;
	height: auto;
}


/* ==================================================
   EYEBROW
================================================== */

.academic-journey__eyebrow {
	display: flex;
	margin: 0 0 8px;
	align-items: center;
	justify-content: center;
	gap: 18px;
}

.academic-journey__eyebrow p {
	margin: 0;
	color: var(--journey-teal);
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 5.8px;
	text-transform: uppercase;
	white-space: nowrap;
}

.academic-journey__eyebrow-side {
	display: flex;
	width: 68px;
	align-items: center;
	gap: 7px;
}

.academic-journey__eyebrow-side span {
	display: block;
	height: 1px;
	flex: 1;
	background:
		linear-gradient(
			to right,
			transparent,
			var(--journey-gold)
		);
}

.academic-journey__eyebrow-side--right span {
	background:
		linear-gradient(
			to left,
			transparent,
			var(--journey-gold)
		);
}

.academic-journey__eyebrow-side i {
	display: block;
	width: 4px;
	height: 4px;
	flex: 0 0 4px;
	border-radius: 50%;
	background-color: var(--journey-gold);
}


/* ==================================================
   TITLE
================================================== */

.academic-journey__title {
	margin: 0;
	color: var(--journey-navy);
	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;
	font-size: clamp(35px, 4vw, 35px);
	font-weight: 600;
	line-height: 1.02;
	letter-spacing: -0.8px;
}

.academic-journey__heading-ornament {
	display: flex;
	width: 230px;
	height: 25px;
	margin: 5px auto 0;
	align-items: center;
	justify-content: center;
	gap: 11px;
	color: var(--journey-gold);
}

.academic-journey__heading-ornament > span {
	display: block;
	width: 92px;
	height: 1px;
	background-color: var(--journey-gold);
}

.academic-journey__heading-ornament svg {
	display: block;
	width: 21px;
	height: 25px;
}


/* ==================================================
   BODY

   Left timeline + right featured card.
================================================== */

.academic-journey__body {
	position: relative;
	display: grid;
	margin-top: 12px;
	grid-template-columns:
		minmax(0, 1fr)
		310px;
	gap: 52px;
	align-items: start;
}


/* ==================================================
   LEFT TIMELINE
================================================== */

.academic-journey__timeline {
	position: relative;
	min-width: 0;
	height: 420px;
}


/* ==================================================
   CURVE

   IMPORTANT:
   The curve and all three points are one SVG.
================================================== */

.academic-journey__curve {
	position: absolute;
	top: 73px;
	left: 0;
	z-index: 2;
	display: block;
	width: 100%;
	height: 170px;
	overflow: visible;
	color: var(--journey-gold);
	pointer-events: none;
}

.academic-journey__curve-path {
	vector-effect: non-scaling-stroke;
}

.academic-journey__curve-point {
	fill: var(--journey-gold);
	stroke: #ffffff;
	stroke-width: 4;
	vector-effect: non-scaling-stroke;
	filter:
		drop-shadow(
			0 3px 4px
			rgba(121, 74, 12, 0.20)
		);
}


/* ==================================================
   FIRST TWO COLUMNS
================================================== */

.academic-journey__timeline-grid {
	position: relative;
	z-index: 5;
	display: grid;
	height: 100%;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 35px;
}


/* ==================================================
   ITEM FOUNDATION
================================================== */

.academic-journey__item {
	position: relative;
	min-width: 0;
	text-align: center;
}

.academic-journey__item--one,
.academic-journey__item--two {
	padding-top: 66px;
}


/* ==================================================
   FAINT 01 / 02
================================================== */

.academic-journey__watermark-number {
	position: absolute;
	top: 31px;
	left: 20%;
	z-index: -1;
	color: transparent;
	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;
	font-size: 84px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -4px;
	pointer-events: none;
	-webkit-text-stroke:
		1px rgba(196, 136, 37, 0.14);
}

.academic-journey__item--two
	.academic-journey__watermark-number {
	left: 19%;
}


/* ==================================================
   MILESTONE
================================================== */

.academic-journey__milestone {
	position: relative;
	z-index: 6;
	width: 116px;
	height: 151px;
	margin-inline: auto;
}


/* ==================================================
   CIRCLE
================================================== */

.academic-journey__circle {
	position: relative;
	z-index: 8;
	display: flex;
	width: 102px;
	height: 102px;
	margin-inline: auto;
	align-items: center;
	justify-content: center;
	border: 1.5px solid var(--journey-gold);
	border-radius: 50%;
	background:
		radial-gradient(
			circle at 35% 28%,
			#ffffff 0%,
			#fcf8f2 68%,
			#f2e7d8 100%
		);
	color: var(--journey-teal-dark);
	box-shadow:
		0 7px 20px
		rgba(76, 51, 19, 0.065);
}

.academic-journey__circle svg {
	display: block;
	width: 51px;
	height: 46px;
}


/* ==================================================
   STEM

   Stem reaches the low point of curve.
================================================== */

.academic-journey__stem {
	position: absolute;
	top: 99px;
	left: 50%;
	z-index: 7;
	width: 20px;
	height: 54px;
	transform: translateX(-50%);
}

.academic-journey__stem span {
	display: block;
	width: 1px;
	height: 40px;
	margin-inline: auto;
	background-color: var(--journey-gold);
}

.academic-journey__stem i {
	display: block;
	width: 11px;
	height: 11px;
	margin: -1px auto 0;
	border: 2px solid var(--journey-teal-dark);
	background-color: var(--journey-cream);
	transform: rotate(45deg);
}


/* ==================================================
   FIRST TWO TEXT CONTENT
================================================== */

.academic-journey__content {
	position: relative;
	z-index: 8;
	margin-top: -1px;
}

.academic-journey__years {
	margin: 0;
	color: var(--journey-teal);
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.6px;
}

.academic-journey__year-line {
	display: block;
	width: 54px;
	height: 1px;
	margin: 10px auto 12px;
	background-color: var(--journey-gold);
}

.academic-journey__degree {
	margin: 0;
	color: var(--journey-navy);
	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;
	font-size: clamp(28px, 2.1vw, 33px);
	font-weight: 700;
	line-height: 1.12;
}

.academic-journey__mini-divider {
	display: flex;
	width: 59px;
	margin: 14px auto 12px;
	align-items: center;
	justify-content: center;
	gap: 4px;
}

.academic-journey__mini-divider span {
	display: block;
	height: 1px;
	flex: 1;
	background-color: var(--journey-gold);
}

.academic-journey__mini-divider i {
	display: block;
	width: 6px;
	height: 6px;
	flex: 0 0 6px;
	border-radius: 50%;
	background-color: var(--journey-gold);
}

.academic-journey__institution {
	max-width: 300px;
	margin: 0 auto;
	color: var(--journey-text);
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.55;
}


/* ==================================================
   FEATURED THIRD CARD
================================================== */

.academic-journey__item--three {
	position: relative;
	z-index: 10;
}

.academic-journey__final-card {
	position: relative;
	width: 310px;
	height: 420px;
	margin-left: auto;
	padding: 32px 20px 18px;
	border: 1.3px solid var(--journey-gold);
	border-radius: 155px 155px 0 0;
	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.22),
			rgba(255, 255, 255, 0.04)
		);
}


/* ==================================================
   LAUREL
================================================== */

.academic-journey__laurel {
	position: absolute;
	top: 28px;
	left: 50%;
	z-index: 2;
	width: 176px;
	color: var(--journey-gold);
	transform: translateX(-50%);
}

.academic-journey__laurel svg {
	display: block;
	width: 100%;
	height: auto;
}


/* ==================================================
   SHIELD
================================================== */

.academic-journey__shield {
	position: relative;
	z-index: 5;
	width: 75px;
	margin: 14px auto 6px;
	color: var(--journey-teal-dark);
}

.academic-journey__shield svg {
	display: block;
	width: 100%;
	height: auto;
	filter:
		drop-shadow(
			0 6px 9px
			rgba(1, 101, 111, 0.11)
		);
}


/* ==================================================
   FINAL STEM
================================================== */

.academic-journey__final-stem {
	position: relative;
	z-index: 5;
	width: 20px;
	height: 60px;
	margin: -2px auto 0;
}

.academic-journey__final-stem span {
	display: block;
	width: 1px;
	height: 47px;
	margin-inline: auto;
	background-color: var(--journey-gold);
}

.academic-journey__final-stem i {
	display: block;
	width: 11px;
	height: 11px;
	margin: -1px auto 0;
	border: 1.8px solid var(--journey-gold);
	background-color: var(--journey-cream);
	transform: rotate(45deg);
}


/* ==================================================
   FINAL CONTENT
================================================== */

.academic-journey__final-content {
	position: relative;
	z-index: 5;
	margin-top: 0;
}

.academic-journey__final-content
	.academic-journey__degree {
	font-size: 31px;
}

.academic-journey__final-content
	.academic-journey__institution {
	max-width: 260px;
}


/* ==================================================
   FINAL CARD GOLD BASE
================================================== */

.academic-journey__final-card::after {
	position: absolute;
	right: 10px;
	bottom: -9px;
	left: 10px;
	z-index: -1;
	height: 10px;
	border-radius: 0 0 10px 10px;
	content: "";
	background:
		linear-gradient(
			90deg,
			#b67616 0%,
			#daa646 50%,
			#b67616 100%
		);
}

.academic-journey__final-bottom {
	position: absolute;
	bottom: -1px;
	left: 50%;
	z-index: 7;
	display: flex;
	width: 58px;
	height: 30px;
	align-items: center;
	justify-content: center;
	border-radius: 30px 30px 0 0;
	background:
		linear-gradient(
			135deg,
			#b77718,
			#d8a143
		);
	color: #ffffff;
	transform: translateX(-50%);
}

.academic-journey__final-bottom span {
	font-size: 14px;
	line-height: 1;
}


/* ==================================================
   PREMIUM HOVER
================================================== */

@media (hover: hover) and (pointer: fine) {

	.academic-journey__circle {
		transition:
			transform 420ms var(--journey-ease),
			box-shadow 420ms ease,
			border-color 420ms ease;
	}

	.academic-journey__circle svg {
		transition:
			transform 420ms var(--journey-ease);
	}

	.academic-journey__item--one:hover
		.academic-journey__circle,
	.academic-journey__item--two:hover
		.academic-journey__circle {
		border-color: var(--journey-teal);
		transform:
			translateY(-5px)
			scale(1.045);
		box-shadow:
			0 15px 32px
			rgba(0, 124, 137, 0.12);
	}

	.academic-journey__item--one:hover
		.academic-journey__circle svg,
	.academic-journey__item--two:hover
		.academic-journey__circle svg {
		transform:
			rotate(-4deg)
			scale(1.05);
	}

	.academic-journey__final-card {
		transition:
			transform 450ms var(--journey-ease),
			box-shadow 450ms ease,
			border-color 450ms ease;
	}

	.academic-journey__item--three:hover
		.academic-journey__final-card {
		border-color: #d09a3f;
		transform: translateY(-6px);
		box-shadow:
			0 20px 45px
			rgba(131, 86, 16, 0.10);
	}

	.academic-journey__shield {
		transition:
			transform 450ms var(--journey-ease);
	}

	.academic-journey__item--three:hover
		.academic-journey__shield {
		transform:
			translateY(-3px)
			scale(1.04);
	}

	.academic-journey__degree {
		transition:
			color 300ms ease,
			transform 300ms var(--journey-ease);
	}

	.academic-journey__item:hover
		.academic-journey__degree {
		color: #0c345c;
	}
}


/* ==================================================
   SAFE ENTRANCE ANIMATION

   Visible normally.
   Only hidden when JS has initialized.
================================================== */

.academic-journey__header,
.academic-journey__item {
	opacity: 1;
}


/* Header initial */
.academic-journey.has-academic-animation
	.academic-journey__header {
	opacity: 0;
	transform: translateY(22px);
}


/* Timeline path initial */
.academic-journey.has-academic-animation
	.academic-journey__curve-path {
	stroke-dasharray: 1800;
	stroke-dashoffset: 1800;
}


/* Points initial */
.academic-journey.has-academic-animation
	.academic-journey__curve-point {
	opacity: 0;
	transform-box: fill-box;
	transform-origin: center;
	transform: scale(0);
}


/* Items initial */
.academic-journey.has-academic-animation
	.academic-journey__item {
	opacity: 0;
	transform:
		translateY(30px)
		scale(0.975);
}


/* ==================================================
   HEADER ENTRANCE
================================================== */

.academic-journey.has-academic-animation.is-visible
	.academic-journey__header {
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity 700ms ease,
		transform 850ms var(--journey-ease);
}


/* ==================================================
   DRAW CURVE
================================================== */

.academic-journey.has-academic-animation.is-visible
	.academic-journey__curve-path {
	stroke-dashoffset: 0;
	transition:
		stroke-dashoffset
		1450ms
		var(--journey-ease)
		420ms;
}


/* ==================================================
   CURVE POINT 1
================================================== */

.academic-journey.has-academic-animation.is-visible
	.academic-journey__curve-point--1 {
	opacity: 1;
	transform: scale(1);
	transition:
		opacity 300ms ease 430ms,
		transform 500ms var(--journey-ease) 430ms;
}


/* ==================================================
   CURVE POINT 2
================================================== */

.academic-journey.has-academic-animation.is-visible
	.academic-journey__curve-point--2 {
	opacity: 1;
	transform: scale(1);
	transition:
		opacity 300ms ease 920ms,
		transform 500ms var(--journey-ease) 920ms;
}


/* ==================================================
   CURVE POINT 3
================================================== */

.academic-journey.has-academic-animation.is-visible
	.academic-journey__curve-point--3 {
	opacity: 1;
	transform: scale(1);
	transition:
		opacity 300ms ease 1350ms,
		transform 500ms var(--journey-ease) 1350ms;
}


/* ==================================================
   ITEMS ENTRANCE
================================================== */

.academic-journey.has-academic-animation.is-visible
	.academic-journey__item {
	animation:
		academic-item-reveal
		800ms
		var(--journey-ease)
		var(--academic-delay, 520ms)
		both;
}

@keyframes academic-item-reveal {

	from {
		opacity: 0;
		transform:
			translateY(30px)
			scale(0.975);
	}

	to {
		opacity: 1;
		transform:
			translateY(0)
			scale(1);
	}
}


/* ==================================================
   LARGE LAPTOP
================================================== */

@media screen and (max-width: 1400px) and (min-width: 1101px) {

	.academic-journey {
		padding-top: 21px;
		padding-bottom: 28px;
	}

	.academic-journey__container {
		width: min(calc(100% - 60px), 1360px);
	}

	.academic-journey__title {
		font-size: 52px;
	}

	.academic-journey__body {
		grid-template-columns:
			minmax(0, 1fr)
			285px;
		gap: 38px;
	}

	.academic-journey__timeline {
		height: 395px;
	}

	.academic-journey__final-card {
		width: 285px;
		height: 400px;
		padding-top: 28px;
	}

	.academic-journey__laurel {
		width: 162px;
		top: 24px;
	}

	.academic-journey__shield {
		width: 70px;
	}

	.academic-journey__institution {
		font-size: 12.5px;
	}
}


/* ==================================================
   SMALL LAPTOP / TABLET LANDSCAPE
================================================== */

@media screen and (max-width: 1100px) and (min-width: 901px) {

	.academic-journey__container {
		width: min(calc(100% - 48px), 1360px);
	}

	.academic-journey__title {
		font-size: 47px;
	}

	.academic-journey__body {
		grid-template-columns:
			minmax(0, 1fr)
			260px;
		gap: 24px;
	}

	.academic-journey__timeline {
		height: 390px;
	}

	.academic-journey__circle {
		width: 92px;
		height: 92px;
	}

	.academic-journey__milestone {
		height: 141px;
	}

	.academic-journey__stem {
		top: 89px;
	}

	.academic-journey__degree {
		font-size: 27px;
	}

	.academic-journey__final-card {
		width: 260px;
		height: 390px;
		padding-inline: 15px;
	}

	.academic-journey__laurel {
		width: 150px;
	}

	.academic-journey__final-content
		.academic-journey__degree {
		font-size: 27px;
	}
}


/* ==================================================
   TABLET / STACKED
================================================== */

@media screen and (max-width: 900px) {

	.academic-journey {
		padding: 52px 0;
	}

	.academic-journey__container {
		width: min(calc(100% - 48px), 1360px);
	}

	.academic-journey__title {
		font-size: 47px;
	}

	.academic-journey__body {
		margin-top: 42px;
		grid-template-columns: 1fr;
		gap: 55px;
	}

	.academic-journey__timeline {
		height: auto;
	}

	.academic-journey__curve {
		display: none;
	}

	.academic-journey__timeline-grid {
		height: auto;
		grid-template-columns: 1fr;
		gap: 55px;
	}

	.academic-journey__item--one,
	.academic-journey__item--two {
		padding-top: 18px;
	}

	.academic-journey__watermark-number {
		top: -8px;
		left: 19%;
		transform: translateX(-100%);
	}

	.academic-journey__institution {
		max-width: 430px;
	}

	.academic-journey__final-card {
		width: min(100%, 330px);
		height: 420px;
		margin-inline: auto;
	}
}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 600px) {

	.academic-journey {
		padding: 44px 0;
	}

	.academic-journey__container {
		width: calc(100% - 36px);
	}

	.academic-journey__top-emblem {
		width: 47px;
	}

	.academic-journey__eyebrow {
		gap: 9px;
	}

	.academic-journey__eyebrow p {
		font-size: 10px;
		letter-spacing: 3.2px;
	}

	.academic-journey__eyebrow-side {
		width: 30px;
	}

	.academic-journey__title {
		font-size: 38px;
		line-height: 1.05;
	}

	.academic-journey__heading-ornament {
		width: 170px;
		margin-top: 14px;
	}

	.academic-journey__heading-ornament > span {
		width: 63px;
	}

	.academic-journey__body {
		margin-top: 30px;
		gap: 48px;
	}

	.academic-journey__watermark-number {
		font-size: 70px;
	}

	.academic-journey__circle {
		width: 94px;
		height: 94px;
	}

	.academic-journey__milestone {
		height: 140px;
	}

	.academic-journey__stem {
		top: 91px;
	}

	.academic-journey__years {
		font-size: 15px;
	}

	.academic-journey__degree {
		font-size: 29px;
	}

	.academic-journey__institution {
		max-width: 315px;
		font-size: 13px;
	}

	.academic-journey__final-card {
		width: min(100%, 310px);
		height: 410px;
		padding:
			30px
			16px
			17px;
	}

	.academic-journey__final-content
		.academic-journey__degree {
		font-size: 29px;
	}
}


/* ==================================================
   VERY SMALL MOBILE
================================================== */

@media screen and (max-width: 400px) {

	.academic-journey__eyebrow-side {
		display: none;
	}

	.academic-journey__title {
		font-size: 34px;
	}

	.academic-journey__degree {
		font-size: 27px;
	}
}


/* ==================================================
   REDUCED MOTION
================================================== */

@media (prefers-reduced-motion: reduce) {

	.academic-journey__header,
	.academic-journey__item,
	.academic-journey__curve-path,
	.academic-journey__curve-point,
	.academic-journey__circle,
	.academic-journey__circle svg,
	.academic-journey__final-card,
	.academic-journey__shield {
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
		transition: none !important;
	}

	.academic-journey__curve-path {
		stroke-dasharray: none !important;
		stroke-dashoffset: 0 !important;
	}
}
/**
 * Fellowships, Diplomas & Professional Memberships.
 *
 * @package DrSanhithaPurushotham
 */

/* ==================================================
   ROOT
================================================== */

.credentials-showcase {
	--credentials-navy: #08213e;
	--credentials-text: #30465b;
	--credentials-teal: #008f94;
	--credentials-teal-dark: #00777d;

	--credentials-gold: #c88d2c;
	--credentials-gold-light: #ddb261;

	--credentials-cream: #f8f1e8;
	--credentials-card: #fcf8f3;

	--credentials-ease:
		cubic-bezier(0.22, 1, 0.36, 1);

	position: relative;

	width: 100%;

	min-height: calc(100svh - 100px);

	padding:
		clamp(24px, 3vh, 38px)
		0;

	overflow: hidden;

	background-color: #fff;

	color: var(--credentials-navy);
}

.credentials-showcase *,
.credentials-showcase *::before,
.credentials-showcase *::after {
	box-sizing: border-box;
}


/* ==================================================
   1360 GLOBAL WIDTH
================================================== */

.credentials-showcase__container {
	width: min(
		calc(100% - 80px),
		1360px
	);

	margin-inline: auto;
}


/* ==================================================
   MAIN 2-COLUMN LAYOUT
================================================== */

.credentials-showcase__layout {
	display: grid;

	grid-template-columns:
		minmax(0, 0.88fr)
		1px
		minmax(0, 1.32fr);

	gap: 42px;

	align-items: stretch;
}


/* ==================================================
   CENTER DIVIDER
================================================== */

.credentials-showcase__main-divider {
	width: 1px;
	height: 585px;

	align-self: center;

	background:
		linear-gradient(
			to bottom,
			transparent,
			rgba(200, 141, 44, 0.40) 10%,
			rgba(200, 141, 44, 0.40) 90%,
			transparent
		);
}


/* ==================================================
   SECTION HEADINGS
================================================== */

.credentials-showcase__section-heading {
	display: grid;

	min-height: 92px;

	grid-template-columns:
		78px
		minmax(0, 1fr);

	gap: 20px;

	align-items: center;
}

.credentials-showcase__heading-icon {
	display: flex;

	width: 76px;
	height: 76px;

	align-items: center;
	justify-content: center;

	border:
		1px solid
		rgba(200, 141, 44, 0.55);

	border-radius: 50%;

	background:
		radial-gradient(
			circle at 35% 28%,
			#ffffff,
			rgba(250, 245, 238, 0.85)
		);

	color: var(--credentials-teal);

	box-shadow:
		0 8px 22px
		rgba(72, 50, 22, 0.05);
}

.credentials-showcase__heading-icon svg {
	width: 42px;
	height: 42px;
}

.credentials-showcase__heading-content {
	min-width: 0;
}

.credentials-showcase__heading-content h2 {
	margin: 0;

	color: var(--credentials-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;

	font-size:
		clamp(31px, 2.35vw, 38px);

	font-weight: 700;

	line-height: 1.08;
}

.credentials-showcase__heading-divider {
	display: flex;

	width: 220px;

	margin:
		17px
		auto
		0;

	align-items: center;
	justify-content: center;

	gap: 5px;

	color: var(--credentials-gold);
}

.credentials-showcase__heading-divider span {
	display: block;

	height: 1px;

	flex: 1;

	background-color:
		rgba(200, 141, 44, 0.62);
}

.credentials-showcase__heading-divider svg {
	width: 17px;
	height: 17px;

	flex: 0 0 17px;
}


/* ==================================================
   LEFT SIDE
================================================== */

.credentials-showcase__fellowships {
	position: relative;
	min-width: 0;
}

.credentials-showcase__fellowship-body {
	position: relative;

	height: 495px;

	margin-top: 20px;
}


/* ==================================================
   LEFT VERTICAL LINE
================================================== */

.credentials-showcase__vertical-line {
	position: absolute;

	top: 16px;
	bottom: 13px;
	left: 38px;

	z-index: 1;

	width: 1px;

	background-color:
		rgba(200, 141, 44, 0.72);
}

.credentials-showcase__vertical-dot {
	position: absolute;

	left: 50%;

	display: block;

	width: 10px;
	height: 10px;

	border-radius: 50%;

	background-color:
		var(--credentials-gold);

	transform:
		translateX(-50%);
}

.credentials-showcase__vertical-dot--top {
	top: -5px;
}

.credentials-showcase__vertical-dot--bottom {
	bottom: -5px;
}


/* ==================================================
   FELLOWSHIP LIST
================================================== */

.credentials-showcase__fellowship-list {
	position: relative;

	z-index: 3;

	display: grid;

	height: 100%;

	grid-template-rows:
		repeat(3, 1fr);
}


/* ==================================================
   FELLOWSHIP ITEM
================================================== */

.credentials-showcase__fellowship-item {
	position: relative;

	display: grid;

	grid-template-columns:
		76px
		67px
		22px
		minmax(0, 1fr);

	gap: 10px;

	align-items: center;
}


/* ==================================================
   FELLOWSHIP BADGE
================================================== */

.credentials-showcase__fellowship-badge {
	position: relative;

	z-index: 5;

	display: flex;

	width: 64px;
	height: 64px;

	margin-left: 6px;

	align-items: center;
	justify-content: center;

	border:
		7px solid
		rgba(255, 255, 255, 0.92);

	border-radius: 50%;

	background:
		linear-gradient(
			145deg,
			#04aaa8,
			#007b7f
		);

	color: #ffffff;

	box-shadow:
		0 8px 22px
		rgba(0, 103, 108, 0.19);
}

.credentials-showcase__fellowship-badge svg {
	width: 30px;
	height: 30px;
}


/* ==================================================
   FAINT 01 / 02 / 03
================================================== */

.credentials-showcase__fellowship-number {
	color:
		rgba(200, 141, 44, 0.23);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 47px;
	font-weight: 600;

	line-height: 1;
}


/* ==================================================
   NUMBER DASH
================================================== */

.credentials-showcase__number-line {
	display: block;

	width: 19px;
	height: 1px;

	background-color:
		var(--credentials-gold);
}


/* ==================================================
   FELLOWSHIP TEXT
================================================== */

.credentials-showcase__fellowship-copy {
	min-width: 0;
}

.credentials-showcase__fellowship-copy h3 {
	max-width: 315px;

	margin: 0;

	color: var(--credentials-navy);

	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;

	font-size: 15.5px;
	font-weight: 500;

	line-height: 1.5;
}

.credentials-showcase__copy-line {
	display: block;

	width: 31px;
	height: 1px;

	margin-top: 13px;

	background-color:
		var(--credentials-gold);
}


/* ==================================================
   RIGHT SIDE
================================================== */

.credentials-showcase__memberships {
	position: relative;
	min-width: 0;
}

.credentials-showcase__membership-area {
	position: relative;

	height: 515px;

	margin-top: 20px;
}


/* ==================================================
   2 X 2 CARD GRID
================================================== */

.credentials-showcase__membership-grid {
	position: relative;

	z-index: 3;

	display: grid;

	height: 100%;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	grid-template-rows:
		repeat(2, minmax(0, 1fr));

	gap:
		28px
		90px;
}


/* ==================================================
   MEMBERSHIP CARD BORDER
================================================== */

.credentials-showcase__membership-card {
	position: relative;

	min-width: 0;

	padding: 1px;

	background-color:
		rgba(200, 141, 44, 0.82);

	clip-path:
		polygon(
			0 0,
			calc(100% - 33px) 0,
			100% 33px,
			100% calc(100% - 33px),
			calc(100% - 33px) 100%,
			33px 100%,
			0 calc(100% - 33px),
			0 33px
		);

	filter:
		drop-shadow(
			0 8px 14px
			rgba(70, 46, 15, 0.05)
		);
}


/* ==================================================
   CARD INSIDE
================================================== */

.credentials-showcase__membership-card-inner {
	position: relative;

	display: flex;

	width: 100%;
	height: 100%;

	padding:
		42px
		24px
		21px;

	align-items: center;

	flex-direction: column;

	text-align: center;

	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.92),
			rgba(250, 245, 238, 0.98)
		);

	clip-path:
		polygon(
			0 0,
			calc(100% - 33px) 0,
			100% 33px,
			100% calc(100% - 33px),
			calc(100% - 33px) 100%,
			33px 100%,
			0 calc(100% - 33px),
			0 33px
		);
}


/* ==================================================
   TEAL CORNER NUMBER
================================================== */

.credentials-showcase__membership-number {
	position: absolute;

	top: 0;
	left: 0;

	z-index: 5;

	display: flex;

	width: 60px;
	height: 57px;

	padding:
		12px
		0
		0
		14px;

	align-items: flex-start;
	justify-content: flex-start;

	border-radius:
		0
		0
		34px
		0;

	background:
		linear-gradient(
			135deg,
			#006c71,
			#00a6a1
		);

	color: #ffffff;

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 21px;
	font-weight: 700;

	line-height: 1;

	box-shadow:
		3px 5px 13px
		rgba(0, 111, 113, 0.14);
}


/* ==================================================
   CARD TEXT
================================================== */

.credentials-showcase__membership-short {
	margin:
		0
		0
		8px;

	color:
		var(--credentials-teal);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 23px;
	font-weight: 700;

	line-height: 1;
}

.credentials-showcase__membership-name {
	max-width: 195px;

	min-height: 40px;

	margin: 0;

	color:
		var(--credentials-navy);

	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;

	font-size: 12.5px;
	font-weight: 500;

	line-height: 1.45;
}

.credentials-showcase__membership-line {
	display: block;

	width: 38px;
	height: 1px;

	margin:
		12px
		auto
		13px;

	background-color:
		rgba(200, 141, 44, 0.52);
}

.credentials-showcase__membership-description {
	max-width: 205px;

	margin: 0;

	color:
		var(--credentials-text);

	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;

	font-size: 12px;
	font-weight: 400;

	line-height: 1.52;
}


/* ==================================================
   GOLD CROSS CONNECTORS
================================================== */

.credentials-showcase__connector-horizontal {
	position: absolute;

	top: 50%;
	left: 21%;

	z-index: 4;

	width: 58%;
	height: 1px;

	background-color:
		rgba(200, 141, 44, 0.65);

	transform:
		translateY(-50%);
}

.credentials-showcase__connector-vertical {
	position: absolute;

	top: 21%;
	left: 50%;

	z-index: 4;

	width: 1px;
	height: 58%;

	background-color:
		rgba(200, 141, 44, 0.65);

	transform:
		translateX(-50%);
}


/* ==================================================
   CENTER EMBLEM
================================================== */

.credentials-showcase__center-emblem {
	position: absolute;

	top: 50%;
	left: 50%;

	z-index: 12;

	width: 178px;
	height: 178px;

	padding: 10px;

	border:
		1px solid
		rgba(200, 141, 44, 0.60);

	border-radius: 50%;

	background-color:
		rgba(248, 241, 232, 0.99);

	box-shadow:
		0 13px 34px
		rgba(99, 68, 24, 0.12);

	transform:
		translate(-50%, -50%);
}

.credentials-showcase__center-emblem::before {
	position: absolute;

	inset: -14px;

	z-index: -1;

	border:
		1px solid
		rgba(200, 141, 44, 0.17);

	border-radius: 50%;

	content: "";
}

.credentials-showcase__center-emblem::after {
	position: absolute;

	inset: 11px;

	border:
		1px dashed
		rgba(200, 141, 44, 0.52);

	border-radius: 50%;

	content: "";
}

.credentials-showcase__emblem-ring {
	position: relative;

	z-index: 3;

	display: flex;

	width: 100%;
	height: 100%;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	color:
		var(--credentials-gold);
}

.credentials-showcase__emblem-ring svg {
	width: 142px;
	height: 122px;
}


/* ==================================================
   FOUR CONNECTOR DOTS
================================================== */

.credentials-showcase__emblem-dot {
	position: absolute;

	z-index: 15;

	display: block;

	width: 10px;
	height: 10px;

	border-radius: 50%;

	background-color:
		var(--credentials-gold);
}

.credentials-showcase__emblem-dot--left-top {
	top: -19px;
	left: 36px;
}

.credentials-showcase__emblem-dot--right-top {
	top: -19px;
	right: 36px;
}

.credentials-showcase__emblem-dot--left-bottom {
	bottom: -19px;
	left: 36px;
}

.credentials-showcase__emblem-dot--right-bottom {
	right: 36px;
	bottom: -19px;
}


/* ==================================================
   PREMIUM HOVER - FELLOWSHIPS
================================================== */

@media (hover: hover) and (pointer: fine) {

	.credentials-showcase__fellowship-item {
		transition:
			transform
			350ms
			var(--credentials-ease);
	}

	.credentials-showcase__fellowship-badge {
		transition:
			transform
			420ms
			var(--credentials-ease),
			box-shadow
			420ms
			ease;
	}

	.credentials-showcase__fellowship-copy h3 {
		transition:
			color
			300ms
			ease,
			transform
			350ms
			var(--credentials-ease);
	}

	.credentials-showcase__fellowship-item:hover {
		transform:
			translateX(7px);
	}

	.credentials-showcase__fellowship-item:hover
		.credentials-showcase__fellowship-badge {
		transform:
			translateY(-3px)
			scale(1.07)
			rotate(-5deg);

		box-shadow:
			0 14px 28px
			rgba(0, 124, 129, 0.23);
	}

	.credentials-showcase__fellowship-item:hover
		.credentials-showcase__fellowship-copy h3 {
		color:
			var(--credentials-teal-dark);

		transform:
			translateX(3px);
	}
}


/* ==================================================
   PREMIUM HOVER - MEMBERSHIP CARDS
================================================== */

@media (hover: hover) and (pointer: fine) {

	.credentials-showcase__membership-card {
		transition:
			transform
			420ms
			var(--credentials-ease),
			filter
			420ms
			ease;
	}

	.credentials-showcase__membership-card:hover {
		z-index: 20;

		transform:
			translateY(-8px)
			scale(1.018);

		filter:
			drop-shadow(
				0 20px 28px
				rgba(70, 45, 15, 0.13)
			);
	}

	.credentials-showcase__membership-number {
		transition:
			transform
			400ms
			var(--credentials-ease),
			filter
			400ms
			ease;
	}

	.credentials-showcase__membership-card:hover
		.credentials-showcase__membership-number {
		transform:
			scale(1.06);

		filter:
			brightness(1.07);
	}

	.credentials-showcase__membership-short {
		transition:
			transform
			350ms
			var(--credentials-ease),
			color
			300ms
			ease;
	}

	.credentials-showcase__membership-card:hover
		.credentials-showcase__membership-short {
		color: #006c72;

		transform:
			translateY(-2px);
	}

	.credentials-showcase__center-emblem {
		transition:
			transform
			500ms
			var(--credentials-ease),
			box-shadow
			500ms
			ease;
	}

	.credentials-showcase__membership-area:hover
		.credentials-showcase__center-emblem {
		transform:
			translate(-50%, -50%)
			scale(1.025);

		box-shadow:
			0 18px 42px
			rgba(99, 68, 24, 0.15);
	}
}


/* ==================================================
   IMPORTANT:
   CONTENT VISIBLE BY DEFAULT

   If JS fails, NOTHING disappears.
================================================== */

.credentials-showcase__section-heading,
.credentials-showcase__fellowship-item,
.credentials-showcase__fellowship-badge,
.credentials-showcase__membership-card,
.credentials-showcase__membership-number,
.credentials-showcase__center-emblem {
	opacity: 1;
}


/* ==================================================
   ANIMATION INITIAL STATE
   ONLY AFTER JS ADDS .has-credentials-animation
================================================== */

/* Heading */
.credentials-showcase.has-credentials-animation
	.credentials-showcase__section-heading {
	opacity: 0;

	filter:
		blur(5px);

	transform:
		translate3d(
			0,
			26px,
			0
		);
}


/* Vertical timeline */
.credentials-showcase.has-credentials-animation
	.credentials-showcase__vertical-line {
	transform:
		scaleY(0);

	transform-origin:
		top center;
}


/* Fellowships */
.credentials-showcase.has-credentials-animation
	.credentials-showcase__fellowship-item {
	opacity: 0;

	transform:
		translate3d(
			-38px,
			0,
			0
		)
		scale(0.98);
}


/* Fellowship badge */
.credentials-showcase.has-credentials-animation
	.credentials-showcase__fellowship-badge {
	transform:
		scale(0.72);
}


/* Cards */
.credentials-showcase.has-credentials-animation
	.credentials-showcase__membership-card {
	opacity: 0;

	transform:
		translate3d(
			0,
			38px,
			0
		)
		scale(0.96);
}


/* Card number */
.credentials-showcase.has-credentials-animation
	.credentials-showcase__membership-number {
	opacity: 0;

	transform:
		translate3d(
			-15px,
			-15px,
			0
		)
		scale(0.8);
}


/* Horizontal connector */
.credentials-showcase.has-credentials-animation
	.credentials-showcase__connector-horizontal {
	transform:
		translateY(-50%)
		scaleX(0);

	transform-origin:
		center center;
}


/* Vertical connector */
.credentials-showcase.has-credentials-animation
	.credentials-showcase__connector-vertical {
	transform:
		translateX(-50%)
		scaleY(0);

	transform-origin:
		center center;
}


/* Center medallion */
.credentials-showcase.has-credentials-animation
	.credentials-showcase__center-emblem {
	opacity: 0;

	transform:
		translate(-50%, -50%)
		scale(0.7)
		rotate(-10deg);
}


/* ==================================================
   ACTIVE - HEADINGS
================================================== */

.credentials-showcase.has-credentials-animation.is-visible
	.credentials-showcase__section-heading {
	opacity: 1;

	filter:
		blur(0);

	transform:
		translate3d(
			0,
			0,
			0
		);

	transition:
		opacity
		700ms
		ease
		100ms,

		transform
		850ms
		var(--credentials-ease)
		100ms,

		filter
		800ms
		ease
		100ms;
}

.credentials-showcase.has-credentials-animation.is-visible
	.credentials-showcase__section-heading--memberships {
	transition-delay:
		180ms,
		180ms,
		180ms;
}


/* ==================================================
   ACTIVE - VERTICAL TIMELINE
================================================== */

.credentials-showcase.has-credentials-animation.is-visible
	.credentials-showcase__vertical-line {
	transform:
		scaleY(1);

	transition:
		transform
		1100ms
		var(--credentials-ease)
		300ms;
}


/* ==================================================
   ACTIVE - FELLOWSHIP ITEMS
================================================== */

.credentials-showcase.has-credentials-animation.is-visible
	.credentials-showcase__fellowship-item {
	animation:
		credentials-fellowship-in
		820ms
		var(--credentials-ease)
		var(--credentials-delay, 450ms)
		both;
}

@keyframes credentials-fellowship-in {

	from {
		opacity: 0;

		transform:
			translate3d(
				-38px,
				0,
				0
			)
			scale(0.98);
	}

	to {
		opacity: 1;

		transform:
			translate3d(
				0,
				0,
				0
			)
			scale(1);
	}
}


/* ==================================================
   ACTIVE - FELLOWSHIP BADGE
================================================== */

.credentials-showcase.has-credentials-animation.is-visible
	.credentials-showcase__fellowship-badge {
	transform:
		scale(1);

	transition:
		transform
		750ms
		var(--credentials-ease)
		var(--credentials-delay, 450ms);
}


/* ==================================================
   ACTIVE - MEMBERSHIP CARDS
================================================== */

.credentials-showcase.has-credentials-animation.is-visible
	.credentials-showcase__membership-card {
	animation:
		credentials-card-in
		860ms
		var(--credentials-ease)
		var(--membership-delay, 600ms)
		both;
}

@keyframes credentials-card-in {

	from {
		opacity: 0;

		transform:
			translate3d(
				0,
				38px,
				0
			)
			scale(0.96);
	}

	to {
		opacity: 1;

		transform:
			translate3d(
				0,
				0,
				0
			)
			scale(1);
	}
}


/* ==================================================
   ACTIVE - CORNER NUMBERS
================================================== */

.credentials-showcase.has-credentials-animation.is-visible
	.credentials-showcase__membership-number {
	opacity: 1;

	transform:
		translate3d(
			0,
			0,
			0
		)
		scale(1);

	transition:
		opacity
		450ms
		ease
		var(--membership-delay, 600ms),

		transform
		700ms
		var(--credentials-ease)
		var(--membership-delay, 600ms);
}


/* ==================================================
   ACTIVE - CONNECTORS
================================================== */

.credentials-showcase.has-credentials-animation.is-visible
	.credentials-showcase__connector-horizontal {
	transform:
		translateY(-50%)
		scaleX(1);

	transition:
		transform
		950ms
		var(--credentials-ease)
		900ms;
}

.credentials-showcase.has-credentials-animation.is-visible
	.credentials-showcase__connector-vertical {
	transform:
		translateX(-50%)
		scaleY(1);

	transition:
		transform
		950ms
		var(--credentials-ease)
		900ms;
}


/* ==================================================
   ACTIVE - CENTER EMBLEM
================================================== */

.credentials-showcase.has-credentials-animation.is-visible
	.credentials-showcase__center-emblem {
	opacity: 1;

	transform:
		translate(-50%, -50%)
		scale(1)
		rotate(0deg);

	transition:
		opacity
		600ms
		ease
		1050ms,

		transform
		900ms
		var(--credentials-ease)
		1050ms;
}


/* ==================================================
   SHORTER DESKTOP VIEWPORT
================================================== */

@media screen and (min-width: 1101px) and (max-height: 850px) {

	.credentials-showcase {
		min-height:
			calc(100svh - 95px);

		padding:
			50px
			0
			22px;
	}

	.credentials-showcase__section-heading {
		min-height: 80px;
	}

	.credentials-showcase__heading-icon {
		width: 68px;
		height: 68px;
	}

	.credentials-showcase__heading-icon svg {
		width: 38px;
		height: 38px;
	}

	.credentials-showcase__heading-content h2 {
		font-size: 32px;
	}

	.credentials-showcase__heading-divider {
		margin-top: 12px;
	}

	.credentials-showcase__fellowship-body {
		height: 430px;
		margin-top: 12px;
	}

	.credentials-showcase__membership-area {
		height: 445px;
		margin-top: 12px;
	}

	.credentials-showcase__main-divider {
		height: 500px;
	}

	.credentials-showcase__membership-grid {
		gap:
			24px
			80px;
	}

	.credentials-showcase__membership-card-inner {
		padding:
			35px
			20px
			17px;
	}

	.credentials-showcase__membership-short {
		font-size: 21px;
	}

	.credentials-showcase__membership-name {
		min-height: 35px;
		font-size: 11.5px;
	}

	.credentials-showcase__membership-description {
		font-size: 11px;
		line-height: 1.45;
	}

	.credentials-showcase__center-emblem {
		width: 158px;
		height: 158px;
	}

	.credentials-showcase__emblem-ring svg {
		width: 126px;
		height: 108px;
	}
}


/* ==================================================
   LAPTOP
================================================== */

@media screen and (max-width: 1250px) {

	.credentials-showcase__container {
		width: min(
			calc(100% - 60px),
			1360px
		);
	}

	.credentials-showcase__layout {
		grid-template-columns:
			minmax(0, 0.85fr)
			1px
			minmax(0, 1.25fr);

		gap: 30px;
	}

	.credentials-showcase__membership-grid {
		gap:
			25px
			66px;
	}

	.credentials-showcase__fellowship-item {
		grid-template-columns:
			70px
			57px
			19px
			minmax(0, 1fr);

		gap: 8px;
	}

	.credentials-showcase__fellowship-copy h3 {
		font-size: 14.5px;
	}

	.credentials-showcase__center-emblem {
		width: 164px;
		height: 164px;
	}
}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 1000px) {

	.credentials-showcase {
		min-height: 0;

		padding:
			56px
			0;
	}

	.credentials-showcase__container {
		width: min(
			calc(100% - 48px),
			1360px
		);
	}

	.credentials-showcase__layout {
		grid-template-columns: 1fr;

		gap: 65px;
	}

	.credentials-showcase__main-divider {
		display: none;
	}

	.credentials-showcase__fellowship-body {
		height: 490px;
	}

	.credentials-showcase__membership-area {
		height: 555px;
	}
}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 700px) {

	.credentials-showcase {
		padding:
			46px
			0;
	}

	.credentials-showcase__container {
		width:
			calc(100% - 36px);
	}

	.credentials-showcase__section-heading {
		grid-template-columns:
			64px
			minmax(0, 1fr);

		gap: 14px;
	}

	.credentials-showcase__heading-icon {
		width: 60px;
		height: 60px;
	}

	.credentials-showcase__heading-icon svg {
		width: 35px;
		height: 35px;
	}

	.credentials-showcase__heading-content h2 {
		font-size: 28px;
	}

	.credentials-showcase__heading-divider {
		width: 155px;

		margin-top: 12px;
	}

	.credentials-showcase__fellowship-body {
		height: auto;

		margin-top: 28px;
	}

	.credentials-showcase__vertical-line {
		top: 19px;
		bottom: 19px;
		left: 30px;
	}

	.credentials-showcase__fellowship-list {
		height: auto;

		gap: 42px;
	}

	.credentials-showcase__fellowship-item {
		grid-template-columns:
			60px
			46px
			15px
			minmax(0, 1fr);

		gap: 7px;
	}

	.credentials-showcase__fellowship-badge {
		width: 56px;
		height: 56px;

		margin-left: 2px;
	}

	.credentials-showcase__fellowship-number {
		font-size: 37px;
	}

	.credentials-showcase__fellowship-copy h3 {
		font-size: 13.5px;
	}

	.credentials-showcase__membership-area {
		height: auto;
	}

	.credentials-showcase__membership-grid {
		grid-template-columns: 1fr;
		grid-template-rows: none;

		gap: 22px;
	}

	.credentials-showcase__membership-card {
		min-height: 230px;
	}

	.credentials-showcase__membership-card-inner {
		padding:
			40px
			24px
			24px;
	}

	.credentials-showcase__connector-horizontal,
	.credentials-showcase__connector-vertical,
	.credentials-showcase__center-emblem {
		display: none;
	}

	.credentials-showcase__membership-description {
		max-width: 255px;
	}
}


/* ==================================================
   SMALL MOBILE
================================================== */

@media screen and (max-width: 430px) {

	.credentials-showcase__section-heading {
		grid-template-columns: 1fr;

		text-align: center;
	}

	.credentials-showcase__heading-icon {
		margin-inline: auto;
	}

	.credentials-showcase__fellowship-item {
		grid-template-columns:
			56px
			40px
			13px
			minmax(0, 1fr);
	}

	.credentials-showcase__fellowship-number {
		font-size: 33px;
	}

	.credentials-showcase__fellowship-copy h3 {
		font-size: 12.5px;
	}
}


/* ==================================================
   REDUCED MOTION
================================================== */

@media (prefers-reduced-motion: reduce) {

	.credentials-showcase__section-heading,
	.credentials-showcase__vertical-line,
	.credentials-showcase__fellowship-item,
	.credentials-showcase__fellowship-badge,
	.credentials-showcase__membership-card,
	.credentials-showcase__membership-number,
	.credentials-showcase__connector-horizontal,
	.credentials-showcase__connector-vertical,
	.credentials-showcase__center-emblem {
		opacity: 1 !important;

		filter: none !important;

		animation: none !important;

		transition: none !important;
	}

	.credentials-showcase__fellowship-item,
	.credentials-showcase__fellowship-badge,
	.credentials-showcase__membership-card,
	.credentials-showcase__membership-number {
		transform: none !important;
	}

	.credentials-showcase__vertical-line {
		transform: scaleY(1) !important;
	}

	.credentials-showcase__connector-horizontal {
		transform:
			translateY(-50%)
			scaleX(1) !important;
	}

	.credentials-showcase__connector-vertical {
		transform:
			translateX(-50%)
			scaleY(1) !important;
	}

	.credentials-showcase__center-emblem {
		transform:
			translate(-50%, -50%)
			scale(1) !important;
	}
}
/**
 * Homepage Moments of Excellence Gallery.
 *
 * @package DrSanhithaPurushotham
 */

/* ==================================================
   SECTION
================================================== */

.excellence-gallery {
	--gallery-navy: #092442;
	--gallery-teal: #00989d;
	--gallery-teal-dark: #007d83;
	--gallery-gold: #c99137;
	--gallery-gold-light: #dfbc7a;
	--gallery-text: #6b7480;
	--gallery-cream: #f8f1e8;
	--gallery-ease: cubic-bezier(0.22, 1, 0.36, 1);

	position: relative;
	width: 100%;
	padding: 42px 0 54px;
	overflow: hidden;
	background-color: var(--gallery-cream);
}

.excellence-gallery *,
.excellence-gallery *::before,
.excellence-gallery *::after {
	box-sizing: border-box;
}

.excellence-gallery__container {
	width: min(calc(100% - 80px), 1360px);
	margin-inline: auto;
}


/* ==================================================
   HEADER
================================================== */

.excellence-gallery__header {
	text-align: center;
}

.excellence-gallery__eyebrow {
	display: flex;
	margin-bottom: 13px;
	align-items: center;
	justify-content: center;
	gap: 18px;
}

.excellence-gallery__eyebrow p {
	margin: 0;
	color: var(--gallery-teal);
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 5px;
	text-transform: uppercase;
}

.excellence-gallery__eyebrow-side {
	display: flex;
	width: 75px;
	align-items: center;
	gap: 6px;
	color: var(--gallery-gold);
}

.excellence-gallery__eyebrow-side span {
	display: block;
	height: 1px;
	flex: 1;
	background:
		linear-gradient(
			to right,
			transparent,
			var(--gallery-gold)
		);
}

.excellence-gallery__eyebrow-side--right span {
	background:
		linear-gradient(
			to left,
			transparent,
			var(--gallery-gold)
		);
}

.excellence-gallery__eyebrow-side svg {
	width: 11px;
	height: 11px;
	flex: 0 0 11px;
}

.excellence-gallery__title {
	margin: 0;
	color: var(--gallery-navy);
	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;
	font-size: clamp(35px, 4.7vw, 35px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.8px;
}

.excellence-gallery__subtitle {
	margin: 13px 0 0;
	color: var(--gallery-text);
	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5;
}


/* ==================================================
   TABS
================================================== */

.excellence-gallery__tabs {
	display: grid;
	width: min(100%, 630px);
	margin: 32px auto 0;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
}

.excellence-gallery__tab {
	display: flex;
	min-height: 56px;
	padding: 11px 27px;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border: 1px solid rgba(125, 114, 98, 0.18);
	border-radius: 999px;
	background-color: rgba(255, 255, 255, 0.18);
	color: var(--gallery-navy);
	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
	box-shadow:
		0 4px 14px rgba(54, 43, 27, 0.025);
	transition:
		color 300ms ease,
		background-color 350ms ease,
		border-color 350ms ease,
		box-shadow 350ms ease,
		transform 350ms var(--gallery-ease);
}

.excellence-gallery__tab-icon {
	display: flex;
	width: 23px;
	height: 23px;
	align-items: center;
	justify-content: center;
}

.excellence-gallery__tab-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.excellence-gallery__tab.is-active {
	border-color: var(--gallery-teal);
	background:
		linear-gradient(
			135deg,
			#019fa2,
			#008c91
		);
	color: #ffffff;
	box-shadow:
		0 10px 25px rgba(0, 133, 140, 0.17);
}

@media (hover: hover) and (pointer: fine) {

	.excellence-gallery__tab:not(.is-active):hover {
		border-color:
			rgba(0, 143, 148, 0.34);
		background-color:
			rgba(255, 255, 255, 0.5);
		transform: translateY(-2px);
	}

	.excellence-gallery__tab.is-active:hover {
		transform:
			translateY(-2px)
			scale(1.01);
		box-shadow:
			0 13px 29px rgba(0, 133, 140, 0.21);
	}
}


/* ==================================================
   TAB FOCUS
================================================== */

.excellence-gallery__tab:focus-visible {
	outline: 3px solid rgba(201, 145, 55, 0.55);
	outline-offset: 4px;
}


/* ==================================================
   GOLD SEPARATOR
================================================== */

.excellence-gallery__separator {
	display: flex;
	width: 100%;
	margin: 19px auto 26px;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.excellence-gallery__separator span {
	display: block;
	height: 1px;
	flex: 1;
	background:
		linear-gradient(
			to right,
			transparent,
			rgba(201, 145, 55, 0.56)
		);
}

.excellence-gallery__separator span:last-child {
	background:
		linear-gradient(
			to left,
			transparent,
			rgba(201, 145, 55, 0.56)
		);
}

.excellence-gallery__separator i {
	display: block;
	width: 15px;
	height: 15px;
	flex: 0 0 15px;
	background:
		linear-gradient(
			135deg,
			#e5bf76,
			#bf842b
		);
	box-shadow:
		0 3px 7px rgba(153, 99, 22, 0.16);
	transform: rotate(45deg);
}


/* ==================================================
   PANELS
================================================== */

.excellence-gallery__panels {
	position: relative;
}

.excellence-gallery__panel {
	display: none;
}

.excellence-gallery__panel.is-active {
	display: block;
}


/* ==================================================
   2 X 2 GRID
================================================== */

.excellence-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 48px 36px;
}


/* ==================================================
   FIGURE
================================================== */

.excellence-gallery__item {
	min-width: 0;
	margin: 0;
}


/* ==================================================
   IMAGE FRAME
================================================== */

.excellence-gallery__frame {
	position: relative;
	padding: 7px;
	border: 1px solid rgba(201, 145, 55, 0.65);
	background-color: rgba(255, 255, 255, 0.23);
	box-shadow:
		0 9px 23px rgba(74, 54, 29, 0.055);
	transition:
		transform 500ms var(--gallery-ease),
		box-shadow 500ms ease,
		border-color 500ms ease;
}

.excellence-gallery__image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 8.9;
	object-fit: cover;
	background-color: #eee6db;
	transition:
		transform 700ms var(--gallery-ease),
		filter 500ms ease;
}


/* ==================================================
   DECORATIVE CORNERS
================================================== */

.excellence-gallery__corner {
	position: absolute;
	z-index: 4;
	display: block;
	width: 32px;
	height: 32px;
	background-color: var(--gallery-cream);
	pointer-events: none;
}

.excellence-gallery__corner::before,
.excellence-gallery__corner::after {
	position: absolute;
	content: "";
	background-color: var(--gallery-gold);
}

.excellence-gallery__corner--tl {
	top: -2px;
	left: -2px;
	border-radius: 0 0 28px 0;
}

.excellence-gallery__corner--tr {
	top: -2px;
	right: -2px;
	border-radius: 0 0 0 28px;
}

.excellence-gallery__corner--bl {
	bottom: -2px;
	left: -2px;
	border-radius: 0 28px 0 0;
}

.excellence-gallery__corner--br {
	right: -2px;
	bottom: -2px;
	border-radius: 28px 0 0 0;
}

.excellence-gallery__corner--tl::before,
.excellence-gallery__corner--bl::before {
	left: 0;
	width: 1px;
	height: 23px;
}

.excellence-gallery__corner--tr::before,
.excellence-gallery__corner--br::before {
	right: 0;
	width: 1px;
	height: 23px;
}

.excellence-gallery__corner--tl::after,
.excellence-gallery__corner--tr::after {
	top: 0;
	width: 23px;
	height: 1px;
}

.excellence-gallery__corner--bl::after,
.excellence-gallery__corner--br::after {
	bottom: 0;
	width: 23px;
	height: 1px;
}

.excellence-gallery__corner--tl::after,
.excellence-gallery__corner--bl::after {
	left: 0;
}

.excellence-gallery__corner--tr::after,
.excellence-gallery__corner--br::after {
	right: 0;
}


/* ==================================================
   BOTTOM MEDALLION
================================================== */

.excellence-gallery__medallion {
	position: absolute;
	bottom: -27px;
	left: 50%;
	z-index: 8;
	display: flex;
	width: 58px;
	height: 58px;
	padding: 8px;
	align-items: center;
	justify-content: center;
	border: 5px solid var(--gallery-cream);
	border-radius: 50%;
	background-color: #fffaf2;
	color: var(--gallery-gold);
	box-shadow:
		0 5px 15px rgba(95, 65, 25, 0.10);
	transform: translateX(-50%);
	transition:
		transform 450ms var(--gallery-ease),
		box-shadow 450ms ease,
		background-color 450ms ease;
}

.excellence-gallery__medallion svg {
	display: block;
	width: 100%;
	height: 100%;
}


/* Surgical medallion slightly teal/gold */
.excellence-gallery__medallion--surgical {
	color: var(--gallery-teal-dark);
}

.excellence-gallery__medallion--surgical::before {
	position: absolute;
	inset: 3px;
	border: 1px solid rgba(201, 145, 55, 0.45);
	border-radius: 50%;
	content: "";
}


/* ==================================================
   IMAGE HOVER
================================================== */

@media (hover: hover) and (pointer: fine) {

	.excellence-gallery__frame {
		overflow: visible;
	}

	.excellence-gallery__item:hover
		.excellence-gallery__frame {
		border-color:
			rgba(201, 145, 55, 0.95);
		transform: translateY(-7px);
		box-shadow:
			0 22px 45px
			rgba(62, 43, 20, 0.13);
	}

	.excellence-gallery__item:hover
		.excellence-gallery__image {
		transform: scale(1.018);
		filter:
			saturate(1.03)
			contrast(1.02);
	}

	.excellence-gallery__item:hover
		.excellence-gallery__medallion {
		transform:
			translateX(-50%)
			translateY(3px)
			scale(1.08);
		box-shadow:
			0 9px 22px
			rgba(95, 65, 25, 0.16);
	}
}


/* ==================================================
   TAB SWITCH ANIMATION
================================================== */

.excellence-gallery__panel.is-entering
	.excellence-gallery__item {
	animation:
		gallery-item-enter
		700ms
		var(--gallery-ease)
		var(--gallery-item-delay, 0ms)
		both;
}

@keyframes gallery-item-enter {

	from {
		opacity: 0;
		transform:
			translateY(24px)
			scale(0.98);
	}

	to {
		opacity: 1;
		transform:
			translateY(0)
			scale(1);
	}
}


/* ==================================================
   SECTION ENTRANCE - SAFE DEFAULT
================================================== */

.excellence-gallery__header,
.excellence-gallery__tabs,
.excellence-gallery__separator,
.excellence-gallery__item {
	opacity: 1;
}


/* Only hide when JS has successfully initialized */
.excellence-gallery.has-gallery-animation
	.excellence-gallery__header {
	opacity: 0;
	filter: blur(4px);
	transform: translateY(25px);
}

.excellence-gallery.has-gallery-animation
	.excellence-gallery__tabs {
	opacity: 0;
	transform:
		translateY(20px)
		scale(0.98);
}

.excellence-gallery.has-gallery-animation
	.excellence-gallery__separator span {
	transform: scaleX(0);
}

.excellence-gallery.has-gallery-animation
	.excellence-gallery__separator span:first-child {
	transform-origin: right center;
}

.excellence-gallery.has-gallery-animation
	.excellence-gallery__separator span:last-child {
	transform-origin: left center;
}

.excellence-gallery.has-gallery-animation
	.excellence-gallery__separator i {
	opacity: 0;
	transform:
		rotate(45deg)
		scale(0);
}

.excellence-gallery.has-gallery-animation
	.excellence-gallery__panel.is-active
	.excellence-gallery__item {
	opacity: 0;
	transform:
		translateY(32px)
		scale(0.975);
}


/* ==================================================
   SECTION ENTRANCE ACTIVE
================================================== */

.excellence-gallery.has-gallery-animation.is-visible
	.excellence-gallery__header {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0);
	transition:
		opacity 700ms ease,
		transform 850ms var(--gallery-ease),
		filter 800ms ease;
}

.excellence-gallery.has-gallery-animation.is-visible
	.excellence-gallery__tabs {
	opacity: 1;
	transform:
		translateY(0)
		scale(1);
	transition:
		opacity 700ms ease 200ms,
		transform 850ms var(--gallery-ease) 200ms;
}

.excellence-gallery.has-gallery-animation.is-visible
	.excellence-gallery__separator span {
	transform: scaleX(1);
	transition:
		transform 800ms var(--gallery-ease) 380ms;
}

.excellence-gallery.has-gallery-animation.is-visible
	.excellence-gallery__separator i {
	opacity: 1;
	transform:
		rotate(45deg)
		scale(1);
	transition:
		opacity 350ms ease 530ms,
		transform 550ms var(--gallery-ease) 530ms;
}

.excellence-gallery.has-gallery-animation.is-visible
	.excellence-gallery__panel.is-active
	.excellence-gallery__item {
	animation:
		gallery-section-item-in
		850ms
		var(--gallery-ease)
		var(--gallery-item-delay, 550ms)
		both;
}

@keyframes gallery-section-item-in {

	from {
		opacity: 0;
		transform:
			translateY(32px)
			scale(0.975);
	}

	to {
		opacity: 1;
		transform:
			translateY(0)
			scale(1);
	}
}


/* ==================================================
   LAPTOP
================================================== */

@media screen and (max-width: 1200px) {

	.excellence-gallery__container {
		width: min(
			calc(100% - 60px),
			1360px
		);
	}

	.excellence-gallery__grid {
		gap:
			44px
			30px;
	}
}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 900px) {

	.excellence-gallery {
		padding: 55px 0;
	}

	.excellence-gallery__container {
		width: min(
			calc(100% - 48px),
			1360px
		);
	}

	.excellence-gallery__title {
		font-size: 50px;
	}

	.excellence-gallery__tabs {
		gap: 18px;
	}

	.excellence-gallery__grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 600px) {

	.excellence-gallery {
		padding: 48px 0;
	}

	.excellence-gallery__container {
		width: calc(100% - 36px);
	}

	.excellence-gallery__eyebrow {
		gap: 10px;
	}

	.excellence-gallery__eyebrow-side {
		width: 42px;
	}

	.excellence-gallery__eyebrow p {
		font-size: 11px;
		letter-spacing: 4px;
	}

	.excellence-gallery__title {
		font-size: 40px;
	}

	.excellence-gallery__subtitle {
		font-size: 13px;
	}

	.excellence-gallery__tabs {
		width: 100%;
		margin-top: 26px;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.excellence-gallery__tab {
		min-height: 51px;
		font-size: 17px;
	}

	.excellence-gallery__separator {
		margin:
			18px
			auto
			25px;
	}

	.excellence-gallery__image {
		aspect-ratio: 4 / 3;
	}

	.excellence-gallery__medallion {
		width: 54px;
		height: 54px;
		bottom: -25px;
	}
}


/* ==================================================
   REDUCED MOTION
================================================== */

@media (prefers-reduced-motion: reduce) {

	.excellence-gallery__header,
	.excellence-gallery__tabs,
	.excellence-gallery__separator span,
	.excellence-gallery__separator i,
	.excellence-gallery__item,
	.excellence-gallery__frame,
	.excellence-gallery__image,
	.excellence-gallery__medallion {
		opacity: 1 !important;
		filter: none !important;
		transform: none !important;
		animation: none !important;
		transition: none !important;
	}

	.excellence-gallery__separator i {
		transform: rotate(45deg) !important;
	}

	.excellence-gallery__medallion {
		transform: translateX(-50%) !important;
	}
}
/**
 * Homepage Patient Testimonials.
 *
 * Desktop: 4 cards
 * Laptop:  3 cards
 * Tablet:  2 cards
 * Mobile:  1 card
 *
 * @package DrSanhithaPurushotham
 */


/* ==================================================
   ROOT
================================================== */

.patient-stories {
	--stories-navy: #08213e;
	--stories-text: #263c53;

	--stories-teal: #008f95;
	--stories-teal-dark: #00777e;
	--stories-teal-light: #e8f5f5;

	--stories-gold: #c98d2c;
	--stories-gold-dark: #b7791c;
	--stories-gold-soft: #e4ba72;

	--stories-white: #ffffff;
	--stories-card: #fffdf9;

	--stories-ease:
		cubic-bezier(0.22, 1, 0.36, 1);

	position: relative;

	width: 100%;

	/*
	 * IMPORTANT:
	 * Do not force 100vh here.
	 *
	 * Section height is now controlled by its actual
	 * content, so no unwanted gap appears.
	 */
	height: auto;
	min-height: 0;

	padding:
		clamp(24px, 3vh, 34px)
		0
		clamp(18px, 2.5vh, 28px);

	overflow: hidden;

	background-color: #ffffff;

	color: var(--stories-navy);
}

.patient-stories *,
.patient-stories *::before,
.patient-stories *::after {
	box-sizing: border-box;
}


/* ==================================================
   SOFT BACKGROUND DETAIL
================================================== */

.patient-stories::before {
	position: absolute;

	top: -170px;
	left: 50%;

	width: 800px;
	height: 330px;

	border-radius: 50%;

	content: "";

	background:
		radial-gradient(
			circle,
			rgba(201, 141, 44, 0.045) 0%,
			rgba(201, 141, 44, 0.012) 45%,
			transparent 72%
		);

	transform: translateX(-50%);

	pointer-events: none;
}

.patient-stories::after {
	position: absolute;

	right: -180px;
	bottom: -190px;

	width: 450px;
	height: 450px;

	border-radius: 50%;

	content: "";

	background:
		radial-gradient(
			circle,
			rgba(0, 143, 149, 0.035),
			transparent 70%
		);

	pointer-events: none;
}


/* ==================================================
   1360PX CONTAINER
================================================== */

.patient-stories__container {
	position: relative;

	z-index: 2;

	display: block;

	width: min(
		calc(100% - 80px),
		1360px
	);

	height: auto;

	margin-inline: auto;
}


/* ==================================================
   HEADER
================================================== */

.patient-stories__header {
	position: relative;

	z-index: 5;

	text-align: center;
}


/* ==================================================
   EYEBROW
================================================== */

.patient-stories__eyebrow {
	display: inline-flex;

	min-height: 34px;

	margin:
		0
		0
		12px;

	padding:
		7px
		21px;

	align-items: center;
	justify-content: center;

	border:
		1px solid
		rgba(0, 143, 149, 0.07);

	border-radius: 999px;

	background:
		linear-gradient(
			135deg,
			#edf8f8,
			#e3f2f2
		);

	color: #08757a;

	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;

	font-size: 12px;
	font-weight: 600;

	line-height: 1;

	letter-spacing: 2.4px;

	text-transform: uppercase;
}


/* ==================================================
   TITLE
================================================== */

.patient-stories__title {
	margin: 0;

	color: var(--stories-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;

	font-size:
		clamp(
			44px,
			4.4vw,
			60px
		);

	font-weight: 600;

	line-height: 1;

	letter-spacing: -0.7px;
}


/* ==================================================
   HEADING ORNAMENT
================================================== */

.patient-stories__heading-divider {
	display: flex;

	width:
		clamp(
			210px,
			19vw,
			260px
		);

	margin:
		15px
		auto
		11px;

	align-items: center;
	justify-content: center;

	gap: 8px;

	color: var(--stories-gold);
}

.patient-stories__heading-divider span {
	display: block;

	height: 1px;

	flex: 1;

	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(201, 141, 44, 0.78)
		);
}

.patient-stories__heading-divider span:last-child {
	background:
		linear-gradient(
			90deg,
			rgba(201, 141, 44, 0.78),
			transparent
		);
}

.patient-stories__heading-divider svg {
	display: block;

	width: 34px;
	height: 20px;

	flex: 0 0 34px;
}


/* ==================================================
   SUBTITLE
================================================== */

.patient-stories__subtitle {
	margin: 0;

	color: var(--stories-text);

	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;

	font-size: 14px;
	font-weight: 400;

	line-height: 1.45;
}


/* ==================================================
   SLIDER

   IMPORTANT:
   flex stretching removed.
================================================== */

.patient-stories__slider {
	position: relative;

	width: 100%;
	height: auto;

	margin-top:
		clamp(
			20px,
			2.8vh,
			30px
		);

	padding-inline: 46px;
}


/* ==================================================
   VIEWPORT

   IMPORTANT:
   height: 100% removed.

   5px left/right protects outside borders.
================================================== */

.patient-stories__viewport {
	position: relative;

	width: 100%;
	height: auto;

	overflow: hidden;

	padding:
		4px
		5px
		11px;
}


/* ==================================================
   TRACK

   IMPORTANT:
   height: 100% removed.
================================================== */

.patient-stories__track {
	display: flex;

	width: 100%;
	height: auto;

	gap: 16px;

	padding-right: 1px;

	align-items: stretch;

	transition:
		transform
		750ms
		var(--stories-ease);

	will-change: transform;
}


/* ==================================================
   CARD
================================================== */

.patient-stories__card {
	position: relative;

	display: flex;

	/*
	 * Desktop:
	 *
	 * 4 cards
	 * 3 × 16px gaps = 48px
	 */
	min-width:
		calc(
			(100% - 48px) / 4
		);

	height:
		clamp(
			335px,
			43svh,
			400px
		);

	flex:
		0 0
		calc(
			(100% - 48px) / 4
		);

	padding:
		clamp(19px, 2.5vh, 27px)
		clamp(18px, 1.5vw, 24px)
		clamp(18px, 2.3vh, 25px);

	align-items: center;

	flex-direction: column;

	overflow: hidden;

	border:
		1px solid
		rgba(201, 141, 44, 0.62);

	background:
		linear-gradient(
			150deg,
			#ffffff 0%,
			#fffefb 48%,
			#fffaf4 100%
		);

	box-shadow:
		inset
		0
		1px
		0
		rgba(255, 255, 255, 1),

		inset
		0
		0
		0
		1px
		rgba(201, 141, 44, 0.045),

		0
		7px
		20px
		rgba(15, 33, 54, 0.045),

		0
		15px
		32px
		rgba(144, 92, 20, 0.025);

	text-align: center;

	transform: translateZ(0);

	transition:
		transform
		500ms
		var(--stories-ease),

		box-shadow
		500ms
		ease,

		border-color
		400ms
		ease,

		background
		400ms
		ease;
}


/* ==================================================
   CARD SOFT GOLD GLOW
================================================== */

.patient-stories__card::before {
	position: absolute;

	top: -110px;
	left: 50%;

	z-index: 0;

	width: 230px;
	height: 190px;

	border-radius: 50%;

	content: "";

	background:
		radial-gradient(
			circle,
			rgba(201, 141, 44, 0.065),
			transparent 70%
		);

	transform:
		translateX(-50%);

	transition:
		transform
		500ms
		var(--stories-ease),

		opacity
		400ms
		ease;

	pointer-events: none;
}


/* ==================================================
   CONCAVE CORNERS
================================================== */

.patient-stories__corner {
	position: absolute;

	z-index: 15;

	display: block;

	width: 32px;
	height: 32px;

	border:
		1px solid
		var(--stories-gold);

	border-radius: 50%;

	background-color: #ffffff;

	pointer-events: none;
}

.patient-stories__corner--tl {
	top: -16px;
	left: -16px;
}

.patient-stories__corner--tr {
	top: -16px;
	right: -16px;
}

.patient-stories__corner--bl {
	bottom: -16px;
	left: -16px;
}

.patient-stories__corner--br {
	right: -16px;
	bottom: -16px;
}

.patient-stories__corner::before,
.patient-stories__corner::after {
	display: none !important;

	content: none !important;
}


/* ==================================================
   QUOTE MEDALLION
================================================== */

.patient-stories__quote {
	position: relative;

	z-index: 3;

	display: flex;

	width:
		clamp(
			50px,
			6.5vh,
			62px
		);

	height:
		clamp(
			50px,
			6.5vh,
			62px
		);

	flex:
		0 0
		clamp(
			50px,
			6.5vh,
			62px
		);

	align-items: center;
	justify-content: center;

	border:
		1px solid
		rgba(201, 141, 44, 0.60);

	border-radius: 50%;

	background:
		linear-gradient(
			145deg,
			#ffffff,
			#fff8ee
		);

	color: var(--stories-gold);

	box-shadow:
		0
		7px
		18px
		rgba(149, 94, 17, 0.075);

	transition:
		transform
		500ms
		var(--stories-ease),

		box-shadow
		500ms
		ease,

		background
		400ms
		ease,

		color
		400ms
		ease;
}

.patient-stories__quote svg {
	display: block;

	width: 58%;
	height: 58%;
}


/* ==================================================
   STARS
================================================== */

.patient-stories__stars {
	position: relative;

	z-index: 3;

	display: flex;

	margin-top:
		clamp(
			11px,
			1.7vh,
			18px
		);

	align-items: center;
	justify-content: center;

	gap: 5px;
}

.patient-stories__stars span {
	display: block;

	color:
		rgba(201, 141, 44, 0.25);

	font-size:
		clamp(
			16px,
			2.1vh,
			20px
		);

	line-height: 1;

	transition:
		transform
		320ms
		var(--stories-ease);
}

.patient-stories__stars span.is-filled {
	color: var(--stories-gold);
}


/* ==================================================
   RESET GLOBAL BLOCKQUOTE CSS
================================================== */

.patient-stories blockquote,
.patient-stories__text {
	position: relative;

	z-index: 3;

	display: flex;

	width: 100%;

	min-height: 0;

	margin:
		clamp(
			9px,
			1.5vh,
			16px
		)
		0
		0 !important;

	padding: 0 !important;

	flex: 1 1 auto;

	align-items: center;
	justify-content: center;

	border: 0 !important;

	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-left: 0 !important;

	background: none !important;

	box-shadow: none !important;

	quotes: none !important;
}

.patient-stories blockquote::before,
.patient-stories blockquote::after,
.patient-stories__text::before,
.patient-stories__text::after {
	display: none !important;

	content: none !important;
}


/* ==================================================
   TESTIMONIAL TEXT
================================================== */

.patient-stories__text p {
	display: -webkit-box;

	width: 100%;
	max-width: 255px;

	margin: 0 !important;

	padding: 0 !important;

	overflow: hidden;

	color: #132b45;

	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;

	font-size:
		clamp(
			11.5px,
			1.5vh,
			16px
		);

	font-style: italic;
	font-weight: 400;

	line-height: 1.68;

	text-align: center;

	/*
	 * Keeps all cards visually balanced.
	 */
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
}


/* ==================================================
   CARD DIVIDER
================================================== */

.patient-stories__card-divider {
	position: relative;

	z-index: 3;

	display: flex;

	width: 86px;

	margin:
		clamp(
			5px,
			0.9vh,
			9px
		)
		auto
		clamp(
			7px,
			1.2vh,
			13px
		);

	align-items: center;
	justify-content: center;

	gap: 4px;

	color: var(--stories-gold);
}

.patient-stories__card-divider span {
	display: block;

	height: 1px;

	flex: 1;

	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(201, 141, 44, 0.78)
		);
}

.patient-stories__card-divider span:last-child {
	background:
		linear-gradient(
			90deg,
			rgba(201, 141, 44, 0.78),
			transparent
		);
}

.patient-stories__card-divider svg {
	display: block;

	width: 17px;
	height: 15px;
}


/* ==================================================
   AUTHOR
================================================== */

.patient-stories__patient {
	position: relative;

	z-index: 3;

	display: flex;

	width: 100%;

	min-height:
		clamp(
			47px,
			5.9vh,
			57px
		);

	flex: 0 0 auto;

	align-items: center;
	justify-content: center;

	gap: 13px;
}


/* ==================================================
   AVATAR
================================================== */

.patient-stories__avatar {
	display: flex;

	width:
		clamp(
			45px,
			5.8vh,
			55px
		);

	height:
		clamp(
			45px,
			5.8vh,
			55px
		);

	flex:
		0 0
		clamp(
			45px,
			5.8vh,
			55px
		);

	align-items: center;
	justify-content: center;

	overflow: hidden;

	border:
		1px solid
		rgba(0, 143, 149, 0.23);

	border-radius: 50%;

	background:
		linear-gradient(
			145deg,
			#f8ffff,
			#e7f5f5
		);

	color: var(--stories-teal);

	box-shadow:
		inset
		0
		1px
		0
		rgba(255, 255, 255, 0.95);

	transition:
		transform
		450ms
		var(--stories-ease),

		box-shadow
		450ms
		ease,

		background
		450ms
		ease;
}

.patient-stories__avatar svg {
	width: 70%;
	height: 70%;
}

.patient-stories__avatar-image {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


/* ==================================================
   NAME
================================================== */

.patient-stories__name {
	margin: 0;

	color: var(--stories-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;

	font-size:
		clamp(
			17px,
			2.05vh,
			20px
		);

	font-weight: 700;

	line-height: 1.15;

	text-align: left;

	transition:
		color
		350ms
		ease,

		transform
		450ms
		var(--stories-ease);
}


/* ==================================================
   PREMIUM CARD HOVER
================================================== */

@media (hover: hover) and (pointer: fine) {

	.patient-stories__card:hover {
		z-index: 10;

		border-color:
			rgba(201, 141, 44, 0.98);

		background:
			linear-gradient(
				150deg,
				#ffffff 0%,
				#fffdfa 54%,
				#fff7e9 100%
			);

		transform:
			translateY(-8px)
			scale(1.008);

		box-shadow:
			inset
			0
			1px
			0
			#ffffff,

			inset
			0
			0
			0
			1px
			rgba(201, 141, 44, 0.09),

			0
			17px
			34px
			rgba(15, 33, 54, 0.085),

			0
			26px
			50px
			rgba(160, 103, 25, 0.075);
	}


	.patient-stories__card:hover::before {
		transform:
			translateX(-50%)
			scale(1.18);
	}


	.patient-stories__card:hover
		.patient-stories__quote {
		border-color:
			var(--stories-gold);

		background:
			linear-gradient(
				145deg,
				#d69c3e,
				#b8781c
			);

		color: #ffffff;

		transform:
			translateY(-4px)
			scale(1.08)
			rotate(-4deg);

		box-shadow:
			0
			13px
			27px
			rgba(168, 105, 21, 0.22);
	}


	.patient-stories__card:hover
		.patient-stories__avatar {
		background:
			linear-gradient(
				145deg,
				#f5ffff,
				#ddf4f4
			);

		transform:
			translateY(-2px)
			scale(1.06);

		box-shadow:
			0
			8px
			18px
			rgba(0, 129, 135, 0.12);
	}


	.patient-stories__card:hover
		.patient-stories__name {
		color:
			var(--stories-teal-dark);

		transform:
			translateX(2px);
	}


	.patient-stories__card:hover
		.patient-stories__stars span.is-filled {
		animation:
			patient-star-pop
			500ms
			var(--stories-ease);
	}


	.patient-stories__card:hover
		.patient-stories__stars span:nth-child(2) {
		animation-delay: 40ms;
	}

	.patient-stories__card:hover
		.patient-stories__stars span:nth-child(3) {
		animation-delay: 80ms;
	}

	.patient-stories__card:hover
		.patient-stories__stars span:nth-child(4) {
		animation-delay: 120ms;
	}

	.patient-stories__card:hover
		.patient-stories__stars span:nth-child(5) {
		animation-delay: 160ms;
	}
}


@keyframes patient-star-pop {

	0% {
		transform:
			translateY(0)
			scale(1);
	}

	50% {
		transform:
			translateY(-3px)
			scale(1.18);
	}

	100% {
		transform:
			translateY(0)
			scale(1);
	}
}


/* ==================================================
   ARROWS
================================================== */

.patient-stories__arrow {
	position: absolute;

	top: 50%;

	z-index: 30;

	display: flex;

	width: 48px;
	height: 48px;

	padding: 0;

	align-items: center;
	justify-content: center;

	border:
		1px solid
		rgba(201, 141, 44, 0.57);

	border-radius: 50%;

	background:
		rgba(255, 255, 255, 0.99);

	color:
		var(--stories-gold);

	cursor: pointer;

	box-shadow:
		0
		9px
		23px
		rgba(15, 33, 54, 0.07);

	transform:
		translateY(-50%);

	transition:
		color
		300ms
		ease,

		background
		300ms
		ease,

		border-color
		300ms
		ease,

		transform
		350ms
		var(--stories-ease),

		box-shadow
		350ms
		ease;
}

.patient-stories__arrow svg {
	width: 53%;
	height: 53%;
}

.patient-stories__arrow--prev {
	left: -31px;
}

.patient-stories__arrow--next {
	right: -31px;
}

.patient-stories__arrow:hover {
	border-color:
		var(--stories-gold);

	background:
		linear-gradient(
			145deg,
			#d79d3e,
			#b9781d
		);

	color: #ffffff;

	transform:
		translateY(-50%)
		scale(1.09);

	box-shadow:
		0
		14px
		30px
		rgba(153, 94, 17, 0.19);
}

.patient-stories__arrow:disabled {
	cursor: default;

	opacity: 0.28;

	transform:
		translateY(-50%);
}


/* ==================================================
   DOTS

   IMPORTANT:
   Now directly below cards.
================================================== */

.patient-stories__dots {
	display: flex;

	min-height: 12px;

	margin-top: 7px;

	align-items: center;
	justify-content: center;

	gap: 12px;
}

.patient-stories__dot {
	display: block;

	width: 9px;
	height: 9px;

	margin: 0;
	padding: 0;

	border: 0;
	border-radius: 50%;

	background-color:
		#e6ddd1;

	cursor: pointer;

	transition:
		transform
		350ms
		var(--stories-ease),

		background-color
		350ms
		ease,

		box-shadow
		350ms
		ease;
}

.patient-stories__dot:hover {
	background-color:
		var(--stories-gold-soft);

	transform:
		scale(1.2);
}

.patient-stories__dot.is-active {
	background-color:
		var(--stories-teal);

	transform:
		scale(1.18);

	box-shadow:
		0
		0
		0
		4px
		rgba(0, 143, 149, 0.08);
}


/* ==================================================
   BOTTOM ORNAMENT

   IMPORTANT:
   Compact spacing below dots.
================================================== */

.patient-stories__bottom-ornament {
	display: flex;

	width: 170px;
	height: 40px;

	margin:
		7px
		auto
		0;

	align-items: center;
	justify-content: center;

	color:
		var(--stories-gold);
}

.patient-stories__laurel {
	display: block;

	width: 47px;
	height: 31px;
}

.patient-stories__bottom-quote {
	display: block;

	width: 57px;
	height: 42px;

	color:
		var(--stories-teal);
}


/* ==================================================
   ENTRANCE ANIMATION
   SAFE DEFAULT
================================================== */

.patient-stories__eyebrow,
.patient-stories__title,
.patient-stories__subtitle,
.patient-stories__card,
.patient-stories__bottom-ornament {
	opacity: 1;
}


/* ==================================================
   INITIAL ANIMATION STATES
================================================== */

.patient-stories.has-patient-animation:not(.is-visible)
	.patient-stories__eyebrow {
	opacity: 0;

	transform:
		translateY(-14px)
		scale(0.93);
}

.patient-stories.has-patient-animation:not(.is-visible)
	.patient-stories__title {
	opacity: 0;

	filter:
		blur(5px);

	transform:
		translateY(22px);
}

.patient-stories.has-patient-animation:not(.is-visible)
	.patient-stories__heading-divider span {
	transform:
		scaleX(0);
}

.patient-stories.has-patient-animation:not(.is-visible)
	.patient-stories__heading-divider span:first-child {
	transform-origin:
		right center;
}

.patient-stories.has-patient-animation:not(.is-visible)
	.patient-stories__heading-divider span:last-child {
	transform-origin:
		left center;
}

.patient-stories.has-patient-animation:not(.is-visible)
	.patient-stories__heading-divider svg {
	opacity: 0;

	transform:
		scale(0.5);
}

.patient-stories.has-patient-animation:not(.is-visible)
	.patient-stories__subtitle {
	opacity: 0;

	transform:
		translateY(12px);
}

.patient-stories.has-patient-animation:not(.is-visible)
	.patient-stories__card {
	opacity: 0;

	transform:
		translateY(28px)
		scale(0.975);
}

.patient-stories.has-patient-animation:not(.is-visible)
	.patient-stories__bottom-ornament {
	opacity: 0;

	transform:
		translateY(10px)
		scale(0.92);
}


/* ==================================================
   EYEBROW ENTER
================================================== */

.patient-stories.has-patient-animation.is-visible
	.patient-stories__eyebrow {
	opacity: 1;

	transform:
		translateY(0)
		scale(1);

	transition:
		opacity
		550ms
		ease
		60ms,

		transform
		730ms
		var(--stories-ease)
		60ms;
}


/* ==================================================
   TITLE ENTER
================================================== */

.patient-stories.has-patient-animation.is-visible
	.patient-stories__title {
	opacity: 1;

	filter: blur(0);

	transform:
		translateY(0);

	transition:
		opacity
		700ms
		ease
		140ms,

		transform
		830ms
		var(--stories-ease)
		140ms,

		filter
		780ms
		ease
		140ms;
}


/* ==================================================
   HEADING ORNAMENT ENTER
================================================== */

.patient-stories.has-patient-animation.is-visible
	.patient-stories__heading-divider span {
	transform:
		scaleX(1);

	transition:
		transform
		720ms
		var(--stories-ease)
		270ms;
}

.patient-stories.has-patient-animation.is-visible
	.patient-stories__heading-divider svg {
	opacity: 1;

	transform:
		scale(1);

	transition:
		opacity
		350ms
		ease
		390ms,

		transform
		520ms
		var(--stories-ease)
		390ms;
}


/* ==================================================
   SUBTITLE ENTER
================================================== */

.patient-stories.has-patient-animation.is-visible
	.patient-stories__subtitle {
	opacity: 1;

	transform:
		translateY(0);

	transition:
		opacity
		620ms
		ease
		350ms,

		transform
		720ms
		var(--stories-ease)
		350ms;
}


/* ==================================================
   CARD ENTER

   Using transition instead of permanent keyframe
   fill-mode so hover transforms continue working.
================================================== */

.patient-stories.has-patient-animation.is-visible
	.patient-stories__card {
	opacity: 1;

	transform:
		translateY(0)
		scale(1);

	transition:
		opacity
		800ms
		var(--stories-ease)
		var(--patient-delay, 470ms),

		transform
		800ms
		var(--stories-ease)
		var(--patient-delay, 470ms),

		box-shadow
		500ms
		ease,

		border-color
		400ms
		ease,

		background
		400ms
		ease;
}


/* ==================================================
   PRESERVE HOVER AFTER ENTRANCE
================================================== */

@media (hover: hover) and (pointer: fine) {

	.patient-stories.is-visible
		.patient-stories__card:hover {
		transition-delay:
			0ms,
			0ms,
			0ms,
			0ms;
	}
}


/* ==================================================
   BOTTOM ORNAMENT ENTER
================================================== */

.patient-stories.has-patient-animation.is-visible
	.patient-stories__bottom-ornament {
	opacity: 1;

	transform:
		translateY(0)
		scale(1);

	transition:
		opacity
		580ms
		ease
		900ms,

		transform
		720ms
		var(--stories-ease)
		900ms;
}


/* ==================================================
   DESKTOP
   4 CARDS
================================================== */

@media screen and (min-width: 1101px) {

	.patient-stories__track {
		gap: 16px;
	}

	.patient-stories__card {
		min-width:
			calc(
				(100% - 48px) / 4
			);

		flex:
			0 0
			calc(
				(100% - 48px) / 4
			);
	}
}


/* ==================================================
   SHORT DESKTOP VIEWPORT
================================================== */

@media screen and (min-width: 1101px) and (max-height: 760px) {

	.patient-stories {
		padding:
			14px
			0
			12px;
	}

	.patient-stories__eyebrow {
		min-height: 28px;

		margin-bottom: 6px;

		padding:
			5px
			18px;

		font-size: 10px;
	}

	.patient-stories__title {
		font-size: 41px;
	}

	.patient-stories__heading-divider {
		width: 200px;

		margin:
			8px
			auto
			6px;
	}

	.patient-stories__subtitle {
		font-size: 18px;
	}

	.patient-stories__slider {
		margin-top: 13px;
	}

	.patient-stories__card {
		height:
			clamp(
				295px,
				43svh,
				330px
			);

		padding:
			15px
			19px
			15px;
	}

	.patient-stories__quote {
		width: 46px;
		height: 46px;

		flex-basis: 46px;
	}

	.patient-stories__stars {
		margin-top: 8px;
	}

	.patient-stories__stars span {
		font-size: 15px;
	}

	.patient-stories blockquote,
	.patient-stories__text {
		margin-top:
			6px !important;
	}

	.patient-stories__text p {
		font-size: 16px;

		line-height: 1.52;
	}

	.patient-stories__card-divider {
		margin:
			4px
			auto
			6px;
	}

	.patient-stories__patient {
		min-height: 42px;

		gap: 9px;
	}

	.patient-stories__avatar {
		width: 40px;
		height: 40px;

		flex-basis: 40px;
	}

	.patient-stories__name {
		font-size: 16px;
	}

	.patient-stories__dots {
		margin-top: 5px;
	}

	.patient-stories__bottom-ornament {
		width: 145px;
		height: 32px;

		margin-top: 4px;
	}

	.patient-stories__laurel {
		width: 39px;
		height: 27px;
	}

	.patient-stories__bottom-quote {
		width: 49px;
		height: 34px;
	}
}


/* ==================================================
   LAPTOP
   3 CARDS
================================================== */

@media screen and (max-width: 1100px) and (min-width: 901px) {

	.patient-stories__container {
		width: min(
			calc(100% - 60px),
			1360px
		);
	}

	.patient-stories__slider {
		padding-inline: 40px;
	}

	.patient-stories__track {
		gap: 18px;
	}

	.patient-stories__card {
		min-width:
			calc(
				(100% - 36px) / 3
			);

		flex:
			0 0
			calc(
				(100% - 36px) / 3
			);

		height: 390px;

		padding-inline: 23px;
	}

	.patient-stories__text p {
		max-width: 280px;

		font-size: 12.5px;
	}

	.patient-stories__arrow--prev {
		left: -20px;
	}

	.patient-stories__arrow--next {
		right: -20px;
	}
}


/* ==================================================
   TABLET
   2 CARDS
================================================== */

@media screen and (max-width: 900px) {

	.patient-stories {
		padding:
			48px
			0
			40px;
	}

	.patient-stories__container {
		width: min(
			calc(100% - 48px),
			1360px
		);
	}

	.patient-stories__slider {
		margin-top: 30px;

		padding-inline: 40px;
	}

	.patient-stories__track {
		gap: 18px;
	}

	.patient-stories__card {
		min-width:
			calc(
				(100% - 18px) / 2
			);

		height: 435px;

		flex:
			0 0
			calc(
				(100% - 18px) / 2
			);

		padding-inline: 25px;
	}

	.patient-stories__text p {
		max-width: 320px;

		font-size: 13px;

		line-height: 1.68;
	}

	.patient-stories__arrow--prev {
		left: -9px;
	}

	.patient-stories__arrow--next {
		right: -9px;
	}

	.patient-stories__dots {
		margin-top: 10px;
	}

	.patient-stories__bottom-ornament {
		margin-top: 10px;
	}
}


/* ==================================================
   MOBILE
   1 CARD
================================================== */

@media screen and (max-width: 650px) {

	.patient-stories {
		padding:
			42px
			0
			36px;
	}

	.patient-stories__container {
		width:
			calc(100% - 36px);
	}

	.patient-stories__eyebrow {
		min-height: 32px;

		margin-bottom: 13px;

		font-size: 11px;

		letter-spacing: 2px;
	}

	.patient-stories__title {
		font-size: 39px;

		line-height: 1.02;
	}

	.patient-stories__heading-divider {
		width: 200px;

		margin:
			17px
			auto
			12px;
	}

	.patient-stories__subtitle {
		font-size: 20px;
	}

	.patient-stories__slider {
		margin-top: 27px;

		padding-inline: 28px;
	}

	.patient-stories__viewport {
		padding-inline: 4px;
	}

	.patient-stories__track {
		gap: 16px;
	}

	.patient-stories__card {
		min-width: 100%;

		height: auto;
		min-height: 425px;

		flex:
			0 0
			100%;

		padding:
			30px
			23px
			24px;
	}

	.patient-stories__quote {
		width: 55px;
		height: 55px;

		flex-basis: 55px;
	}

	.patient-stories__text p {
		display: block;

		max-width: 310px;

		font-size: 13.5px;

		line-height: 1.75;

		-webkit-line-clamp: unset;
	}

	.patient-stories__arrow {
		width: 40px;
		height: 40px;
	}

	.patient-stories__arrow--prev {
		left: -6px;
	}

	.patient-stories__arrow--next {
		right: -6px;
	}

	.patient-stories__dots {
		margin-top: 10px;
	}

	.patient-stories__bottom-ornament {
		margin-top: 11px;
	}
}


/* ==================================================
   SMALL MOBILE
================================================== */

@media screen and (max-width: 430px) {

	.patient-stories__title {
		font-size: 35px;
	}

	.patient-stories__slider {
		padding-inline: 22px;
	}

	.patient-stories__card {
		padding-inline: 19px;
	}

	.patient-stories__name {
		font-size: 18px;
	}
}


/* ==================================================
   FOCUS
================================================== */

.patient-stories button:focus-visible {
	outline:
		3px solid
		rgba(0, 143, 149, 0.40);

	outline-offset: 4px;
}


/* ==================================================
   REDUCED MOTION
================================================== */

@media (prefers-reduced-motion: reduce) {

	.patient-stories__eyebrow,
	.patient-stories__title,
	.patient-stories__heading-divider span,
	.patient-stories__heading-divider svg,
	.patient-stories__subtitle,
	.patient-stories__card,
	.patient-stories__bottom-ornament {
		opacity: 1 !important;

		filter: none !important;

		transform: none !important;

		animation: none !important;

		transition: none !important;
	}

	.patient-stories__track {
		transition: none !important;
	}
}
/**
 * Practice Locations
 *
 * @package DrSanhithaPurushotham
 */


/* ==================================================
   SECTION
================================================== */

.practice-locations {
	--pl-navy: #071f3c;
	--pl-text: #536170;

	--pl-teal: #008f96;
	--pl-teal-dark: #007a80;
	--pl-teal-soft: #e9f5f5;

	--pl-gold: #c99032;
	--pl-gold-soft: #e2bb78;

	--pl-bg: #fdf9f4;

	--pl-ease:
		cubic-bezier(0.22, 1, 0.36, 1);

	position: relative;

	width: 100%;

	padding:
		32px
		0
		26px;

	overflow: hidden;

	background:
		linear-gradient(
			135deg,
			#fffdfa 0%,
			#fdf9f4 100%
		);

	color: var(--pl-navy);
}

.practice-locations *,
.practice-locations *::before,
.practice-locations *::after {
	box-sizing: border-box;
}


/* ==================================================
   GLOBAL WIDTH
================================================== */

.practice-locations__container {
	width: min(
		calc(100% - 80px),
		1360px
	);

	margin-inline: auto;
}


/* ==================================================
   HEADER
================================================== */

.practice-locations__header {
	text-align: center;
}


/* ==================================================
   EYEBROW
================================================== */

.practice-locations__eyebrow {
	display: flex;

	align-items: center;
	justify-content: center;

	gap: 14px;
}

.practice-locations__eyebrow span {
	display: block;

	width: 58px;
	height: 1px;

	background:
		linear-gradient(
			to right,
			transparent,
			var(--pl-gold)
		);
}

.practice-locations__eyebrow span:last-child {
	background:
		linear-gradient(
			to left,
			transparent,
			var(--pl-gold)
		);
}

.practice-locations__eyebrow p {
	margin: 0;

	color: var(--pl-teal);

	font-family:
		"Montserrat",
		Arial,
		sans-serif;

	font-size: 13px;
	font-weight: 600;

	line-height: 1;

	letter-spacing: 3px;

	text-transform: uppercase;
}


/* ==================================================
   TITLE
================================================== */

.practice-locations__title {
	margin:
		13px
		0
		0;

	color:
		var(--pl-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size:
		clamp(
			35px,
			4.2vw,
			35px
		);

	font-weight: 600;

	line-height: 0.96;

	letter-spacing: -0.7px;
}


/* ==================================================
   SUBTITLE
================================================== */

.practice-locations__subtitle {
	margin:
		14px
		0
		0;

	color: var(--pl-text);

	font-family:
		"Montserrat",
		Arial,
		sans-serif;

	font-size: 18px;
	font-weight: 400;

	line-height: 1.4;
}


/* ==================================================
   HEADER ORNAMENT
================================================== */

.practice-locations__ornament {
	display: flex;

	width: 230px;

	margin:
		17px
		auto
		27px;

	align-items: center;
	justify-content: center;

	gap: 8px;

	color: var(--pl-gold);
}

.practice-locations__ornament span {
	display: block;

	height: 1px;

	flex: 1;

	background:
		linear-gradient(
			to right,
			transparent,
			rgba(201, 144, 50, 0.75)
		);
}

.practice-locations__ornament span:last-child {
	background:
		linear-gradient(
			to left,
			transparent,
			rgba(201, 144, 50, 0.75)
		);
}

.practice-locations__ornament svg {
	width: 30px;
	height: 21px;
}


/* ==================================================
   GRID
================================================== */

.practice-locations__grid {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap:
		24px
		28px;
}


/* ==================================================
   LOCATION CARD
================================================== */

.practice-location-card {
	position: relative;

	display: grid;

	height: 330px;

	grid-template-columns:
		43%
		57%;

	overflow: hidden;

	border:
		1px solid
		rgba(201, 144, 50, 0.18);

	border-radius: 10px;

	background: #ffffff;

	box-shadow:
		0
		8px
		24px
		rgba(20, 35, 49, 0.045);

	transition:
		transform
		450ms
		var(--pl-ease),

		border-color
		350ms ease,

		box-shadow
		450ms ease;
}


/* ==================================================
   IMAGE MEDIA

   This is the important difference.

   Instead of putting a white fake shape over the
   image, the image container itself has the large
   curved right edge from the reference.
================================================== */

.practice-location-card__media {
	position: relative;

	z-index: 2;

	width: calc(100% + 1px);
	height: 100%;

	overflow: hidden;

	border-right:
		2px solid
		var(--pl-gold);

	border-radius:
		0
		55% 55%
		0
		/
		0
		50% 50%
		0;

	background: #eef1f1;

	transform: translateZ(0);
}


/* IMAGE */

.practice-location-card__image,
.practice-location-card__placeholder {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	object-position: center;

	transition:
		transform
		750ms
		var(--pl-ease),

		filter
		450ms ease;
}

.practice-location-card__placeholder {
	display: flex;

	align-items: center;
	justify-content: center;

	color: var(--pl-teal);
}

.practice-location-card__placeholder svg {
	width: 70px;
}


/* ==================================================
   NUMBER MEDALLION

   Exactly over curved edge.
================================================== */

.practice-location-card__number {
	position: absolute;

	top: 50%;
	left: 43%;

	z-index: 20;

	display: flex;

	width: 54px;
	height: 54px;

	align-items: center;
	justify-content: center;

	border:
		1.5px solid
		var(--pl-gold);

	border-radius: 50%;

	background: #ffffff;

	color: var(--pl-teal);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 21px;
	font-weight: 700;

	line-height: 1;

	box-shadow:
		0
		6px
		18px
		rgba(110, 72, 20, 0.09);

	transform:
		translate(-50%, -50%);

	transition:
		transform
		400ms
		var(--pl-ease),

		background
		350ms ease,

		color
		350ms ease,

		box-shadow
		350ms ease;
}


/* ==================================================
   CONTENT
================================================== */

.practice-location-card__content {
	position: relative;

	z-index: 3;

	display: flex;

	min-width: 0;

	padding:
		30px 13px 20px 25px;

	flex-direction: column;
}


/* ==================================================
   BADGE
================================================== */

.practice-location-card__badge {
	position: absolute;

	top: 17px;
	right: 20px;

	display: inline-flex;

	min-height: 27px;

	padding:
		6px
		14px;

	align-items: center;
	justify-content: center;

	border-radius: 999px;

	background:
		var(--pl-teal-soft);

	color:
		var(--pl-teal);

	font-family:
		"Montserrat",
		Arial,
		sans-serif;

	font-size: 9px;
	font-weight: 600;

	line-height: 1;

	letter-spacing: 0.3px;

	text-transform: uppercase;
}


/* ==================================================
   HEADING
================================================== */

.practice-location-card__heading {
	display: grid;

	margin-top: 23px;

	grid-template-columns:
		48px
		minmax(0, 1fr);

	gap: 13px;

	align-items: center;
}


/* PIN */

.practice-location-card__pin {
	display: flex;

	width: 48px;
	height: 48px;

	align-items: center;
	justify-content: center;

	border-radius: 13px;

	background:
		var(--pl-teal-soft);

	color:
		var(--pl-teal);
}

.practice-location-card__pin svg {
	width: 26px;
	height: 26px;
}


/* TITLE */

.practice-location-card__title {
	max-width: 260px;

	margin: 0;

	color: var(--pl-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 23px;
	font-weight: 700;

	line-height: 1.04;
}


/* ==================================================
   ADDRESS
================================================== */

.practice-location-card__address {
	max-width: 320px;

	margin:
		18px
		0
		0
		61px;

	color:
		#536170;

	font-family:
		"Montserrat",
		Arial,
		sans-serif;

	font-size: 13px;
	font-style: normal;
	font-weight: 400;

	line-height: 1.65;
}


/* ==================================================
   MINI GOLD DECORATION
================================================== */

.practice-location-card__mini-divider {
	display: flex;

	width: 105px;

	margin:
		10px
		0
		0
		61px;

	align-items: center;

	gap: 5px;
}

.practice-location-card__mini-divider span {
	display: block;

	height: 1px;

	flex: 1;

	background:
		rgba(201, 144, 50, 0.28);
}

.practice-location-card__mini-divider i {
	display: block;

	width: 4px;
	height: 4px;

	background:
		var(--pl-gold-soft);

	transform:
		rotate(45deg);
}


/* ==================================================
   HOURS
================================================== */

.practice-location-card__hours {
	display: flex;

	margin:
		10px
		0
		0
		61px;

	align-items: center;

	gap: 10px;

	color: #536170;

	font-family:
		"Montserrat",
		Arial,
		sans-serif;

	font-size: 11px;
}

.practice-location-card__hours svg {
	width: 19px;
	height: 19px;

	flex: 0 0 19px;

	color: var(--pl-teal);
}


/* ==================================================
   ACTIONS
================================================== */

.practice-location-card__actions {
	display: grid;

	margin-top: auto;

	grid-template-columns:
		minmax(0, 1fr)
		minmax(0, 1fr);

	gap: 14px;
}


/* ==================================================
   BUTTONS
================================================== */

.practice-location-card__button {
	display: inline-flex;

	min-height: 43px;

	padding:
		9px
		18px;

	align-items: center;
	justify-content: center;

	gap: 8px;

	border-radius: 6px;

	font-family:
		"Montserrat",
		Arial,
		sans-serif;

	font-size: 14px;
	font-weight: 500;

	line-height: 1;

	white-space: nowrap;

	text-decoration: none;

	transition:
		transform
		300ms
		var(--pl-ease),

		background
		300ms ease,

		color
		300ms ease,

		border-color
		300ms ease,

		box-shadow
		300ms ease;
}

.practice-location-card__button svg {
	width: 15px;
	height: 15px;

	flex: 0 0 15px;
}


/* BOOK */

.practice-location-card__button--primary {
	border:
		1px solid
		var(--pl-teal);

	background:
		var(--pl-teal);

	color: #ffffff;
}


/* DIRECTIONS */

.practice-location-card__button--secondary {
	border:
		1px solid
		rgba(201, 144, 50, 0.68);

	background: #ffffff;

	color:
		#996419;
}


/* ==================================================
   PREMIUM CARD HOVER
================================================== */

@media (hover: hover) and (pointer: fine) {

	.practice-location-card:hover {
		z-index: 15;

		border-color:
			rgba(201, 144, 50, 0.50);

		transform:
			translateY(-7px);

		box-shadow:
			0
			18px
			38px
			rgba(15, 34, 50, 0.09),

			0
			26px
			55px
			rgba(154, 97, 20, 0.05);
	}


	.practice-location-card:hover
		.practice-location-card__image {
		transform:
			scale(1.045);

		filter:
			saturate(1.05)
			contrast(1.025);
	}


	.practice-location-card:hover
		.practice-location-card__number {
		background:
			var(--pl-teal);

		color:
			#ffffff;

		transform:
			translate(-50%, -50%)
			scale(1.09);

		box-shadow:
			0
			9px
			22px
			rgba(0, 131, 138, 0.18);
	}


	.practice-location-card__button--primary:hover {
		background:
			var(--pl-teal-dark);

		transform:
			translateY(-2px);

		box-shadow:
			0
			7px
			16px
			rgba(0, 122, 128, 0.17);
			color:#fff !important;
	}


	.practice-location-card__button--secondary:hover {
		border-color:
			var(--pl-gold);

		background:
			var(--pl-gold);

		color:
			#ffffff;

		transform:
			translateY(-2px);

		box-shadow:
			0
			7px
			16px
			rgba(158, 98, 16, 0.14);
	}
}


/* ==================================================
   HELP BAR
================================================== */

.practice-locations__help {
	display: grid;

	width:
		min(
			calc(100% - 140px),
			1140px
		);

	min-height: 105px;

	margin:
		28px
		auto
		0;

	padding:
		15px
		28px;

	grid-template-columns:
		minmax(0, 1fr)
		360px;

	gap: 38px;

	align-items: center;

	border:
		1px solid
		rgba(201, 144, 50, 0.15);

	border-radius: 10px;

	background:
		rgba(255, 255, 255, 0.90);

	box-shadow:
		0
		8px
		23px
		rgba(30, 42, 52, 0.035);
}


/* ==================================================
   HELP LEFT
================================================== */

.practice-locations__help-left {
	display: grid;

	grid-template-columns:
		68px
		210px
		1px
		minmax(0, 1fr);

	gap: 22px;

	align-items: center;
}


/* ICON */

.practice-locations__help-icon {
	display: flex;

	width: 68px;
	height: 68px;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background:
		linear-gradient(
			145deg,
			#fbf8f2,
			#f4ede2
		);

	color: var(--pl-teal);

	box-shadow:
		inset
		0
		0
		0
		1px
		rgba(201, 144, 50, 0.08);
}

.practice-locations__help-icon svg {
	width: 32px;
	height: 32px;
}


/* HEADING */

.practice-locations__help-heading {
	display: flex;

	flex-direction: column;

	color: var(--pl-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 22px;

	line-height: 1.06;
}

.practice-locations__help-heading strong {
	font-weight: 700;
}


/* LINE */

.practice-locations__help-line {
	display: block;

	width: 1px;
	height: 62px;

	background:
		rgba(201, 144, 50, 0.68);
}


/* DESCRIPTION */

.practice-locations__help-left p {
	max-width: 320px;

	margin: 0;

	color:
		#536170;

	font-family:
		"Montserrat",
		Arial,
		sans-serif;

	font-size: 11px;

	line-height: 1.6;
}


/* ==================================================
   CALL PANEL
================================================== */

.practice-locations__call {
	display: flex;

	min-height: 75px;

	padding:
		11px
		24px;

	align-items: center;

	gap: 18px;

	border-radius: 8px;

	background:
		linear-gradient(
			135deg,
			#fffaf3,
			#f9efe1
		);

	text-decoration: none;

	transition:
		transform
		350ms
		var(--pl-ease),

		box-shadow
		350ms ease;
}

.practice-locations__call-icon {
	display: flex;

	width: 48px;
	height: 48px;

	align-items: center;
	justify-content: center;

	color: var(--pl-teal);
}

.practice-locations__call-icon svg {
	width: 34px;
	height: 34px;
}

.practice-locations__call-copy {
	display: flex;

	flex-direction: column;
}

.practice-locations__call-copy small {
	color: var(--pl-navy);

	font-family:
		"Montserrat",
		Arial,
		sans-serif;

	font-size: 11px;
}

.practice-locations__call-copy strong {
	margin-top: 3px;

	color:
		var(--pl-gold);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 28px;
	font-weight: 600;

	line-height: 1;
}


@media (hover: hover) and (pointer: fine) {

	.practice-locations__call:hover {
		transform:
			translateY(-3px);

		box-shadow:
			0
			13px
			28px
			rgba(101, 64, 18, 0.09);
	}
}


/* ==================================================
   ENTRANCE ANIMATION
   SAFE DEFAULT
================================================== */

.practice-locations__eyebrow,
.practice-locations__title,
.practice-locations__subtitle,
.practice-location-card,
.practice-locations__help {
	opacity: 1;
}


/* HEADER INITIAL */

.practice-locations.has-practice-animation:not(.is-visible)
	.practice-locations__eyebrow {
	opacity: 0;

	transform:
		translateY(-13px);
}

.practice-locations.has-practice-animation:not(.is-visible)
	.practice-locations__title {
	opacity: 0;

	filter:
		blur(5px);

	transform:
		translateY(24px);
}

.practice-locations.has-practice-animation:not(.is-visible)
	.practice-locations__subtitle {
	opacity: 0;

	transform:
		translateY(13px);
}


/* ORNAMENT INITIAL */

.practice-locations.has-practice-animation:not(.is-visible)
	.practice-locations__ornament span {
	transform:
		scaleX(0);
}

.practice-locations.has-practice-animation:not(.is-visible)
	.practice-locations__ornament span:first-child {
	transform-origin:
		right center;
}

.practice-locations.has-practice-animation:not(.is-visible)
	.practice-locations__ornament span:last-child {
	transform-origin:
		left center;
}

.practice-locations.has-practice-animation:not(.is-visible)
	.practice-locations__ornament svg {
	opacity: 0;

	transform:
		scale(0.45);
}


/* CARD INITIAL */

.practice-locations.has-practice-animation:not(.is-visible)
	.practice-location-card {
	opacity: 0;

	transform:
		translateY(34px)
		scale(0.975);
}


/* IMAGE INITIAL */

.practice-locations.has-practice-animation:not(.is-visible)
	.practice-location-card__image {
	opacity: 0;

	transform:
		scale(1.08);
}


/* NUMBER INITIAL */

.practice-locations.has-practice-animation:not(.is-visible)
	.practice-location-card__number {
	opacity: 0;

	transform:
		translate(-50%, -50%)
		scale(0.5);
}


/* HELP INITIAL */

.practice-locations.has-practice-animation:not(.is-visible)
	.practice-locations__help {
	opacity: 0;

	transform:
		translateY(22px)
		scale(0.985);
}


/* ==================================================
   HEADER ENTER
================================================== */

.practice-locations.has-practice-animation.is-visible
	.practice-locations__eyebrow {
	opacity: 1;

	transform:
		translateY(0);

	transition:
		opacity
		550ms ease
		60ms,

		transform
		720ms
		var(--pl-ease)
		60ms;
}


.practice-locations.has-practice-animation.is-visible
	.practice-locations__title {
	opacity: 1;

	filter:
		blur(0);

	transform:
		translateY(0);

	transition:
		opacity
		680ms ease
		140ms,

		transform
		830ms
		var(--pl-ease)
		140ms,

		filter
		780ms ease
		140ms;
}


.practice-locations.has-practice-animation.is-visible
	.practice-locations__subtitle {
	opacity: 1;

	transform:
		translateY(0);

	transition:
		opacity
		600ms ease
		250ms,

		transform
		700ms
		var(--pl-ease)
		250ms;
}


/* ORNAMENT ENTER */

.practice-locations.has-practice-animation.is-visible
	.practice-locations__ornament span {
	transform:
		scaleX(1);

	transition:
		transform
		730ms
		var(--pl-ease)
		330ms;
}

.practice-locations.has-practice-animation.is-visible
	.practice-locations__ornament svg {
	opacity: 1;

	transform:
		scale(1);

	transition:
		opacity
		350ms ease
		430ms,

		transform
		520ms
		var(--pl-ease)
		430ms;
}


/* ==================================================
   CARD ENTER
================================================== */

.practice-locations.has-practice-animation.is-visible
	.practice-location-card {
	opacity: 1;

	transform:
		translateY(0)
		scale(1);

	transition:
		opacity
		700ms
		var(--pl-ease)
		var(--practice-delay, 480ms),

		transform
		820ms
		var(--pl-ease)
		var(--practice-delay, 480ms),

		border-color
		350ms ease,

		box-shadow
		450ms ease;
}


/* IMAGE ENTER */

.practice-locations.has-practice-animation.is-visible
	.practice-location-card__image {
	opacity: 1;

	transform:
		scale(1);

	transition:
		opacity
		650ms ease
		calc(
			var(--practice-delay, 480ms) + 100ms
		),

		transform
		1000ms
		var(--pl-ease)
		calc(
			var(--practice-delay, 480ms) + 100ms
		);
}


/* NUMBER ENTER */

.practice-locations.has-practice-animation.is-visible
	.practice-location-card__number {
	opacity: 1;

	transform:
		translate(-50%, -50%)
		scale(1);

	transition:
		opacity
		400ms ease
		calc(
			var(--practice-delay, 480ms) + 230ms
		),

		transform
		650ms
		var(--pl-ease)
		calc(
			var(--practice-delay, 480ms) + 230ms
		),

		background
		350ms ease,

		color
		350ms ease;
}


/* HELP ENTER */

.practice-locations.has-practice-animation.is-visible
	.practice-locations__help {
	opacity: 1;

	transform:
		translateY(0)
		scale(1);

	transition:
		opacity
		650ms ease
		1050ms,

		transform
		800ms
		var(--pl-ease)
		1050ms;
}


/* ==================================================
   MAKE HOVER WORK AFTER ENTRANCE
================================================== */

@media (hover: hover) and (pointer: fine) {

	.practice-locations.is-visible
		.practice-location-card:hover {
		transform:
			translateY(-7px);
	}

	.practice-locations.is-visible
		.practice-location-card:hover
		.practice-location-card__image {
		transform:
			scale(1.045);
	}

	.practice-locations.is-visible
		.practice-location-card:hover
		.practice-location-card__number {
		transform:
			translate(-50%, -50%)
			scale(1.09);
	}
}


/* ==================================================
   LAPTOP
================================================== */

@media screen and (max-width: 1200px) {

	.practice-locations__container {
		width:
			min(
				calc(100% - 60px),
				1100px
			);
	}

	.practice-location-card {
		height: 305px;
	}

	.practice-location-card__content {
		padding:30px 13px 20px 25px;
	}

	.practice-location-card__title {
		font-size: 21px;
	}

	.practice-location-card__address {
		font-size: 10px;
	}

	.practice-location-card__button {
		font-size: 9px;
	}
}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 900px) {

	.practice-locations__container {
		width:
			calc(100% - 48px);
	}

	.practice-locations__grid {
		grid-template-columns:
			1fr;
	}

	.practice-location-card {
		height: 330px;
	}

	.practice-locations__help {
		width: 100%;

		grid-template-columns:
			1fr;
	}

	.practice-locations__call {
		width: 100%;
	}
}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 650px) {

	.practice-locations {
		padding:
			42px
			0;
	}

	.practice-locations__container {
		width:
			calc(100% - 36px);
	}

	.practice-locations__title {
		font-size: 40px;
	}

	.practice-locations__eyebrow p {
		font-size: 10px;

		letter-spacing: 2px;
	}

	.practice-locations__eyebrow span {
		width: 30px;
	}

	.practice-location-card {
		display: block;

		height: auto;
	}

	.practice-location-card__media {
		width: 100%;
		height: 245px;

		border-right: 0;

		border-bottom:
			2px solid
			var(--pl-gold);

		border-radius:
			0;
	}

	.practice-location-card__number {
		top: 245px;
		left: 50%;

		transform:
			translate(-50%, -50%);
	}

	.practice-location-card__content {
		padding:
			43px
			22px
			22px;
	}

	.practice-location-card__badge {
		top: 16px;
	}

	.practice-location-card__heading {
		margin-top: 15px;
	}

	.practice-location-card__address,
	.practice-location-card__mini-divider,
	.practice-location-card__hours {
		margin-left: 61px;
	}

	.practice-location-card__actions {
		margin-top: 25px;
	}

	.practice-locations__help {
		padding:
			22px;
	}

	.practice-locations__help-left {
		grid-template-columns:
			60px
			minmax(0, 1fr);
	}

	.practice-locations__help-line {
		grid-column:
			1 / -1;

		width: 100%;
		height: 1px;
	}

	.practice-locations__help-left p {
		grid-column:
			1 / -1;
	}


	.practice-locations.has-practice-animation:not(.is-visible)
		.practice-location-card__number {
		transform:
			translate(-50%, -50%)
			scale(0.5);
	}

	.practice-locations.has-practice-animation.is-visible
		.practice-location-card__number {
		transform:
			translate(-50%, -50%)
			scale(1);
	}
}


/* ==================================================
   SMALL MOBILE
================================================== */

@media screen and (max-width: 430px) {

	.practice-location-card__actions {
		grid-template-columns:
			1fr;
	}

	.practice-locations__title {
		font-size: 36px;
	}
}


/* ==================================================
   ACCESSIBILITY
================================================== */

.practice-locations a:focus-visible {
	outline:
		3px solid
		rgba(0, 143, 150, 0.35);

	outline-offset: 3px;
}


/* ==================================================
   REDUCED MOTION
================================================== */

@media (prefers-reduced-motion: reduce) {

	.practice-locations__eyebrow,
	.practice-locations__title,
	.practice-locations__subtitle,
	.practice-locations__ornament span,
	.practice-locations__ornament svg,
	.practice-location-card,
	.practice-location-card__image,
	.practice-location-card__number,
	.practice-locations__help {
		opacity: 1 !important;

		filter: none !important;

		animation: none !important;

		transition: none !important;
	}
}