/**
 * Single Doctor Profile.
 *
 * @package DrSanhithaPurushotham
 */


/* ==================================================
   VARIABLES / FOUNDATION
================================================== */

.doctor-profile {
	--doctor-navy: #082746;
	--doctor-navy-dark: #061b34;
	--doctor-gold: #c88c32;
	--doctor-gold-light: #e5bd70;
	--doctor-cream: #faf4eb;
	--doctor-off-white: #fffdf9;
	--doctor-copy: #5e6f7e;
	--doctor-border: rgba(177, 134, 66, 0.17);

	position: relative;

	background:
		#fffdf9;

	color:
		var(--doctor-navy);

	font-family:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;
}


.doctor-profile *,
.doctor-profile *::before,
.doctor-profile *::after {
	box-sizing: border-box;
}


.doctor-profile__container {
	width:
		min(
			calc(100% - 80px),
			1360px
		);

	margin-inline:
		auto;
}


/* ==================================================
   HERO
================================================== */

.doctor-profile__hero {
	position: relative;

	overflow: hidden;

	padding:
		24px
		0
		0;

	background:
		radial-gradient(
			circle at 74% 25%,
			rgba(255,255,255,0.98),
			rgba(249,242,232,0.92) 43%,
			#fbf7f0 100%
		);
}


.doctor-profile__hero-orbit {
	position: absolute;

	top: 42px;
	right: 5%;

	width: 570px;
	height: 570px;

	border:
		1px solid
		rgba(199,143,52,0.16);

	border-radius: 50%;

	pointer-events: none;
}


.doctor-profile__hero-orbit::before {
	position: absolute;

	inset: 45px;

	border:
		1px solid
		rgba(199,143,52,0.09);

	border-radius: 50%;

	content: "";
}


/* ==================================================
   BREADCRUMB
================================================== */

.doctor-profile__breadcrumb {
	display: flex;

	margin-bottom: 28px;

	align-items: center;

	flex-wrap: wrap;

	gap: 9px;

	color: #9aa2a9;

	font-size: 10px;
}


.doctor-profile__breadcrumb a {
	color: inherit;

	text-decoration: none;
}


.doctor-profile__breadcrumb a:hover {
	color:
		var(--doctor-gold);
}


/* ==================================================
   HERO GRID
================================================== */

.doctor-profile__hero-grid {
	display: grid;

	min-height: 490px;

	align-items: center;

	grid-template-columns:
		minmax(0, 0.9fr)
		minmax(480px, 1.1fr);

	gap: 65px;
}


/* ==================================================
   HERO COPY
================================================== */

.doctor-profile__hero-copy {
	padding-bottom: 65px;
}


.doctor-profile__eyebrow,
.doctor-profile__section-label {
	display: inline-flex;

	min-height: 27px;

	padding:
		0
		12px;

	align-items: center;

	border:
		1px solid
		rgba(195,139,48,0.25);

	border-radius: 999px;

	background:
		#faf1e4;

	color:
		#a56c18;

	font-size: 9px;
	font-weight: 700;

	line-height: 1;

	letter-spacing: 1.3px;

	text-transform: uppercase;
}


.doctor-profile__hero-copy h1 {
	max-width: 590px;

	margin:
		15px
		0
		16px;

	color:
		var(--doctor-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size:
		clamp(
			54px,
			5vw,
			80px
		);

	font-weight: 600;

	line-height: 0.96;

	letter-spacing: -1.8px;
}


.doctor-profile__qualifications {
	max-width: 620px;

	margin:
		0
		0
		15px;

	color: #263e54;

	font-size: 11px;
	font-weight: 600;

	line-height: 1.7;
}


.doctor-profile__speciality-line {
	max-width: 610px;

	margin: 0;

	color: #77838d;

	font-size: 11px;

	line-height: 1.7;
}


/* ==================================================
   BUTTONS
================================================== */

.doctor-profile__hero-actions,
.doctor-profile__cta-actions {
	display: flex;

	margin-top: 27px;

	flex-wrap: wrap;

	gap: 16px;
}


.doctor-profile__primary-button,
.doctor-profile__secondary-button,
.doctor-profile__cta-primary,
.doctor-profile__cta-secondary {
	display: inline-flex;

	min-height: 53px;

	padding:
		0
		23px;

	align-items: center;
	justify-content: center;

	gap: 10px;

	border-radius: 8px;

	font-size: 11px;
	font-weight: 700;

	text-decoration: none;

	transition:
		transform 250ms ease,
		box-shadow 250ms ease,
		background 250ms ease,
		border-color 250ms ease;
}


.doctor-profile__primary-button {
	border:
		1px solid
		#071f3a;

	background:
		linear-gradient(
			135deg,
			#0a2b4b,
			#06192f
		);

	color: #ffffff;

	box-shadow:
		0
		11px
		25px
		rgba(6,26,49,0.19);
}


.doctor-profile__secondary-button {
	border:
		1px solid
		rgba(196,143,54,0.37);

	background:
		rgba(255,255,255,0.72);

	color: #a96d17;
}


.doctor-profile__primary-button:hover,
.doctor-profile__secondary-button:hover {
	transform:
		translateY(-3px);
}


/* ==================================================
   HERO IMAGE
================================================== */

.doctor-profile__hero-visual {
	position: relative;

	display: flex;

	min-height: 490px;

	align-items: flex-end;
	justify-content: center;
}


.doctor-profile__hero-frame {
	position: relative;

	width: 470px;
	height: 500px;

	overflow: hidden;

	border:
		1px solid
		rgba(197,143,53,0.22);

	border-radius:
		240px
		240px
		0
		0;

	background:
		#eee6da;

	box-shadow:
		0
		0
		0
		11px
		rgba(255,255,255,0.47);
}


.doctor-profile__hero-image {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center top;

	transition:
		transform
		750ms
		cubic-bezier(
			0.22,
			1,
			0.36,
			1
		);
}


.doctor-profile__hero-visual:hover
.doctor-profile__hero-image {
	transform:
		scale(1.035);
}


/* ==================================================
   FLOATING CARE CARD
================================================== */

.doctor-profile__care-card {
	position: absolute;

	top: 155px;
	right: 3px;

	z-index: 5;

	width: 180px;

	padding:
		20px;

	border:
		1px solid
		rgba(190,141,60,0.14);

	border-radius: 20px;

	background:
		rgba(255,255,255,0.94);

	box-shadow:
		0
		18px
		42px
		rgba(58,42,20,0.10);

	backdrop-filter:
		blur(12px);

	transition:
		transform 280ms ease,
		box-shadow 280ms ease;
}


.doctor-profile__care-card:hover {
	transform:
		translateY(-6px);

	box-shadow:
		0
		26px
		52px
		rgba(58,42,20,0.14);
}


.doctor-profile__care-icon {
	display: flex;

	width: 43px;
	height: 43px;

	margin-bottom: 12px;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background:
		var(--doctor-gold);

	color: #ffffff;

	font-size: 21px;
}


.doctor-profile__care-card p {
	margin: 0;

	color: #30485d;

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 16px;
	font-weight: 700;

	line-height: 1.35;
}


/* ==================================================
   STATS BAR
================================================== */

.doctor-profile__stats {
	position: relative;

	z-index: 10;

	display: grid;

	min-height: 105px;

	margin-top: -9px;

	padding:
		17px
		23px;

	align-items: center;

	grid-template-columns:
		repeat(
			4,
			minmax(0,1fr)
		);

	border:
		1px solid
		var(--doctor-border);

	border-radius: 20px;

	background:
		rgba(255,255,255,0.97);

	box-shadow:
		0
		15px
		42px
		rgba(72,53,28,0.08);
}


.doctor-profile__stat {
	display: flex;

	min-width: 0;

	padding:
		0
		25px;

	align-items: center;

	gap: 16px;

	border-right:
		1px solid
		rgba(178,134,65,0.15);
}


.doctor-profile__stat:last-child {
	border-right: 0;
}


.doctor-profile__stat-icon {
	display: flex;

	width: 57px;
	height: 57px;

	flex:
		0
		0
		57px;

	align-items: center;
	justify-content: center;

	border:
		1px solid
		rgba(196,144,59,0.16);

	border-radius: 50%;

	background:
		#fbf4e9;

	color:
		var(--doctor-gold);

	font-size: 26px;

	transition:
		background-color 280ms ease,
		color 280ms ease,
		transform 280ms ease;
}


.doctor-profile__stat:hover
.doctor-profile__stat-icon {
	background:
		var(--doctor-gold);

	color:
		#ffffff;

	transform:
		rotate(-6deg)
		scale(1.06);
}


.doctor-profile__stat strong {
	display: block;

	color:
		var(--doctor-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 28px;

	line-height: 1;
}


.doctor-profile__stat div span {
	display: block;

	margin-top: 5px;

	color: #697887;

	font-size: 9px;
}


/* ==================================================
   STICKY SECTION NAV
================================================== */

.doctor-profile__section-nav-wrap {
	position: sticky;

	top: 108px;

	z-index: 60;

	padding:
		24px
		40px
		0;

	background:
		linear-gradient(
			180deg,
			#fffdf9 78%,
			rgba(255,253,249,0)
		);
}


.doctor-profile__section-nav {
	display: flex;

	width:
		min(
			100%,
			1360px
		);

	min-height: 66px;

	margin-inline: auto;

	padding: 8px;

	align-items: center;

	gap: 8px;

	overflow-x: auto;

	border:
		1px solid
		var(--doctor-border);

	border-radius: 14px;

	background:
		rgba(255,253,249,0.96);

	box-shadow:
		0
		9px
		28px
		rgba(72,53,29,0.055);

	scrollbar-width: none;

	backdrop-filter:
		blur(13px);
}


.doctor-profile__section-nav::-webkit-scrollbar {
	display: none;
}


.doctor-profile__section-nav a {
	display: inline-flex;

	min-height: 46px;

	padding:
		0
		19px;

	flex:
		0
		0
		auto;

	align-items: center;
	justify-content: center;

	border-radius: 8px;

	color: #40576b;

	font-size: 10px;
	font-weight: 700;

	white-space: nowrap;

	text-decoration: none;

	transition:
		background-color 220ms ease,
		color 220ms ease,
		transform 220ms ease;
}


.doctor-profile__section-nav a:hover,
.doctor-profile__section-nav a.is-active {
	background:
		var(--doctor-navy);

	color: #ffffff;

	transform:
		translateY(-1px);
}


/* ==================================================
   BODY
================================================== */

.doctor-profile__body {
	padding:
		45px
		0
		78px;
}


.doctor-profile__section {
	scroll-margin-top: 205px;
}


/* ==================================================
   OVERVIEW
================================================== */

.doctor-profile__overview {
	display: grid;

	margin-bottom: 35px;

	align-items: stretch;

	grid-template-columns:
		390px
		minmax(0,1fr);

	gap: 48px;
}


/* ==================================================
   INTRO IMAGE
================================================== */

.doctor-profile__intro-card {
	overflow: hidden;

	border:
		1px solid
		var(--doctor-border);

	border-radius: 20px;

	background:
		#faf3e9;

	box-shadow:
		0
		11px
		30px
		rgba(66,49,28,0.07);

	transition:
		transform 300ms ease,
		box-shadow 300ms ease;
}


.doctor-profile__intro-card:hover {
	transform:
		translateY(-6px);

	box-shadow:
		0
		20px
		46px
		rgba(66,49,28,0.12);
}


.doctor-profile__intro-image {
	position: relative;

	height: 360px;

	overflow: hidden;
}


.doctor-profile__about-image {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center top;

	transition:
		transform 650ms ease;
}


.doctor-profile__intro-card:hover
.doctor-profile__about-image {
	transform:
		scale(1.04);
}


.doctor-profile__play-button {
	position: absolute;

	bottom: 20px;
	left: 50%;

	display: flex;

	width: 62px;
	height: 62px;

	align-items: center;
	justify-content: center;

	border:
		3px solid
		#ffffff;

	border-radius: 50%;

	background:
		var(--doctor-navy);

	color:
		#eab953;

	text-decoration: none;

	box-shadow:
		0
		10px
		25px
		rgba(6,28,51,0.25);

	transform:
		translateX(-50%);

	transition:
		background 250ms ease,
		transform 250ms ease;
}


.doctor-profile__play-button:hover {
	background:
		var(--doctor-gold);

	color: #ffffff;

	transform:
		translateX(-50%)
		scale(1.08);
}


.doctor-profile__intro-caption {
	padding: 16px;

	text-align: center;
}


.doctor-profile__intro-caption strong {
	display: block;

	color:
		var(--doctor-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 17px;
}


.doctor-profile__intro-caption span {
	display: block;

	margin-top: 4px;

	color: #84909a;

	font-size: 9px;
}


/* ==================================================
   OVERVIEW CONTENT
================================================== */

.doctor-profile__overview-content {
	padding:
		15px
		0;
}


.doctor-profile__overview-content h2 {
	margin:
		12px
		0
		14px;

	color:
		var(--doctor-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 42px;
	font-weight: 600;

	line-height: 1.08;
}


.doctor-profile__about-copy {
	color:
		var(--doctor-copy);

	font-size: 16px;

	line-height: 1.85;
}


.doctor-profile__about-copy p {
	margin:
		0
		0
		14px;
}


/* ==================================================
   CARE BENEFITS
================================================== */

.doctor-profile__care-benefits {
	display: grid;

	margin-top: 34px;

	grid-template-columns:
		repeat(
			3,
			minmax(0,1fr)
		);

	border-top:
		1px solid
		var(--doctor-border);
}


.doctor-profile__care-benefit {
	display: flex;

	min-height: 105px;

	padding:
		22px;

	flex-direction: column;

	align-items: flex-start;

	gap: 10px;

	border-right:
		1px solid
		var(--doctor-border);

	transition:
		background-color 240ms ease;
}


.doctor-profile__care-benefit:last-child {
	border-right: 0;
}


.doctor-profile__care-benefit:hover {
	background:
		#fcf7ef;
}


.doctor-profile__care-benefit .dashicons {
	display: flex;

	width: 46px;
	height: 46px;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background:
		#faf1e4;

	color:
		var(--doctor-gold);

	font-size: 22px;
}


.doctor-profile__care-benefit strong {
	color: #294258;

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 16px;

	line-height: 1.25;
}


/* ==================================================
   CONTENT PANEL
================================================== */

.doctor-profile__content-panel,
.doctor-profile__philosophy-panel {
	position: relative;

	margin-bottom: 30px;

	padding:
		29px
		31px
		32px;

	overflow: hidden;

	border:
		1px solid
		var(--doctor-border);

	border-radius: 18px;

	background:
		linear-gradient(
			145deg,
			#ffffff,
			#fffcf7
		);

	box-shadow:
		0
		11px
		32px
		rgba(70,52,30,0.05);

	transition:
		border-color 300ms ease,
		box-shadow 300ms ease,
		transform 300ms ease;
}


.doctor-profile__content-panel:hover,
.doctor-profile__philosophy-panel:hover {
	border-color:
		rgba(192,139,50,0.30);

	box-shadow:
		0
		20px
		46px
		rgba(70,52,30,0.085);

	transform:
		translateY(-3px);
}


/* ==================================================
   PANEL HEADER
================================================== */

.doctor-profile__panel-heading {
	display: flex;

	margin-bottom: 27px;

	align-items: center;

	gap: 14px;
}


.doctor-profile__heading-icon {
	display: flex;

	width: 52px;
	height: 52px;

	flex:
		0
		0
		52px;

	align-items: center;
	justify-content: center;

	border:
		1px solid
		rgba(193,140,52,0.18);

	border-radius: 50%;

	background:
		#fbf3e8;

	color:
		var(--doctor-gold);

	font-size: 23px;
}


.doctor-profile__panel-heading > div > span {
	display: block;

	margin-bottom: 4px;

	color:
		#a5762a;

	font-size: 8px;
	font-weight: 700;

	letter-spacing: 1.4px;

	text-transform: uppercase;
}


.doctor-profile__panel-heading h2 {
	margin: 0;

	color:
		var(--doctor-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 27px;
	font-weight: 700;

	line-height: 1.05;
}


/* ==================================================
   EDUCATION
================================================== */

.doctor-profile__education-list {
	display: grid;

	gap: 0;
}


.doctor-profile__education-item {
	display: grid;

	min-height: 83px;

	grid-template-columns:
		130px
		35px
		minmax(0,1fr);

	align-items: start;
}


.doctor-profile__education-period {
	padding-top: 5px;

	color:
		#b17824;

	font-size: 10px;
	font-weight: 600;
}


.doctor-profile__education-marker {
	position: relative;

	display: flex;

	min-height: 83px;

	justify-content: center;
}


.doctor-profile__education-marker::before {
	position: absolute;

	top: 6px;
	bottom: -6px;

	left: 50%;

	width: 1px;

	background:
		rgba(197,143,53,0.30);

	content: "";

	transform:
		translateX(-50%);
}


.doctor-profile__education-item:last-child
.doctor-profile__education-marker::before {
	bottom: auto;

	height: 8px;
}


.doctor-profile__education-marker span {
	position: relative;

	z-index: 2;

	width: 10px;
	height: 10px;

	margin-top: 5px;

	border:
		3px solid
		#ffffff;

	border-radius: 50%;

	background:
		var(--doctor-gold);

	box-shadow:
		0
		0
		0
		1px
		rgba(192,139,52,0.23);
}


.doctor-profile__education-copy {
	padding:
		0
		0
		24px
		11px;
}


.doctor-profile__education-copy h3 {
	margin:
		0
		0
		4px;

	color:
		#203b54;

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 18px;

	line-height: 1.2;
}


.doctor-profile__education-copy p {
	margin: 0;

	color: #778691;

	font-size: 10px;

	line-height: 1.5;
}


/* ==================================================
   RICH CONTENT
================================================== */

.doctor-profile__rich-content {
	color:
		#4f6273;

	font-size: 11px;

	line-height: 1.8;
}


.doctor-profile__rich-content p {
	margin:
		0
		0
		14px;
}


.doctor-profile__rich-content ul,
.doctor-profile__rich-content ol {
	margin:
		8px
		0
		0;

	padding-left:
		22px;
}


/* ==================================================
   PUBLICATIONS
================================================== */

.doctor-profile__publication-list {
	display: grid;

	gap: 12px;
}


.doctor-profile__publication-item {
	display: grid;

	min-height: 88px;

	padding:
		17px
		18px;

	align-items: center;

	grid-template-columns:
		40px
		52px
		minmax(0,1fr);

	gap: 14px;

	border:
		1px solid
		rgba(181,135,65,0.13);

	border-radius: 12px;

	background:
		linear-gradient(
			135deg,
			#fffdf9,
			#fbf5ec
		);

	transition:
		transform 260ms ease,
		border-color 260ms ease,
		box-shadow 260ms ease;
}


.doctor-profile__publication-item:hover {
	border-color:
		rgba(196,140,48,0.38);

	box-shadow:
		0
		12px
		26px
		rgba(72,51,24,0.07);

	transform:
		translateY(-3px);
}


.doctor-profile__publication-number {
	color:
		#c18a34;

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 22px;
	font-weight: 700;
}


.doctor-profile__publication-icon {
	display: flex;

	width: 48px;
	height: 48px;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background:
		#f5e9d7;

	color:
		var(--doctor-gold);

	font-size: 22px;
}


.doctor-profile__publication-item p {
	margin: 0;

	color:
		#455b6e;

	font-size: 16px;

	line-height: 1.65;
}


/* ==================================================
   EXPERTISE GRID
================================================== */

.doctor-profile__expertise-grid {
	display: grid;

	grid-template-columns:
		repeat(
			2,
			minmax(0,1fr)
		);

	gap: 14px;
}


.doctor-profile__expertise-card {
	position: relative;

	min-height: 150px;

	padding:
		21px;

	border:
		1px solid
		rgba(181,135,64,0.13);

	border-radius: 14px;

	background:
		linear-gradient(
			145deg,
			#fffdf9,
			#faf2e7
		);

	transition:
		transform 280ms ease,
		box-shadow 280ms ease,
		border-color 280ms ease;
}


.doctor-profile__expertise-card:hover {
	border-color:
		rgba(195,139,48,0.37);

	box-shadow:
		0
		15px
		32px
		rgba(71,50,25,0.08);

	transform:
		translateY(-5px);
}


.doctor-profile__expertise-top {
	display: flex;

	margin-bottom: 19px;

	align-items: center;
	justify-content: space-between;
}


.doctor-profile__expertise-top > span {
	display: flex;

	width: 38px;
	height: 38px;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background:
		#f1e3ce;

	color:
		#a96f19;

	font-size: 9px;
	font-weight: 700;
}


.doctor-profile__expertise-top i {
	display: flex;

	width: 31px;
	height: 31px;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background:
		var(--doctor-gold);

	color: #ffffff;

	font-style: normal;

	transition:
		transform 250ms ease;
}


.doctor-profile__expertise-card:hover
.doctor-profile__expertise-top i {
	transform:
		translateX(4px);
}


.doctor-profile__expertise-card h3 {
	margin:
		0
		0
		7px;

	color:
		#1e3a54;

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 19px;

	line-height: 1.15;
}


.doctor-profile__expertise-card p {
	margin: 0;

	color:
		#667787;

	font-size: 10px;

	line-height: 1.65;
}


/* ==================================================
   CASE REPORTS
================================================== */

.doctor-profile__case-report-list {
	display: grid;

	gap: 12px;
}


.doctor-profile__case-report {
	display: grid;

	min-height: 72px;

	padding:
		16px
		18px;

	align-items: center;

	grid-template-columns:
		46px
		minmax(0,1fr);

	gap: 15px;

	border:
		1px solid
		rgba(184,138,66,0.13);

	border-radius: 11px;

	background:
		#fffdf9;

	transition:
		transform 250ms ease,
		background-color 250ms ease,
		border-color 250ms ease;
}


.doctor-profile__case-report:hover {
	border-color:
		rgba(192,139,48,0.33);

	background:
		#fbf5eb;

	transform:
		translateX(4px);
}


.doctor-profile__case-number {
	display: flex;

	width: 42px;
	height: 42px;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background:
		#f1e3ce;

	color:
		#a96e1a;

	font-size: 9px;
	font-weight: 700;
}


.doctor-profile__case-report p {
	margin: 0;

	color:
		#4c6072;

	font-size: 10px;

	line-height: 1.65;
}


/* ==================================================
   MEMBERSHIPS
================================================== */

.doctor-profile__membership-grid {
	display: grid;

	grid-template-columns:
		repeat(
			2,
			minmax(0,1fr)
		);

	gap: 11px;
}


.doctor-profile__membership {
	display: flex;

	min-height: 62px;

	padding:
		13px
		16px;

	align-items: center;

	gap: 12px;

	border:
		1px solid
		rgba(179,134,64,0.12);

	border-radius: 10px;

	background:
		#fffdf9;

	transition:
		background-color 250ms ease,
		transform 250ms ease,
		border-color 250ms ease;
}


.doctor-profile__membership:hover {
	border-color:
		rgba(195,140,50,0.30);

	background:
		#fbf4e9;

	transform:
		translateY(-2px);
}


.doctor-profile__membership .dashicons {
	color:
		var(--doctor-gold);

	font-size: 19px;
}


.doctor-profile__membership p {
	margin: 0;

	color:
		#43596b;

	font-size: 10px;

	line-height: 1.5;
}


/* ==================================================
   LOCATIONS
================================================== */

.doctor-profile__locations-grid {
	display: grid;

	grid-template-columns:
		repeat(
			3,
			minmax(0,1fr)
		);

	gap: 15px;
}


.doctor-profile__location-card {
	display: grid;

	min-height: 170px;

	padding:
		20px;

	grid-template-columns:
		52px
		minmax(0,1fr);

	gap: 14px;

	border:
		1px solid
		rgba(180,136,67,0.14);

	border-radius: 14px;

	background:
		linear-gradient(
			145deg,
			#fffdf9,
			#faf1e5
		);

	transition:
		transform 270ms ease,
		box-shadow 270ms ease;
}


.doctor-profile__location-card:hover {
	box-shadow:
		0
		15px
		34px
		rgba(71,52,27,0.085);

	transform:
		translateY(-5px);
}


.doctor-profile__location-icon {
	display: flex;

	width: 50px;
	height: 50px;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background:
		#f0e0ca;

	color:
		var(--doctor-navy);

	font-size: 24px;
}


.doctor-profile__location-card h3 {
	margin:
		3px
		0
		5px;

	color:
		var(--doctor-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 19px;
}


.doctor-profile__location-card p,
.doctor-profile__location-card div > span {
	display: block;

	margin:
		0
		0
		6px;

	color:
		#6b7a88;

	font-size: 9px;

	line-height: 1.55;
}


.doctor-profile__location-card a {
	display: inline-flex;

	margin-top: 7px;

	align-items: center;

	gap: 5px;

	color:
		#a76c18;

	font-size: 9px;
	font-weight: 700;

	text-decoration: none;
}


/* ==================================================
   PHILOSOPHY
================================================== */

.doctor-profile__philosophy-panel {
	display: grid;

	grid-template-columns:
		250px
		minmax(0,1fr);

	align-items: start;

	gap: 30px;
}


.doctor-profile__philosophy-heading {
	display: flex;

	align-items: center;

	gap: 13px;
}


.doctor-profile__philosophy-heading > span {
	display: flex;

	width: 48px;
	height: 48px;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background:
		#faf1e4;

	color:
		var(--doctor-gold);
}


.doctor-profile__philosophy-heading h2 {
	margin: 0;

	color:
		var(--doctor-navy);

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 23px;
}


.doctor-profile__philosophy-panel blockquote {
	position: relative;

	margin: 0;

	padding:
		20px
		22px
		20px
		50px;

	border:
		1px solid
		rgba(179,134,64,0.12);

	border-radius: 12px;

	background:
		#fffdf9;
}


.doctor-profile__philosophy-panel blockquote > span {
	position: absolute;

	top: 10px;
	left: 14px;

	color:
		var(--doctor-gold);

	font-family: Georgia, serif;

	font-size: 46px;

	line-height: 1;
}


.doctor-profile__philosophy-panel blockquote p {
	margin:
		0
		0
		11px;

	color:
		#647585;

	font-size: 10px;

	line-height: 1.8;
}


.doctor-profile__philosophy-panel cite {
	color:
		#344a5e;

	font-size: 9px;
	font-style: normal;
	font-weight: 700;
}


/* ==================================================
   CTA
================================================== */

.doctor-profile__cta {
	position: relative;

	display: grid;

	min-height: 275px;

	padding:
		43px
		48px;

	align-items: center;

	grid-template-columns:
		1.2fr
		0.8fr;

	overflow: hidden;

	border-radius: 22px;

	background:
		linear-gradient(
			125deg,
			#071c36,
			#0a355f 59%,
			#0b2948
		);

	color: #ffffff;

	box-shadow:
		0
		18px
		52px
		rgba(5,24,46,0.18);
}


.doctor-profile__cta-content {
	position: relative;

	z-index: 4;
}


.doctor-profile__cta-content > span {
	color:
		#e2b760;

	font-size: 9px;
	font-weight: 700;

	letter-spacing: 2px;

	text-transform: uppercase;
}


.doctor-profile__cta h2 {
	margin:
		8px
		0
		7px;

	color: #ffffff;

	font-family:
		"Cormorant Garamond",
		Georgia,
		serif;

	font-size: 38px;
	font-weight: 600;
}


.doctor-profile__cta p {
	margin: 0;

	color:
		rgba(255,255,255,0.78);

	font-size: 10px;
}


.doctor-profile__cta-actions {
	margin-top: 22px;
}


.doctor-profile__cta-primary {
	background:
		linear-gradient(
			135deg,
			#e5bc68,
			#c98a30
		);

	color:
		#09213c;
}


.doctor-profile__cta-secondary {
	border:
		1px solid
		rgba(229,188,104,0.58);

	background: transparent;

	color:
		#f0d39b;
}


.doctor-profile__cta-primary:hover,
.doctor-profile__cta-secondary:hover {
	transform:
		translateY(-3px);
}


.doctor-profile__cta-art {
	position: absolute;

	top: 0;
	right: 0;

	width: 39%;
	height: 100%;

	overflow: hidden;

	border-radius:
		60%
		0
		0
		60%;
}


.doctor-profile__cta-art::before {
	position: absolute;

	inset: 0;

	z-index: 2;

	background:
		linear-gradient(
			90deg,
			#0a345d 0%,
			rgba(10,52,93,0.30) 44%,
			transparent 100%
		);

	content: "";
}


.doctor-profile__cta-art img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center top;
}


/* ==================================================
   ENTRANCE ANIMATION
================================================== */

.js
.doctor-profile
.doctor-reveal {
	opacity: 0;

	transform:
		translateY(28px);

	transition:
		opacity
		700ms ease,
		transform
		850ms
		cubic-bezier(
			0.22,
			1,
			0.36,
			1
		);
}


.js
.doctor-profile
.doctor-reveal.is-visible {
	opacity: 1;

	transform:
		translateY(0);
}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 1100px) {

	.doctor-profile__container {
		width:
			calc(100% - 50px);
	}


	.doctor-profile__hero-grid {
		grid-template-columns:
			1fr
			1fr;

		gap: 30px;
	}


	.doctor-profile__hero-frame {
		width: 390px;
		height: 445px;
	}


	.doctor-profile__care-card {
		right: -8px;
	}


	.doctor-profile__overview {
		grid-template-columns:
			340px
			minmax(0,1fr);

		gap: 34px;
	}


	.doctor-profile__stats {
		grid-template-columns:
			repeat(
				2,
				1fr
			);
	}


	.doctor-profile__stat {
		padding:
			16px
			20px;
	}


	.doctor-profile__stat:nth-child(2) {
		border-right: 0;
	}


	.doctor-profile__locations-grid {
		grid-template-columns:
			repeat(
				2,
				1fr
			);
	}

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

	.doctor-profile__container {
		width:
			calc(100% - 30px);
	}


	.doctor-profile__hero-grid {
		display: flex;

		min-height: 0;

		flex-direction: column;

		gap: 20px;
	}


	.doctor-profile__hero-copy {
		padding-bottom: 10px;
	}


	.doctor-profile__hero-copy h1 {
		font-size: 50px;
	}


	.doctor-profile__hero-actions {
		display: grid;

		grid-template-columns: 1fr;
	}


	.doctor-profile__hero-visual {
		min-height: 420px;
	}


	.doctor-profile__hero-frame {
		width:
			min(
				100%,
				355px
			);

		height: 420px;
	}


	.doctor-profile__care-card {
		top: auto;

		right: 0;
		bottom: 26px;

		width: 150px;

		padding: 16px;
	}


	.doctor-profile__care-card p {
		font-size: 14px;
	}


	.doctor-profile__stats {
		grid-template-columns:
			1fr
			1fr;

		padding: 12px;
	}


	.doctor-profile__stat {
		padding:
			15px
			10px;

		border-right: 0;

		border-bottom:
			1px solid
			rgba(178,134,65,0.13);
	}


	.doctor-profile__stat-icon {
		width: 46px;
		height: 46px;

		flex-basis: 46px;
	}


	.doctor-profile__stat strong {
		font-size: 23px;
	}


	.doctor-profile__section-nav-wrap {
		top: 82px;

		padding:
			12px
			15px
			0;
	}


	.doctor-profile__section-nav {
		min-height: 56px;

		padding: 6px;
	}


	.doctor-profile__section-nav a {
		min-height: 42px;

		padding-inline: 14px;
	}


	.doctor-profile__body {
		padding-top: 29px;
	}


	.doctor-profile__overview {
		grid-template-columns: 1fr;

		gap: 27px;
	}


	.doctor-profile__intro-image {
		height: 390px;
	}


	.doctor-profile__overview-content h2 {
		font-size: 36px;
	}


	.doctor-profile__care-benefits {
		grid-template-columns: 1fr;
	}


	.doctor-profile__care-benefit {
		min-height: 0;

		border-right: 0;

		border-bottom:
			1px solid
			var(--doctor-border);
	}


	.doctor-profile__content-panel,
	.doctor-profile__philosophy-panel {
		padding:
			23px
			19px;
	}


	.doctor-profile__education-item {
		grid-template-columns:
			85px
			28px
			minmax(0,1fr);
	}


	.doctor-profile__expertise-grid,
	.doctor-profile__membership-grid,
	.doctor-profile__locations-grid {
		grid-template-columns: 1fr;
	}


	.doctor-profile__publication-item {
		grid-template-columns:
			34px
			44px
			minmax(0,1fr);

		padding:
			14px;
	}


	.doctor-profile__publication-icon {
		width: 42px;
		height: 42px;
	}


	.doctor-profile__philosophy-panel {
		grid-template-columns: 1fr;
	}


	.doctor-profile__cta {
		display: block;

		min-height: 430px;

		padding:
			36px
			24px;
	}


	.doctor-profile__cta h2 {
		font-size: 32px;
	}


	.doctor-profile__cta-art {
		top: auto;
		bottom: 0;

		width: 100%;
		height: 185px;

		border-radius:
			50%
			50%
			0
			0;
	}

}


/* ==================================================
   SMALL MOBILE
================================================== */

@media screen and (max-width: 430px) {

	.doctor-profile__hero-copy h1 {
		font-size: 44px;
	}


	.doctor-profile__stats {
		grid-template-columns: 1fr;
	}


	.doctor-profile__stat {
		border-bottom:
			1px solid
			rgba(178,134,65,0.13);
	}


	.doctor-profile__education-item {
		grid-template-columns:
			1fr;

		padding:
			0
			0
			20px;

		border-bottom:
			1px solid
			var(--doctor-border);
	}


	.doctor-profile__education-marker {
		display: none;
	}


	.doctor-profile__education-period {
		margin-bottom: 6px;
	}


	.doctor-profile__education-copy {
		padding: 0;
	}

}


/* ==================================================
   ACCESSIBILITY
================================================== */

.doctor-profile a:focus-visible,
.doctor-profile button:focus-visible {
	outline:
		3px solid
		#d6aa58;

	outline-offset: 4px;
}


/* ==================================================
   REDUCED MOTION
================================================== */

@media (prefers-reduced-motion: reduce) {

	.doctor-profile *,
	.doctor-profile *::before,
	.doctor-profile *::after {
		transition-duration:
			0.01ms !important;

		animation-duration:
			0.01ms !important;
	}

}