@charset "UTF-8";
	.primary-navigation a[aria-current=page] {
	color:var(--gold);
	position:relative
}
.primary-navigation a[aria-current=page]:after {
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-.65rem;
	height:1px;
	background:var(--gold)
}
.inner-hero {
	height:24rem;
	position:relative;
	display:flex;
	align-items:center;
	overflow:hidden;
	background:#f5f2ee
}
.inner-hero>img {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover
}
.inner-hero:after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,#fff 0%,#fffffff5 37%,#ffffff9e 55%,transparent 78%)
}
.inner-hero>div {
	position:relative;
	z-index:1;
	margin-left:10%;
	width:46%
}
.inner-hero .eyebrow {
	color:var(--gold);
	font-size:1.1rem
}
.inner-hero h1 {
	font-size:3.4rem;
	font-weight:500;
	line-height:1.4;
	margin:.7rem 0
}
.inner-hero>div>p:last-of-type {
	font-size:1.35rem;
	line-height:1.85
}
.breadcrumb {
	width:auto;
	margin:1.5rem 0 0;
	color:#6d7887;
	font-size:.82rem;
	display:flex;
	gap:.65rem
}
.breadcrumb a:hover {
	color:var(--gold)
}
.inner-section {
	width:80%;
	margin:0 auto;
	padding:5rem 0
}
.inner-section+.inner-section {
	border-top:1px solid #dedad4
}
.inner-section h2 {
	font-size:2.4rem;
	font-weight:500;
	line-height:1.55
}
.inner-section h3 {
	font-size:1.4rem;
	line-height:1.6
}
.inner-section p,.inner-section li {
	font-size:1.0rem;
	line-height:2
}
.intro-split {
	display:grid;
	grid-template-columns:.8fr 1.2fr;
	gap:7rem;
	align-items:start
}
.intro-split .eyebrow {
	color:var(--gold);
	margin-bottom:1rem
}
.prose p+p {
	margin-top:1.5rem
}
.philosophy-cards {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1.7rem
}
.philosophy-cards article {
	background:#f8f6f2;
	padding:2.7rem 2.3rem;
	border-top:2px solid var(--gold)
}
.philosophy-card-image {
	display:block;
	width:100%;
	aspect-ratio:16/10;
	object-fit:cover;
	margin-bottom:1.35rem
}
.philosophy-cards span,.info-grid span {
	font:2.8rem Georgia,serif;
	color:#c58b35
}
.philosophy-cards h3 {
	margin:1rem 0
}
.image-message {
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:5rem;
	align-items:center
}
.image-message img {
	width:100%;
	height:29rem;
	object-fit:cover
}
.image-message .eyebrow {
	color:var(--gold)
}
.image-message h2 {
	margin:1rem 0
}
.text-link {
	display:inline-block;
	margin-top:1.5rem;
	font-size:1.05rem;
	border-bottom:1px solid var(--gold);
	padding-bottom:.4rem
}
.text-link span {
	margin-left:1rem
}
.contact-email-link {
	margin-top:.25rem;
	font-size:1rem;
	overflow-wrap:anywhere
}
.centered-copy {
	text-align:center;
	max-width:68rem
}
.centered-copy>p {
	font-size:1.22rem
}
.menu-intro {
	max-width:none
}
.price-intro>p {
	margin-top:1.9rem
}
.menu-intro>p {
	max-width:68rem;
	margin:1.9rem auto 0
}
.menu-intro .category-nav {
	width:100%;
	margin-top:3.5rem;
	padding:0;
	border-top:0
}
.notice {
	background:#f7f3ed;
	border-left:3px solid var(--gold);
	padding:1rem 1.35rem;
	margin:1.5rem 0;
	font-size:.96rem;
	line-height:1.8
}
.category-nav {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1rem;
	padding-top:1rem
}
.category-nav a {
	border:1px solid #d8d1c8;
	padding:1.7rem;
	display:flex;
	align-items:center;
	gap:1.2rem
}
.category-nav a:hover {
	background:#f8f5f0
}
.category-nav strong {
	font:2.5rem Georgia,serif;
	color:var(--gold)
}
.category-nav span {
	font-size:1.15rem;
	font-weight:600
}
.category-nav small {
	display:block;
	font-size:.8rem;
	font-weight:400;
	margin-top:.45rem
}
.treatment {
	display:grid;
	grid-template-columns:5rem 1.3fr .9fr;
	gap:3rem;
	align-items:start;
	position:relative
}
.treatment-number {
	font:4rem Georgia,serif;
	color:#d0a35f
}
.treatment-main>.eyebrow {
	color:var(--gold)
}
.treatment-main h2 {
	margin:.6rem 0 1.5rem
}
.treatment-main h3 {
	margin:2rem 0 .5rem
}
.treatment>img {
	width:100%;
	height:27rem;
	object-fit:cover;
	position:sticky;
	top:2rem
}
.soft-box {
	background:#f7f6f4;
	padding:1.5rem 1.7rem;
	margin:2rem 0
}
.soft-box h3 {
	margin:0 0 .4rem
}
.inline-button {
	display:inline-flex;
	border:1px solid var(--navy);
	padding:1rem 1.6rem;
	margin-top:1.7rem;
	font-size:1rem
}
.inline-button:hover {
	background:var(--navy);
	color:white
}
.price-section {
	max-width:1120px
}
.price-sheet {
	padding:clamp(2rem,5vw,4.5rem);
	background:#fbfaf8;
	border:1px solid #e4ddd3
}
.price-intro {
	text-align:center;
	padding:0 0 2.2rem;
	border-bottom:1px solid #dedad4
}
.price-intro h2 {
	margin:0
}
.price-intro>p {
	max-width:58rem;
	margin:1rem auto 0
}
.price-groups {
	max-width:920px;
	margin:2.4rem auto 0
}
.price-group+.price-group {
	margin-top:2.8rem
}
.price-group h3 {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:1.4rem;
	margin:0 0 1.2rem;
	color:#9f741f;
	font-size:1.8rem;
	font-weight:500;
	letter-spacing:.08em;
	text-align:center
}
.price-group h3::before,.price-group h3::after {
	content:"";
	flex:1 1 6rem;
	max-width:15rem;
	height:1px;
	background:#b78328
}
.price-list {
	margin:0;
	padding:0;
	list-style:none
}
.price-list li {
	display:flex;
	align-items:baseline;
	gap:.75rem;
	padding:.45rem 0;
	font-size:1.22rem;
	line-height:1.65
}
.price-name {
	flex:0 1 auto
}
.price-leader {
	flex:1 1 auto;
	min-width:1rem;
	border-bottom:3px dotted #172b49;
	transform:translateY(-.22em)
}
.price-value {
	flex:0 0 auto;
	min-width:7.5rem;
	text-align:right;
	white-space:nowrap
}
.price-tax-note {
	max-width:920px;
	margin:2rem auto 0;
	padding-top:1rem;
	border-top:1px solid #dedad4;
	color:#596578;
	font-size:.92rem!important
}
.steps {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1.7rem
}
.steps article {
	display:flex;
	flex-direction:column;
	min-height:16rem;
	padding:2.5rem 2.3rem;
	background:#f8f6f2;
	border-top:2px solid var(--gold)
}
.step-heading {
	display:flex;
	align-items:center;
	gap:.85rem;
	margin-bottom:1.2rem
}
.step-heading i {
	font-size:2.75rem;
	color:var(--gold);
	width:3rem;
	text-align:center
}
.steps span {
	font:2.35rem Georgia,serif;
	color:var(--gold)
}
.steps h2 {
	font-size:1.5rem
}
.guide-step-title {
	margin-bottom:12px
}
.belongings {
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:5rem;
	align-items:center
}
.belongings img {
	height:auto;
	width:100%;
	object-fit:contain
}
.belongings .eyebrow,.faq>.eyebrow {
	color:var(--gold)
}
.belongings h2,.faq>h2 {
	margin:.6rem 0 1.5rem
}
.belongings-lead {
	margin-bottom:1rem
}
.belongings ul {
	padding-left:1.3rem
}
.faq {
	max-width:66rem
}
.faq details {
	border-top:1px solid #d8d2ca;
	padding:1.4rem 0
}
.faq details:last-child {
	border-bottom:1px solid #d8d2ca
}
.faq summary {
	font-size:1.13rem;
	font-weight:600;
	cursor:pointer;
	list-style:none;
	display:flex;
	justify-content:space-between
}
.faq summary:after {
	content:"＋";
	color:var(--gold)
}
.faq details[open] summary:after {
	content:"−"
}
.faq details p {
	padding:1rem 2rem 0;
	color:#4f6075
}
.doctor {
	display:grid;
	grid-template-columns:.8fr 1.2fr;
	gap:5rem;
	align-items:center
}
.doctor-placeholder {
	height:34rem;
	background:linear-gradient(150deg,#eee9e2,#fff);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	border:1px solid #ded8cf;
	color:#9c8564
}
.doctor-placeholder span {
	font:1rem Georgia;
	letter-spacing:.2em
}
.doctor-placeholder p {
	text-align:center;
	margin-top:1rem
}
.doctor>div:last-child>.eyebrow {
	color:var(--gold)
}
.doctor h2 {
	margin:.7rem 0 1.3rem
}
.doctor h3 {
	margin-bottom:1.3rem
}
.doctor p+p {
	margin-top:1rem
}
.clinic-gallery .section-heading>p:last-child {
	font-size:1.05rem
}
.gallery-grid {
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:2rem;
	margin-top:2.5rem
}
.gallery-grid figure {
	position:relative;
	overflow:hidden
}
.gallery-grid img {
	display:block;
	width:100%;
	height:23rem;
	object-fit:cover
}
.gallery-grid figcaption {
	position:absolute;
	left:0;
	top:4rem;
	min-width:6rem;
	padding:.5rem .75rem;
	background:var(--navy);
	color:#fff;
	text-align:center;
	font-size:1rem
}
.access-detail {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:6rem;
	align-items:center
}
.map-panel {
	height:28rem;
	background:linear-gradient(135deg,#eeeae5,#faf9f7);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center
}
.map-mark {
	width:10rem;
	height:10rem;
	margin-bottom:1rem
}
.map-mark img {
	display:block;
	width:100%;
	height:100%;
	object-fit:contain;
	mix-blend-mode:multiply
}
.access-detail .eyebrow,.hours-detail>.eyebrow,.reservation-lead .eyebrow,.contact-layout .eyebrow {
	color:var(--gold)
}
.access-detail address {
	font-style:normal;
	font-size:1.15rem;
	line-height:2;
	margin:1.5rem 0
}
.phone.large {
	font-size:2.3rem
}
.hours-detail {
	max-width:58rem
}
.hours-detail table {
	width:100%;
	border-collapse:collapse;
	font-size:1.2rem;
	margin:2rem 0
}
.hours-detail th,.hours-detail td {
	padding:1.3rem;
	border-bottom:1px solid #d8d2ca;
	text-align:left
}
.hours-detail th {
	background:#f5f2ed
}
.reservation-lead {
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:5rem
}
.reservation-lead h2,.contact-layout h2 {
	margin:.7rem 0 1.2rem
}
.disabled-button {
	width:26rem;
	opacity:.55;
	cursor:not-allowed
}
.reservation-phone {
	background:#f7f4ef;
	padding:3rem;
	display:flex;
	flex-direction:column;
	justify-content:center
}
.reservation-phone>p:not(.eyebrow) {
	font-weight:400
}
.reservation-phone small {
	font-size:.9rem;
	line-height:1.8
}
.info-grid {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:2rem
}
.info-grid article {
	border-top:2px solid var(--gold);
	padding:2rem;
	background:#faf9f7
}
.info-grid h3 {
	margin:.8rem 0
}
.page-links {
	display:flex;
	justify-content:center;
	gap:1rem
}
.page-links a {
	border:1px solid var(--navy);
	padding:1rem 2.5rem
}
.contact-layout {
	display:grid;
	grid-template-columns:1.25fr .75fr;
	gap:6rem;
	align-items:start
}
.contact-form {
	display:grid;
	gap:1.5rem;
	margin-top:2rem
}
.contact-form label {
	font-size:1rem;
	font-weight:600
}
.contact-form label>span {
	font-size:.72rem;
	background:var(--gold);
	color:#fff;
	padding:.2rem .45rem;
	margin-left:.5rem
}
.contact-form label>small {
	font-size:.8rem;
	color:#667;
	background:#e8e8e8;
	padding:.2rem .45rem;
	margin-left:.5rem
}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea {
	display:block;
	width:100%;
	margin-top:.5rem;
	border:1px solid #c8c3bd;
	background:#fff;
	padding:.9rem;
	font:1rem var(--serif);
	color:var(--navy)
}
.contact-form .consent {
	font-weight:400
}
.contact-form .consent input {
	width:1.45rem;
	height:1.45rem;
	margin:0 .6rem 0 0;
	vertical-align:-.3rem;
	accent-color:var(--navy)
}
.contact-form .button {
	width:23rem
}
.form-note {
	color:#9b6a20
}
.form-note.is-success {
	color:#24623b
}
.form-note.is-error {
	color:#a52b2b
}
.form-trap {
	position:absolute;
	left:-10000px;
	width:1px;
	height:1px;
	overflow:hidden
}
.contact-form .consent a {
	color:var(--gold-dark, #a96f16);
	text-decoration:underline;
	text-underline-offset:.2em
}
.privacy-policy .privacy-intro {
	margin:0 0 2.5rem;
	font-size:1.1rem
}
.privacy-policy article {
	padding:1.8rem 0;
	border-top:1px solid #dedad4
}
.privacy-policy article h2 {
	font-size:1.45rem;
	margin-bottom:.6rem
}
.privacy-policy article p+p {
	margin-top:.8rem
}
.privacy-policy ul {
	margin:.5rem 0 0;
	padding-left:1.4rem
}
.privacy-policy .privacy-note {
	margin-top:1rem;
	padding:1rem 1.2rem;
	background:#f7f4ef;
	border-left:2px solid var(--gold)
}
.privacy-policy address {
	margin-top:1rem;
	font-style:normal;
	line-height:2
}
.privacy-policy address a {
	color:var(--navy);
	text-decoration:underline;
	text-underline-offset:.2em
}
.privacy-policy .privacy-revised {
	margin-top:1.5rem;
	text-align:right;
	color:#6d7887;
	font-size:.9rem
}
.contact-layout aside {
	background:#f7f4ef;
	padding:2.7rem
}
.contact-layout aside hr {
	border:0;
	border-top:1px solid #d4cec6;
	margin:2.5rem 0
}
.contact-layout aside h3 {
	margin-bottom:.8rem
}
.inner-cta {
	background:linear-gradient(110deg,#09264e,#123b63);
	color:#fff;
	min-height:15rem;
	padding:2.8rem 10%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:4rem
}
.inner-cta h2 {
	font-size:2.0rem;
	font-weight:500;
	margin:.5rem 0
}
.inner-cta p {
	font-size:0.9rem
}
.inner-cta>div:last-child {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:1rem;
	width:39rem
}
.inner-cta .button {
	padding:0 1.5rem
}
.inner-cta .button-outline {
	color:white;
	border-color:white;
	background:transparent
}
.inner-footer {
	border-top:0
}
@media(max-width:760px) {
	.primary-navigation a[aria-current=page]:after {
	display:none
}
.inner-hero {
	height:320px;
	align-items:flex-end
}
.inner-hero>img {
	height:190px;
	top:0
}
.inner-hero:after {
	background:linear-gradient(0deg,#fff 0%,#fff 39%,#ffffffbd 56%,transparent 78%)
}
.inner-hero>div {
	margin:0 22px 25px;
	width:auto
}
.inner-hero .eyebrow {
	font-size:10px
}
.inner-hero h1 {
	font-size:29px;
	margin:4px 0
}
.inner-hero>div>p:last-of-type {
	font-size:13px;
	line-height:1.6
}
.breadcrumb {
	width:auto;
	font-size:11px;
	margin:10px 0 0
}
.inner-section {
	width:calc(100% - 40px);
	padding:42px 0
}
.inner-section h2 {
	font-size:25px
}
.inner-section h3 {
	font-size:17px
}
.inner-section p,.inner-section li {
	font-size:14px;
	line-height:1.9
}
.intro-split,.image-message,.belongings,.doctor,.access-detail,.reservation-lead,.contact-layout {
	grid-template-columns:1fr;
	gap:28px
}
.intro-split br,.image-message br {
	display:none
}
.philosophy-cards,.category-nav,.info-grid {
	grid-template-columns:1fr;
	gap:15px
}
.philosophy-cards article {
	padding:24px
}
.philosophy-cards span,.info-grid span {
	font-size:30px
}
.image-message img {
	height:230px
}
.category-nav {
	padding-top:0
}
.menu-intro,.price-intro {
	padding-top:50px
}
.menu-intro>p,.price-intro>p {
	margin-top:18px
}
.menu-intro .category-nav {
	margin-top:30px
}
.category-nav a {
	padding:18px
}
.category-nav strong {
	font-size:30px
}
.category-nav span {
	font-size:15px
}
.category-nav small {
	font-size:12px
}
.treatment {
	grid-template-columns:45px 1fr;
	gap:12px
}
.treatment-number {
	font-size:32px
}
.treatment-main {
	grid-column:2
}
.treatment>img {
	grid-column:1/-1;
	grid-row:1;
	height:200px;
	position:static;
	margin-bottom:20px
}
.treatment-number {
	grid-row:2
}
.treatment-main {
	grid-row:2
}
.treatment-main h2 {
	margin:5px 0 15px
}
.soft-box {
	padding:18px;
	margin:22px 0
}
.notice {
	font-size:13px
}
.price-table {
	font-size:13px;
	min-width:560px
}
.price-table th,.price-table td {
	padding:15px
}
.steps {
	grid-template-columns:1fr
}
.steps article {
	grid-template-columns:none;
	aspect-ratio:auto;
	padding:24px
}
.steps span {
	font-size:25px
}
.steps h2 {
	font-size:18px
}
.faq summary {
	font-size:15px
}
.doctor-placeholder {
	height:300px
}
.gallery-grid {
	grid-template-columns:1fr;
	gap:12px
}
.gallery-grid img {
	height:220px
}
.gallery-grid figcaption {
	top:10px;
	min-width:4rem;
	padding:5px 8px;
	font-size:10px
}
.gallery-grid figure {
	margin:0
}
.gallery-grid figcaption {
	top:10px;
	min-width:4rem;
	padding:5px 8px;
	font-size:10px
}
.gallery-grid figure {
	margin:0
}
.gallery-grid figcaption {
	top:1.25rem;
	min-width:8.5rem;
	padding:10px 14px;
	font-size:14px
}
.gallery-grid figcaption {
	min-width:8.5rem;
	padding:10px 14px;
	font-size:14px
}
.map-panel {
	height:290px
}
.map-mark {
	width:7rem;
	height:7rem
}
.phone.large {
	font-size:28px
}
.hours-detail table {
	font-size:15px
}
.disabled-button {
	width:100%
}
.reservation-phone {
	padding:25px
}
.page-links {
	flex-direction:column
}
.page-links a {
	text-align:center
}
.contact-layout aside {
	padding:25px
}
.contact-form .button {
	width:100%
}
.inner-cta {
	padding:35px 20px;
	display:block
}
.inner-cta h2 {
	font-size:24px
}
.inner-cta p {
	font-size:13px
}
.inner-cta>div:last-child {
	width:100%;
	grid-template-columns:1fr;
	margin-top:25px
}
.inner-cta .button {
	font-size:14px
}
.inner-footer {
	padding-top:35px
}
.clinic-gallery .gallery-grid figure {
	margin:0
}
.clinic-gallery .gallery-grid figcaption {
	top:10px;
	min-width:4rem;
	padding:5px 8px;
	font-size:10px
}
}.inner-hero:after {
	display:none
}
/* mobile inner-hero overlay layout */
@media(max-width:760px) {
	.inner-hero {
	height:260px;
	align-items:center
}
.inner-hero>img {
	height:100%;
	top:0
}
.inner-hero>div {
	margin:0 22px;
	width:calc(100% - 44px)
}
}

@media(max-width:760px) {
	.price-section {
		width:calc(100% - 28px);
		padding:32px 0
	}
	.price-sheet {
		padding:24px 16px
	}
	.price-intro {
		padding-bottom:18px
	}
	.price-intro h2 {
		font-size:23px
	}
	.price-intro>p {
		font-size:13px
	}
	.price-groups {
		margin-top:24px
	}
	.price-group+.price-group {
		margin-top:26px
	}
	.price-group h3 {
		gap:9px;
		margin-bottom:10px;
		font-size:19px;
		letter-spacing:.03em
	}
	.price-list li {
		gap:7px;
		padding:7px 0;
		font-size:14px;
		line-height:1.55
	}
	.price-name {
		min-width:0;
		overflow-wrap:anywhere
	}
	.price-value {
		min-width:72px
	}
	.price-leader {
		border-bottom-width:2px
	}
	.price-tax-note {
		margin-top:18px;
		font-size:11px!important
	}
}
