/*
Theme Name: messtudios
Theme URI: https://www.messtudios.com
Description: Custom WordPress theme created by Owen Piccirillo - MESstudios.
Version: 100.0
Author: Owen Piccirillo
Author URI: https://www.messtudios.com
*/


/* Fonts
---------------------------------------------------------------------------------*/

@font-face {
	font-family: 'Aleo';
	src: url('fonts/Aleo-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Asiaroma';
	src: url('fonts/Asiaroma-RegularSCEDIT.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Be Vietnam Pro';
	src: url('fonts/BeVietnamPro-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Be Vietnam Pro';
	src: url('fonts/BeVietnamPro-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Be Vietnam Pro';
	src: url('fonts/BeVietnamPro-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Myriad Pro';
	src: url('fonts/MyriadPro-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Playfair Display';
	src: url('fonts/PlayfairDisplay-Italic.woff2') format('woff2');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Space Grotesk';
	src: url('fonts/SpaceGrotesk-VariableFont_wght.woff2') format('woff2');
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Spline Sans';
	src: url('fonts/SplineSans-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Spline Sans';
	src: url('fonts/SplineSans-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Spline Sans';
	src: url('fonts/SplineSans-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}


/* Main and Reset
---------------------------------------------------------------------------------*/

html {
	scroll-behavior: smooth;
}

* {
	margin: 0;
	padding: 0;
	outline: none;
	-webkit-text-size-adjust: 100%;
}

*, *:after, *:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body, html {
	width: 100%;
	min-height: 100%;
	position: relative;
}

body {
	font-family: 'Spline Sans', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #075466;
	background: #fff;
	overflow-x: hidden;
	min-width: 320px;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

ul, li {
	list-style-type: none;
}

img {
	border: 0;
}

a:link, a:visited {
	color: #29af91;
	text-decoration: none;
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	transition: all 300ms ease;
}

a:hover {
	color: #075466;
}

p {
	font-size: 15px;
	line-height: 25px;
	color: #244d56;
	padding-bottom: 20px;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="submit"],
textarea,
select {
	font-family: 'Spline Sans', sans-serif;
	-webkit-appearance: none;
	border-radius: 0;
	outline: none;
}

.clr {
	clear: both;
}

.left {
	float: left;
}

.right {
	float: right;
}

.img-responsive {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: middle;
}

.mobile-show,
.mobile-show-inline {
	display: none !important;
}


/* Header
---------------------------------------------------------------------------------*/

.header-wrapper {
	position: relative;
	width: 100%;
	height: auto;
	background: #fff;
	z-index: 10000;
}

.promo-text {
	width: 100%;
	padding: 14px 25px 8px;
	background: #fff;
	color: #fff;
	font-family: 'Spline Sans', sans-serif;
	font-size: 12px;
	font-weight: 300;
	line-height: 42px;
	letter-spacing: .1px;
}

.promo-center {
	max-width: 1800px;
	min-height: 42px;
	margin: 0 auto;
	padding: 0px 25px;
	position: relative;
	background: #075466;
	border-radius: 30px;
	overflow: hidden;
}

.promo-left {
	width: 25%;
	float: left;
	text-align: left;
}

.promo-middle {
	width: 50%;
	float: left;
	text-align: center;
}

.promo-social {
	width: 25%;
	float: right;
	text-align: right;
}

.promo-text a:link,
.promo-text a:visited {
	color: #fff;
}

.promo-call-label {
	color: #45ba9e !important;
	font-weight: 700 !important;
}

.promo-middle a:link,
.promo-middle a:visited {
	color: #d6e52f !important;
	font-weight: 600;
	text-decoration: underline;
}

.promo-tiktok svg {
	display: inline-block;
	width: 18px;
	height: 18px;
	fill: currentColor;
	vertical-align: -4px;
}

.promo-text a:hover {
	opacity: .7;
}

.promo-social a {
	display: inline-block;
	padding-left: 10px;
	font-size: 14px;
}

.header-bottom {
	position: relative;
	height: 102px;
	background: #fff;
	xborder-bottom: 1px solid #e4e7e5;
}

.header-center {
	max-width: 1540px;
	height: 102px;
	margin: 0 auto;
	padding: 0px 25px;
	position: relative;
}

.logo {
	position: absolute;
	top: 22px;
	left: 50%;
	width: 330px;
	margin-left: -165px;
	padding: 0px;
	text-align: center;
	z-index: 100;
}
.logo img {
	width: 300px;
	height: auto;
}

.logo:hover,
.logo:active {
	top: 22px;
}

.logo a {
	display: inline-block;
	white-space: nowrap;
	color: #075466 !important;
	line-height: 50px;
}

.logo-farah,
.logo-dental {
	font-family: 'Asiaroma', serif;
	font-size: 40px;
	font-weight: 400;
	letter-spacing: -.5px;
}

.logo-family {
	font-family: 'Playfair Display', serif;
	font-size: 27px;
	font-style: italic;
	padding: 0px 4px 0px 5px;
	position: relative;
	top: -2px;
}

.header-navigation {
	display: block;
	float: left;
	width: 42%;
	margin: 0px;
	padding: 0px;
	position: relative;
	top: 29px;
	text-align: left;
}

.header-navigation ul {
	display: inline-block;
	margin: 0px;
	padding: 0px;
}

.header-navigation ul li {
	display: inline-block;
	float: left;
	position: relative;
}

.header-navigation li a:link,
.header-navigation li a:visited {
	display: inline-block;
	margin: 0px 13px 0px 0px;
	padding: 11px 0px 9px;
	position: relative;
	color: #075466;
	font-family: 'Spline Sans', sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 0px;
	text-transform: none;
}

.header-navigation li a:hover,
.header-navigation .current-menu-item > a,
.header-navigation .current_page_item > a,
.header-navigation .current-page-ancestor > a {
	color: #234b5e !important;
}

.header-navigation li a:after {
	display: block;
	position: absolute;
	left: 0px;
	bottom: 2px;
	width: calc(100%);
	height: 1px;
	background: #29af91;
	content: '';
	transform: scaleX(0);
	transform-origin: left center;
	transition: all 250ms ease;
}

.header-navigation li a:hover:after,
.header-navigation .current-menu-item > a:after,
.header-navigation .current_page_item > a:after,
.header-navigation .current-page-ancestor > a:after {
	transform: scaleX(1);
}

.header-navigation > ul > li > ul {
	position: absolute;
	top: 35px;
	left: -28px;
	width: 510px;
	margin: 0px;
	padding: 20px 30px 24px;
	background: #fff;
	border: 0px;
	border-radius: 22px;
	box-shadow: 0px 18px 42px rgba(0, 62, 73, .12);
	-webkit-columns: 2;
	-moz-columns: 2;
	columns: 2;
	-webkit-column-gap: 42px;
	-moz-column-gap: 42px;
	column-gap: 42px;
	display: none;
	z-index: 1000;
}

.header-navigation > ul > li:hover > ul,
.header-navigation > ul > li:focus-within > ul {
	display: block;
}

.header-navigation > ul > li > ul > li {
	display: block;
	float: none;
	width: 100%;
	padding: 0px;
	text-align: left;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}

.header-navigation > ul > li > ul > li > a:link,
.header-navigation > ul > li > ul > li > a:visited {
	display: block;
	width: 100%;
	margin: 0px !important;
	padding: 4px 0px !important;
	background: transparent;
	font-size: 14px;
	font-weight: 400;
	line-height: 19px;
	color: #075466;
}

.header-navigation > ul > li > ul > li > a:hover {
	background: transparent;
	color: #45ba9e !important;
}

.header-navigation > ul > li > ul > li > a:after {
	display: none !important;
}

.header-navigation > ul > li > ul > li.current-menu-item > a:link,
.header-navigation > ul > li > ul > li.current-menu-item > a:visited,
.header-navigation > ul > li > ul > li.current_page_item > a:link,
.header-navigation > ul > li > ul > li.current_page_item > a:visited {
	font-weight: 600;
	color: #45ba9e !important;
}

.header-navigation > ul > li > ul > li.current-menu-item > a:after,
.header-navigation > ul > li > ul > li.current_page_item > a:after {
	display: inline-block !important;
	width: 7px;
	height: 7px;
	margin: 0px 0px 1px 8px;
	position: static;
	background: transparent;
	border-top: 1px solid #45ba9e;
	border-right: 1px solid #45ba9e;
	content: '';
	transform: rotate(45deg);
}


.menu-item-has-children::after {
	content: "+";
	font-family: 'Spline Sans', sans-serif;
	position: relative;
	right: 8px;
	top: 0px;
	font-size: 12px;
	font-weight: 500;
	color: #075466;
}

.header-buttons {
	float: right;
	width: 42%;
	position: relative;
	top: 28px;
	text-align: right;
}

.header-contact-button,
.header-book-button {
	display: inline-block;
	margin-left: 7px;
	padding: 10px 17px;
	border-radius: 25px;
	font-family: 'Spline Sans', sans-serif;
	font-size: 11px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 0px;
	text-transform: none;
}

.header-contact-button:link,
.header-contact-button:visited {
	background: #fff;
	border: 1px solid #075466;
	color: #075466 !important;
}

.header-contact-button:hover {
	background: #075466;
	color: #fff !important;
}

.header-book-button:link,
.header-book-button:visited {
	background: #45ba9e;
	border: 1px solid #45ba9e;
	color: #fff !important;
}

.header-book-button:hover {
	background: #075466;
	border-color: #075466;
	color: #fff !important;
}

.header-buttons-mobile,
.header-mobile-contact {
	display: none;
}


/* Footer
---------------------------------------------------------------------------------*/

.footer-wrapper {
	width: 100%;
	padding-top: 25px;
	background: #fff;
}

.footer-center {
	max-width: 1900px;
	margin: 0 auto;
	padding: 70px 50px 25px;
	background: #1b4458;
	border-radius: 35px 35px 0px 0px;
	color: #fff;
}

.footer-top {
	padding-bottom: 65px;
}

.footer-logo-area {
	width: 34%;
	float: left;
	padding-right: 45px;
}

.footer-contact-area {
	width: 20%;
	float: left;
	padding: 10px 35px 0px 0px;
}

.footer-nav-area {
	width: 13%;
	float: left;
	padding: 4px 25px 0px 0px;
}

.footer-services-area {
	width: 33%;
	float: left;
	padding-top: 4px;
}

.footer-logo {
	display: block;
	width: 100%;
	max-width: 360px;
	height: auto;
}

.footer-logo img,
.footer-logo-area img,
img.footer-logo {
	display: block !important;
	width: 100% !important;
	max-width: 360px !important;
	height: auto !important;
}

.footer-contact-area p {
	padding-bottom: 30px;
	color: #fff;
	font-size: 16px;
	font-weight: 300;
	line-height: 25px;
}

.footer-contact-area a:link,
.footer-contact-area a:visited {
	color: #fff;
}

.footer-contact-area a:hover {
	color: #45ba9e;
}

.footer-hours p {
	padding-bottom: 3px;
	font-size: 15px;
	line-height: 24px;
}

.footer-hours span {
	float: right;
}

.footer-center h4 {
	padding-bottom: 10px;
	font-family: 'Asiaroma', serif;
	font-size: 35px;
	font-weight: 400;
	line-height: normal;
	color: #45ba9e;
}

.footer-nav ul,
.footer-services-area ul {
	margin: 0px;
	padding: 0px;
}

.footer-nav li,
.footer-services-area li {
	padding-bottom: 4px;
	font-size: 14px;
	font-weight: 300;
	line-height: 20px;
}

.footer-nav li a:link,
.footer-nav li a:visited,
.footer-services-area li a:link,
.footer-services-area li a:visited {
	color: #fff;
}

.footer-nav li a:hover,
.footer-services-area li a:hover {
	color: #45ba9e;
}

.footer-services-left {
	width: 100%;
	float: none;
	padding-right: 0px;
}

.footer-services-left ul {
	-webkit-columns: 2;
	-moz-columns: 2;
	columns: 2;
	-webkit-column-gap: 35px;
	-moz-column-gap: 35px;
	column-gap: 35px;
}

.footer-services-left li {
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}

.footer-services-right {
	display: none;
}

.footer-bottom {
	padding: 23px 0px 0px;
	border-top: 1px solid rgba(255, 255, 255, .75);
}

.footer-legal {
	float: left;
}

.footer-legal ul {
	display: inline-block;
	margin: 0px;
	padding: 0px;
}

.footer-legal li {
	display: inline-block;
	padding-right: 15px;
	font-size: 11px;
	line-height: 20px;
}

.footer-legal li a:link,
.footer-legal li a:visited {
	color: #fff;
	text-decoration: underline;
}

.footer-legal li a:hover {
	color: #45ba9e;
}

.footer-copyright {
	float: left;
	padding-top: 2px;
	color: #fff;
	font-size: 11px;
	font-weight: 300;
	line-height: 20px;
}


/* Homepage
---------------------------------------------------------------------------------*/

.home-wrapper {
	width: 100%;
	position: relative;
	background: #fff;
}

.home-content-center {
	width: 100%;
	max-width: 1800px;
	margin: 0 auto;
	padding-left: 35px;
	padding-right: 35px;
	position: relative;
}

.home-content-small {
	max-width: 1400px;
}

.home-content-xsmall {
	max-width: 900px;
}

.home-emergency-tab {
	position: fixed;
	top: 300px;
	right: 0px;
	z-index: 9000;
	padding: 18px 10px;
	background: #d8df38;
	border-radius: 0px 18px 18px 0px;
	color: #075466 !important;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .3px;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	box-shadow: 0px 8px 20px rgba(0, 55, 69, .12);
}

.home-emergency-tab span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin-bottom: 8px;
	background: #075466;
	border-radius: 100%;
	color: #fff;
	font-size: 17px;
	line-height: 22px;
	writing-mode: horizontal-tb;
	transform: rotate(180deg);
}

.home-emergency-tab:hover {
	background: #45ba9e;
	color: #fff !important;
}


/* Emergency Lightbox
---------------------------------------------------------------------------------*/

.emergency-lightbox {
	display: none;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 105px 30px 55px;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 20000;
	overflow-y: auto;
}

.emergency-lightbox.open {
	display: flex;
}

.emergency-lightbox-overlay {
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	background: rgba(251, 244, 234, .93);
}

.emergency-lightbox-box {
	width: 100%;
	max-width: 920px;
	min-height: 480px;
	padding: 82px 85px 60px;
	position: relative;
	z-index: 2;
	background: #fff;
	border-radius: 42px;
	box-shadow: 0px 30px 80px rgba(0, 54, 66, .12);
	text-align: center;
}

.emergency-lightbox-close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0px;
	position: absolute;
	top: 25px;
	right: 25px;
	z-index: 20;
	background: #fff;
	border: 1px solid #dce5e7;
	border-radius: 100%;
	color: #075466;
	font-family: 'Spline Sans', sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 38px;
	cursor: pointer;
	transition: all 300ms ease;
}

.emergency-lightbox-close:hover {
	background: #075466;
	border-color: #075466;
	color: #fff;
}

.emergency-lightbox-logo,
.emergency-lightbox-seal {
	display: block;
	width: 170px;
	height: 170px;
	position: absolute;
	top: -78px;
	left: 42px;
	z-index: 10;
	background: transparent;
	border: 0px;
	border-radius: 0px;
	box-shadow: none;
}

.emergency-lightbox-logo img,
.emergency-lightbox-seal img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.emergency-lightbox-logo:before,
.emergency-lightbox-logo:after,
.emergency-lightbox-seal:before,
.emergency-lightbox-seal:after {
	display: none;
	content: none;
}

.emergency-lightbox-box .home-small-title {
	padding: 0px 0px 25px;
	font-size: 16px;
	text-align: center;
}

.emergency-lightbox-title {
	max-width: 720px;
	margin: 0 auto;
	padding: 0px 0px 28px;
	font-family: 'Asiaroma', serif;
	font-size: 64px;
	font-weight: 400;
	line-height: .95;
	letter-spacing: -1px;
	color: #075466;
}

.emergency-lightbox-box > p {
	max-width: 700px;
	margin: 0 auto;
	padding-bottom: 32px;
	font-size: 16px;
	line-height: 23px;
	color: #075466;
}

.emergency-lightbox-phone {
	display: inline-block;
	min-width: 195px;
	font-size: 17px;
}

body.emergency-lightbox-opened {
	overflow: hidden;
}

.home-hero-wrapper {
	padding: 105px 0px 80px;
	text-align: center;
}

.home-hero-content {
	max-width: 1220px;
	margin: 0 auto;
}

.home-hero-content h1,
.home-section-heading h2,
.home-philosophy-left h2,
.home-new-patient-content h2,
.home-final-content h2 {
	font-family: 'Asiaroma', serif;
	font-weight: 400;
	color: #075466;
}

.home-hero-content h1 {
	font-size: 72px;
	line-height: .98;
	letter-spacing: -1.5px;
	padding-bottom: 24px;
}

.home-hero-content p {
	max-width: 650px;
	margin: 0 auto;
	padding-bottom: 28px;
	font-size: 17px;
	line-height: 25px;
	color: #075466;
}

.home-buttons {
	text-align: center;
}

.home-buttons-left {
	text-align: left;
}

.home-button-green,
.home-button-blue {
	display: inline-block;
	margin: 3px 5px;
	padding: 12px 22px;
	border-radius: 30px;
	font-family: 'Spline Sans', sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: normal;
	text-align: center;
	box-shadow: 0px 4px 10px rgba(0, 77, 92, .05);
}

.home-button-green:link,
.home-button-green:visited {
	background: #45ba9e;
	border: 1px solid #45ba9e;
	color: #fff !important;
}

.home-button-blue:link,
.home-button-blue:visited {
	background: #dceff3;
	border: 1px solid #dceff3;
	color: #075466 !important;
}

.home-button-green:hover,
.home-button-blue:hover {
	background: #075466;
	border-color: #075466;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0px 10px 20px rgba(0, 77, 92, .15);
}

.home-legacy-wrapper {
	padding: 0px 0px 60px;
}

.home-legacy-grid {
	display: grid;
	grid-template-columns: 1fr 1fr .95fr;
	gap: 28px;
	align-items: stretch;
}

.home-legacy-image,
.home-legacy-card {
	min-height: 360px;
	position: relative;
	border-radius: 24px;
	overflow: hidden;
}
.home-legacy-image,
.home-legacy-info {
	height: 430px;
	overflow: hidden;
}

.home-legacy-image img {
	width: 100%;
	height: 100%;
	min-height: 360px;
	display: block;
	object-fit: cover;
	transition: transform 500ms ease;
}

.home-legacy-image:hover img {
	transform: scale(1.04);
}

.home-legacy-card {
	padding: 45px 42px;
	background: #fbf3e9;
}

.home-legacy-card h3 {
	padding-bottom: 20px;
	font-size: 25px;
	font-weight: 600;
	line-height: 31px;
	color: #075466;
}

.home-legacy-card > p {
	padding-bottom: 30px;
	font-size: 14px;
	line-height: 22px;
}

.home-rating-card {
	padding: 20px 22px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0px 12px 30px rgba(0, 54, 66, .08);
}

.home-stars {
	padding-bottom: 7px;
	color: #d8df38;
	font-size: 18px;
	letter-spacing: 2px;
}

.home-rating-card strong,
.home-rating-card small {
	display: block;
}

.home-rating-card strong {
	font-size: 13px;
	color: #075466;
}

.home-rating-card small {
	padding-top: 4px;
	font-size: 11px;
	line-height: 16px;
	color: #5d777d;
}

.home-round-seal {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 72px;
	height: 72px;
	z-index: 10;
	border: 1px solid #075466;
	border-radius: 100%;
	background: rgba(255,255,255,.88);
	box-shadow: 0px 5px 20px rgba(0, 54, 66, .08);
	text-align: center;
}

.home-round-seal:before {
	content: "WORCESTER MA • ESTD 1986";
	position: absolute;
	top: 7px;
	left: 5px;
	right: 5px;
	font-size: 6px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 8px;
	color: #075466;
}

.home-round-seal span {
	display: block;
	padding-top: 25px;
	font-family: 'Playfair Display', serif;
	font-size: 24px;
	font-style: italic;
	color: #075466;
}

.home-philosophy-wrapper {
	padding: 35px 0px 120px;
}

.home-philosophy-left {
	width: 42%;
	float: left;
	padding: 15px 65px 0px 0px;
}

.home-philosophy-right {
	width: 58%;
	float: right;
}

.home-small-title {
	padding-bottom: 17px;
	xfont-size: 11px;
	font-weight: 600;
	letter-spacing: .3px;
	color: #075466;
}

.home-small-title span {
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 7px;
	border-radius: 100%;
	background: #d8df38;
}

.home-philosophy-left h2,
.home-new-patient-content h2,
.home-final-content h2 {
	font-size: 95px;
	line-height: .96;
	letter-spacing: -1px;
	padding-bottom: 30px;
}
.home-philosophy-left h2 {
	font-size: 77px;
	
}
.home-final-content h2 {
	font-size: 78px;
	line-height: .96;
	letter-spacing: -1px;
	padding-bottom: 30px;
}

.home-philosophy-right > p {
	font-size: 15px;
	line-height: 25px;
}

.home-stat-wrapper {
	margin-top: 20px;
	padding: 12px 10px;
	background: #fff;
	border-radius: 15px;
	box-shadow: 0px 12px 32px rgba(0, 54, 66, .10);
}

.home-stat {
	width: 33.333%;
	float: left;
	padding: 10px 12px;
	text-align: center;
	border-right: 1px solid #dfe8e9;
}

.home-stat:last-of-type {
	border-right: 0px;
}

.home-stat strong,
.home-stat span {
	display: block;
}

.home-stat strong {
	font-family: 'Asiaroma', serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 34px;
	color: #075466;
}

.home-stat span {
	padding-top: 4px;
	font-size: 10px;
	color: #70898e;
}

.home-services-wrapper {
	padding: 30px 0px 125px;
}

.home-section-heading {
	max-width: 950px;
	margin: 0 auto;
	padding-bottom: 55px;
	text-align: center;
}

.home-section-heading h2 {
	font-size: 77px;
	line-height: .98;
	letter-spacing: -1px;
	padding-bottom: 5px;
}

.home-section-heading p {
	max-width: 580px;
	margin: 0 auto;
	padding-bottom: 25px;
	font-size: 15px;
	line-height: 24px;
}

.home-services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.home-service-card {
	min-height: 250px;
	padding: 34px 32px 28px;
	position: relative;
	top: 0px;
	z-index: 1;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0px 12px 32px rgba(0, 54, 66, .09);
	overflow: hidden;
	transition: top 300ms ease, box-shadow 300ms ease, background 300ms ease;
}

.home-service-card:hover {
	top: -15px;
	z-index: 10;
	box-shadow: 0px 25px 45px rgba(0, 54, 66, .15);
	background: #fbfdfd;
}

.home-service-card:after {
	content: "";
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 0px;
	width: 100%;
	height: 5px;
	background: #d8df38;
	border-radius: 0px 0px 16px 16px;
	opacity: 0;
	transition: opacity 300ms ease;
}

.home-service-card:hover:after {
	opacity: 1;
}

.home-service-card h3 {
	padding-bottom: 14px;
	font-size: 19px;
	font-weight: 600;
	color: #075466;
}

.home-service-card p {
	padding-bottom: 28px;
	font-size: 13px;
	line-height: 20px;
}

.home-service-card a {
	position: absolute;
	left: 32px;
	bottom: 25px;
	z-index: 2;
	font-size: 12px;
	font-weight: 600;
	color: #075466 !important;
}

.home-service-card a span,
.home-team-card a span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin-right: 8px;
	position: relative;
	background: #dceff3;
	color: #075466;
	font-size: 0px;
	transition: all 300ms ease;
}

.home-service-card a span:before,
.home-team-card a span:before,
.inner-arrow:before {
	width: 8px;
	height: 8px;
	position: absolute;
	top: 6px;
	right: 6px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	content: '';
}

.home-service-card a span:after,
.home-team-card a span:after,
.inner-arrow:after {
	width: 11px;
	height: 1.5px;
	position: absolute;
	top: 14px;
	left: 7px;
	background: currentColor;
	content: '';
	transform: rotate(-45deg);
	transform-origin: left center;
}

.home-service-card:hover a span,
.home-team-card:hover a span {
	background: #45ba9e;
	color: #fff;
}
.home-review-wrapper {
	padding: 70px 25px;
}

.home-review-wrapper .home-content-center {
	display: flex;
	gap: 18px;
	max-width: 1400px;
	margin: 0 auto;
}

.home-review-image,
.home-review-content {
	width: calc(50% - 9px);
	height: 540px;
	min-width: 0px;
}

.home-review-image {
	overflow: hidden;
	border-radius: 20px;
}

.home-review-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-review-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 45px 55px;
	position: relative;
	overflow: hidden;
	background: #fbf4ea;
	border-radius: 20px;
}

.home-review-content .home-small-title {
	display: block;
	width: 100%;
	flex: 0 0 auto;
}

.home-review-slider {
	display: block;
	width: 100%;
	height: 225px;
	min-width: 0px;
	position: relative;
	overflow: hidden;
	flex: 0 0 auto;
}

.home-review-slide,
.home-review-slide.active {
	display: block;
	width: 100% !important;
	height: 100%;
	max-width: none !important;
	margin: 0px !important;
	padding: 0px !important;
	position: absolute !important;
	top: 0px;
	left: 0px;
	float: none !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 300ms ease, visibility 300ms ease;
}

.home-review-slide.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.home-review-slide blockquote,
.home-review-content blockquote {
	display: block;
	width: 100% !important;
	max-width: 520px;
	margin: 0px !important;
	padding: 25px 0px 30px;
	position: static !important;
	float: none !important;
	font-family: 'Playfair Display', serif;
	font-size: 29px;
	font-weight: 400;
	font-style: italic;
	line-height: 37px;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	color: #075466;
}

.home-review-slide p {
	display: block;
	width: 100%;
	margin: 0px;
	padding-bottom: 15px;
	font-size: 13px;
	font-weight: 500;
	color: #075466;
}

.home-review-arrows {
	display: block;
	width: 100%;
	margin: 0px;
	padding-top: 5px;
	position: static !important;
	float: none !important;
	flex: 0 0 auto;
}

.home-review-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin-right: 7px;
	background: #45ba9e;
	color: #fff !important;
	font-size: 17px;
}

.home-review-arrow-dark {
	background: #075466;
}

.home-review-arrow:hover {
	opacity: .75;
}

.home-difference-wrapper {
	padding: 10px 0px 120px;
}

.home-difference-wrapper .home-section-heading {
	padding-bottom: 35px;
}

.home-difference-list {
	max-width: 770px;
	margin: 0 auto;
}

.home-difference-item {
	margin-bottom: 14px;
	background: #fff;
	border-radius: 35px;
	box-shadow: 0px 10px 28px rgba(0, 54, 66, .10);
	overflow: hidden;
}

.home-difference-title {
	display: flex;
	align-items: center;
	min-height: 64px;
	padding: 0px 22px;
	cursor: pointer;
	transition: background 300ms ease;
}

.home-difference-title:hover {
	background: #f8fbfb;
}

.home-difference-title strong {
	width: 45px;
	font-size: 15px;
	color: #075466;
}

.home-difference-title span {
	flex: 1;
	font-size: 15px;
	font-weight: 600;
	color: #075466;
}

.home-difference-title i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	position: relative;
	background: #dceff3;
	color: #075466;
	font-size: 0px;
	font-style: normal;
}

.home-difference-title i:before {
	width: 8px;
	height: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	content: '';
	transform: rotate(45deg);
	transition: transform 300ms ease;
}

.home-difference-item.open .home-difference-title i {
	background: #45ba9e;
	color: #fff;
}

.home-difference-item.open .home-difference-title i:before {
	transform: rotate(225deg);
}

.home-difference-content {
	display: none;
	padding: 0px 65px 18px 67px;
}

.home-difference-item.open .home-difference-content {
	display: block;
}

.home-difference-content p {
	padding-bottom: 0px;
	font-size: 16px;
	line-height: 24px;
}

.home-financing-wrapper {
	padding: 0px 0px 95px;
}

.home-financing-box {
	padding: 26px 30px;
	background: #fbf3e9;
	border-radius: 16px;
	display: flex;
	align-items: center;
}

.home-financing-box > strong {
	width: 24%;
	font-size: 19px;
	line-height: 24px;
	color: #075466;
}

.home-financing-box > p {
	width: 53%;
	padding: 0px 30px;
	xfont-size: 12px;
	line-height: 22px;
}

.home-financing-box > a {
	width: 23%;
	margin: 0px;
}

.home-new-patient-wrapper {
	padding: 10px 0px 125px;
}

.home-new-patient-content {
	width: 47%;
	float: left;
	padding: 30px 65px 0px 25px;
}

.home-new-patient-content p {
	max-width: 570px;
	font-size: 14px;
	line-height: 23px;
}

.home-new-patient-images {
	width: 53%;
	float: right;
}

.home-new-patient-image-large {
	width: 62%;
	float: left;
	padding-right: 18px;
}

.home-new-patient-image-small {
	width: 38%;
	float: right;
}

.home-new-patient-image-large img,
.home-new-patient-image-small img {
	width: 100%;
	height: 510px;
	display: block;
	object-fit: cover;
	border-radius: 24px;
	transition: transform 400ms ease, box-shadow 400ms ease;
}

.home-new-patient-image-large:hover img,
.home-new-patient-image-small:hover img {
	transform: translateY(-6px);
	box-shadow: 0px 18px 35px rgba(0, 54, 66, .15);
}

.home-team-wrapper {
	padding: 15px 0px 125px;
	overflow: hidden;
}

.home-team-wrapper .home-section-heading {
	max-width: 1050px;
	padding-bottom: 45px;
}

.home-team-slider {
	width: 100%;
	overflow: hidden;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}

.home-team-track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 48px) / 3.25);
	gap: 24px;
	width: auto;
	padding: 0px 0px 15px;
}

.home-team-card {
	width: auto;
	min-width: 0px;
}

.home-team-image {
	width: 100%;
	height: 420px;
	margin-bottom: 17px;
	border-radius: 20px;
	overflow: hidden;
	background: #dceff3;
}

.home-team-image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform 500ms ease;
}

.home-team-card:hover .home-team-image img {
	transform: scale(1.04);
}
.home-team-card > a {
	display: block;
	xfont-size: 12px;
	font-weight: 600;
	color: #075466 !important;
}

.home-team-card small {
	display: block;
	padding: 5px 0px 0px 34px;
	xfont-size: 10px;
	color: #6d878d;
}

.home-team-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 28px;
}

.home-team-controls button {
	width: 34px;
	height: 34px;
	border: 0px;
	background: transparent;
	color: #075466;
	font-size: 28px;
	line-height: 34px;
	cursor: pointer;
}

.home-team-progress {
	width: 115px;
	height: 3px;
	margin: 0px 8px;
	background: #dceff3;
	border-radius: 10px;
	overflow: hidden;
}

.home-team-progress span {
	display: block;
	width: 35%;
	height: 100%;
	background: #075466;
	border-radius: 10px;
	transition: width 300ms ease, margin-left 300ms ease;
}

.home-final-wrapper {
	padding: 15px 0px 50px;
}

.home-final-box {
	padding: 45px;
	background: #fbf3e9;
	border-radius: 28px;
}

.home-final-image {
	width: 42%;
	float: left;
	position: relative;
	border-radius: 22px;
	overflow: hidden;
}

.home-final-image > img {
	width: 100%;
	height: auto;
	display: block;  
}

 

.home-round-seal-final {
	top: 18px;
	left: 18px;
}

.home-final-content {
	width: 58%;
	float: right;
	padding: 35px 25px 0px 65px;
}

.home-final-content p {
	max-width: 560px;
	xfont-size: 14px;
	line-height: 23px;
}

.home-final-details {
	padding-top: 22px;
}

.home-final-details p {
	padding-bottom: 6px;
	xfont-size: 12px;
	line-height: 19px;
}

.home-final-details a {
	font-weight: 600;
	color: #075466 !important;
}

.home-editor-content {
	padding: 50px 0px;
}

.home-editor-content img {
	max-width: 100%;
	height: auto;
}


/* Internal Pages
---------------------------------------------------------------------------------*/

.inner-wrapper {
	width: 100%;
	position: relative;
	background: #fff;
}

.inner-content-center {
	width: 100%;
	max-width: 1800px;
	margin: 0 auto;
	padding-left: 35px;
	padding-right: 35px;
	position: relative;
}

.inner-content-small {
	max-width: 1400px;
}

.inner-content-xsmall {
	max-width: 930px;
}

.inner-section {
	padding: 55px 0px 105px;
}

.inner-section-tight {
	padding-top: 20px;
}

.inner-section-cream {
	background: #fbf4ea;
}

.inner-kicker {
	padding-bottom: 18px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .2px;
	color: #075466;
}

.inner-kicker:before {
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 8px;
	border-radius: 100%;
	background: #d8df38;
	content: '';
}

.inner-display-title,
.inner-section-heading h2,
.inner-split-copy h2,
.inner-card-title,
.blog-title,
.single-blog-title {
	font-family: 'Asiaroma', serif;
	font-weight: 400;
	color: #075466;
}

.inner-display-title {
	padding-bottom: 25px;
	font-size: 68px;
	line-height: .96;
	letter-spacing: -1px;
}

.inner-lead {
	max-width: 620px;
	padding-bottom: 26px;
	font-size: 15px;
	line-height: 24px;
	color: #075466;
}

.inner-hero-wrapper {
	padding: 20px 0px 75px;
}

.inner-hero-box {
	display: flex;
	align-items: stretch;
	min-height: 420px;
	padding: 30px;
	background: #fbf4ea;
	border-radius: 28px;
}

.inner-hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 48%;
	padding: 35px 55px 35px 20px;
}

.inner-hero-image {
	width: 52%;
	min-height: 360px;
	position: relative;
	overflow: hidden;
	border-radius: 22px;
}

.inner-hero-image img {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	object-fit: cover;
	transition: transform 500ms ease;
}

.inner-hero-image:hover img {
	transform: scale(1.03);
}

.inner-hero-images {
	display: grid;
	grid-template-columns: .72fr 1.28fr;
	gap: 18px;
	width: 52%;
}

.inner-hero-images .inner-hero-image {
	width: 100%;
}

.inner-buttons a:first-child {
	margin-left: 0px;
}

.inner-stat-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0px;
	margin-top: -28px;
	position: relative;
	z-index: 5;
	background: #fff;
	border-radius: 0px 0px 22px 22px;
	box-shadow: 0px 15px 35px rgba(0, 54, 66, .07);
}

.inner-stat-item {
	padding: 23px 28px;
	border-right: 1px solid #e3ecee;
}

.inner-stat-item:last-child {
	border-right: 0px;
}

.inner-stat-item strong,
.inner-stat-item span {
	display: block;
}

.inner-stat-item strong {
	padding-bottom: 4px;
	font-family: 'Playfair Display', serif;
	font-size: 18px;
	font-style: italic;
	font-weight: 400;
	color: #075466;
}

.inner-stat-item span {
	font-size: 11px;
	line-height: 17px;
	color: #5e777d;
}

.inner-section-heading {
	max-width: 920px;
	margin: 0 auto;
	padding-bottom: 50px;
	text-align: center;
}

.inner-section-heading h2 {
	padding-bottom: 15px;
	font-size: 68px;
	line-height: .96;
	letter-spacing: -1px;
}

.inner-section-heading p {
	max-width: 660px;
	margin: 0 auto;
	font-size: 14px;
	line-height: 23px;
}

.inner-card-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.inner-card-grid-four {
	grid-template-columns: repeat(4, 1fr);
}

.inner-card {
	min-height: 250px;
	padding: 34px 32px 28px;
	position: relative;
	top: 0px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0px 12px 32px rgba(0, 54, 66, .09);
	transition: top 300ms ease, box-shadow 300ms ease, background 300ms ease;
}

.inner-card:hover {
	top: -10px;
	box-shadow: 0px 24px 44px rgba(0, 54, 66, .14);
	background: #fbfdfd;
}

.inner-card:after {
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 0px;
	height: 5px;
	background: #d8df38;
	border-radius: 0px 0px 16px 16px;
	content: '';
	opacity: 0;
	transition: opacity 300ms ease;
}

.inner-card:hover:after,
.inner-card-featured:after {
	opacity: 1;
}

.inner-card h3 {
	padding-bottom: 14px;
	font-size: 19px;
	font-weight: 500;
	line-height: 24px;
	color: #075466;
}

.inner-card p {
	padding-bottom: 38px;
	font-size: 13px;
	line-height: 20px;
}

.inner-card-link {
	position: absolute;
	left: 32px;
	bottom: 25px;
	z-index: 2;
	font-size: 12px;
	font-weight: 600;
	color: #075466 !important;
}

.inner-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin-right: 8px;
	position: relative;
	background: #dceff3;
	color: #075466;
	font-size: 0px;
	transition: all 300ms ease;
}

.inner-card:hover .inner-arrow,
.inner-action-card:hover .inner-arrow {
	background: #45ba9e;
	color: #fff;
}

.inner-split {
	display: flex;
	align-items: center;
	gap: 55px;
}

.inner-split-reverse {
	flex-direction: row-reverse;
}

.inner-split-image {
	width: 46%;
	overflow: hidden;
	border-radius: 24px;
}

.inner-split-image img {
	display: block;
	width: 100%;
	height: 470px;
	object-fit: cover;
	transition: transform 500ms ease;
}

.inner-split-image:hover img {
	transform: scale(1.03);
}

.inner-split-copy {
	width: 54%;
}

.inner-split-copy h2 {
	padding-bottom: 23px;
	font-size: 61px;
	line-height: .96;
	letter-spacing: -1px;
}

.inner-split-copy h3 {
	padding-bottom: 16px;
	font-size: 22px;
	font-weight: 500;
	line-height: 28px;
	color: #075466;
}

.inner-split-copy p {
	font-size: 14px;
	line-height: 23px;
}

.inner-check-list li {
	padding: 10px 0px 10px 30px;
	position: relative;
	border-bottom: 1px solid rgba(7, 84, 102, .18);
	font-size: 13px;
	line-height: 20px;
	color: #244d56;
}

.inner-check-list li:before {
	position: absolute;
	top: 10px;
	left: 0px;
	color: #45ba9e;
	font-weight: 600;
	content: '✓';
}

.inner-colored-box {
	padding: 55px;
	background: #075466;
	border-radius: 24px;
	color: #fff;
}

.inner-colored-box h2,
.inner-colored-box h3,
.inner-colored-box p,
.inner-colored-box li,
.inner-colored-box a {
	color: #fff;
}

.inner-colored-box .inner-kicker {
	color: #fff;
}

.inner-number-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0px 35px;
}

.inner-number-item {
	padding: 22px 0px;
	border-bottom: 1px solid #45ba9e;
}

.inner-number-item strong {
	display: block;
	padding-bottom: 8px;
	font-size: 11px;
	color: #45ba9e;
}

.inner-number-item h3 {
	padding-bottom: 7px;
	font-size: 16px;
	font-weight: 500;
	color: #075466;
}

.inner-number-item p {
	padding-bottom: 0px;
	font-size: 12px;
	line-height: 19px;
}

.inner-value-slider {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 72px) / 4.35);
	gap: 18px;
	overflow-x: auto;
	padding: 5px 4px 24px;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}

.inner-value-card {
	min-height: 220px;
	padding: 27px 24px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0px 12px 30px rgba(0, 54, 66, .08);
}

.inner-value-card span {
	display: block;
	padding-bottom: 30px;
	font-size: 11px;
	font-weight: 600;
	color: #45ba9e;
}

.inner-value-card h3 {
	padding-bottom: 12px;
	font-size: 17px;
	font-weight: 500;
	line-height: 22px;
	color: #075466;
}

.inner-value-card p {
	padding-bottom: 0px;
	font-size: 12px;
	line-height: 19px;
}

.inner-testimonial-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.inner-testimonial-card {
	min-height: 250px;
	padding: 35px;
	background: #fbf4ea;
	border-radius: 18px;
}

.inner-testimonial-stars {
	padding-bottom: 20px;
	color: #45ba9e;
	letter-spacing: 2px;
}

.inner-testimonial-card blockquote {
	padding-bottom: 25px;
	font-family: 'Playfair Display', serif;
	font-size: 20px;
	font-style: italic;
	line-height: 28px;
	color: #075466;
}

.inner-testimonial-card strong {
	font-size: 11px;
	color: #075466;
}

.inner-faq-list {
	max-width: 850px;
	margin: 0 auto;
}

.inner-faq-item {
	margin-bottom: 13px;
	background: #fff;
	border-radius: 30px;
	box-shadow: 0px 10px 28px rgba(0, 54, 66, .10);
	overflow: hidden;
}

.inner-faq-title {
	display: flex;
	align-items: center;
	min-height: 61px;
	padding: 0px 19px 0px 24px;
	cursor: pointer;
}

.inner-faq-title span {
	flex: 1;
	xfont-size: 13px;
	font-weight: 500;
	color: #075466;
}

.inner-faq-title i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	position: relative;
	background: #dceff3;
	color: #075466;
	font-size: 0px;
	font-style: normal;
}

.inner-faq-title i:before {
	width: 8px;
	height: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	content: '';
	transform: rotate(45deg);
	transition: transform 300ms ease;
}

.inner-faq-item.open .inner-faq-title i {
	background: #45ba9e;
	color: #fff;
}

.inner-faq-item.open .inner-faq-title i:before {
	transform: rotate(225deg);
}

.inner-faq-content {
	display: none;
	padding: 0px 65px 20px 24px;
}

.inner-faq-item.open .inner-faq-content {
	display: block;
}

.inner-faq-content p {
	padding-bottom: 0px;
	font-size: 13px;
	line-height: 21px;
}

.inner-financing-band {
	display: flex;
	align-items: center;
	margin-bottom: 85px;
	padding: 25px 32px;
	background: #fbf3e9;
	border-radius: 18px;
}

.inner-financing-band strong {
	width: 25%;
	font-size: 17px;
	line-height: 21px;
	color: #075466;
}

.inner-financing-band p {
	width: 52%;
	padding: 0px 30px;
	font-size: 12px;
	line-height: 19px;
	color: #075466;
}

.inner-financing-band a {
	width: 23%;
	margin: 0px;
	background: #075466 !important;
	border-color: #075466 !important;
}

.inner-action-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.inner-action-card {
	overflow: hidden;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0px 12px 30px rgba(0, 54, 66, .09);
}

.inner-action-card img {
	display: block;
	width: 100%;
	height: 310px;
	object-fit: cover;
	transition: transform 500ms ease;
}

.inner-action-card:hover img {
	transform: scale(1.03);
}

.inner-action-card-content {
	padding: 18px 20px 22px;
}

.inner-action-card-content a {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #075466 !important;
}

.inner-action-card-content small {
	display: block;
	padding: 3px 0px 0px 36px;
	font-size: 11px;
	color: #607a80;
}

.inner-form-layout {
	display: grid;
	grid-template-columns: 1.08fr .92fr;
	gap: 30px;
	align-items: start;
}

.inner-form-box {
	min-height: 650px;
	padding: 42px;
	background: #fff;
	border-radius: 22px;
	box-shadow: 0px 15px 38px rgba(0, 54, 66, .08);
}

.inner-form-box h2 {
	padding-bottom: 12px;
	font-family: 'Asiaroma', serif;
	font-size: 52px;
	line-height: .98;
	color: #075466;
}

.inner-form-box .gform_wrapper {
	margin-top: 20px;
}

.inner-side-stack > div {
	margin-bottom: 25px;
}

.inner-step-list {
	padding-top: 20px;
}

.inner-step-item {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 12px;
	padding: 18px 0px;
	border-bottom: 1px solid rgba(255, 255, 255, .35);
}

.inner-step-item:last-child {
	border-bottom: 0px;
}

.inner-step-item strong {
	font-size: 11px;
	color: #d8df38;
}

.inner-step-item h3 {
	padding-bottom: 5px;
	font-size: 14px;
	font-weight: 600;
}

.inner-step-item p {
	padding-bottom: 0px;
	font-size: 12px;
	line-height: 19px;
}

.inner-quote {
	max-width: 830px;
	margin: 0 auto;
	padding: 65px 0px;
	text-align: center;
}

.inner-quote blockquote {
	padding: 15px 0px 20px;
	font-family: 'Playfair Display', serif;
	font-size: 31px;
	font-style: italic;
	line-height: 39px;
	color: #075466;
}

.inner-quote strong {
	font-size: 11px;
	color: #075466;
}

.inner-tag-row {
	padding-bottom: 25px;
	text-align: center;
}

.inner-tag-row span {
	display: inline-block;
	margin: 4px;
	padding: 8px 18px;
	background: #fff;
	border-radius: 25px;
	box-shadow: 0px 6px 18px rgba(0, 54, 66, .07);
	font-size: 11px;
	font-weight: 500;
	color: #075466;
}

.inner-editor-content {
	padding: 15px 0px 35px;
}

.inner-editor-content img {
	max-width: 100%;
	height: auto;
}

/* Services Landing
---------------------------------------------------------------------------------*/

.services-intro {
	max-width: 740px;
	margin: 0 auto;
	padding-bottom: 55px;
	text-align: center;
}

.services-intro p {
	font-size: 14px;
	line-height: 23px;
}



/* Services Landing Refinements
---------------------------------------------------------------------------------*/

.services-page .inner-hero-wrapper {
	padding-bottom: 90px;
}

.services-hero-box {
	min-height: 430px;
	padding: 35px 40px;
}

.services-hero-copy {
	width: 44%;
	padding: 40px 58px 40px 10px;
}

.services-hero-copy .inner-display-title {
	padding-bottom: 25px;
	font-size: 70px;
}

.services-hero-copy .inner-lead {
	max-width: 560px;
	padding-bottom: 25px;
}

.services-hero-images {
	display: grid;
	grid-template-columns: .78fr 1.22fr;
	align-items: center;
	gap: 20px;
	width: 56%;
}

.services-hero-images .inner-hero-image {
	width: 100%;
	min-height: 0px;
	border-radius: 22px;
}

.services-hero-images .inner-hero-image:first-child {
	height: 245px;
}

.services-hero-images .inner-hero-image:last-child {
	height: 335px;
}

 
.services-grid-content {
	max-width: 1160px;
}

.services-intro {
	max-width: 720px;
	padding-bottom: 65px;
}

.services-intro .inner-kicker {
	padding-bottom: 18px;
}

.services-intro p {
	max-width: 675px;
	margin: 0 auto;
	padding-bottom: 0px;
	font-size: 14px;
	line-height: 22px;
}

.services-card-grid {
	gap: 26px 24px;
}

.services-card {
	min-height: 275px;
	padding: 40px 36px 32px;
	border-radius: 18px;
}

.services-card h3 {
	padding-bottom: 16px;
	font-size: 21px;
	font-weight: 500;
	line-height: 26px;
}

.services-card p {
	padding-bottom: 46px;
	font-size: 13px;
	line-height: 20px;
}

.services-card .inner-card-link {
	display: flex;
	align-items: center;
	left: 36px;
	bottom: 30px;
	font-size: 12px;
	line-height: 32px;
}

.services-card .inner-arrow {
	display: inline-flex;
	xflex: 0 0 32px;
	align-items: center;
	justify-content: center;
	xwidth: 32px;
	xheight: 32px;
	margin-right: 11px;
	position: relative;
	background: #dceff3;
	border-radius: 2px;
	color: #075466;
	font-size: 0px;
}

.services-card.inner-card-featured .inner-arrow {
	background: #45ba9e;
	color: #fff;
}

.services-card .inner-arrow:before {
	width: 9px;
	height: 9px;
	position: absolute;
	top: 7px;
	right: 7px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	content: '';
}

.services-card .inner-arrow:after {
	width: 14px;
	height: 1.5px;
	position: absolute;
	top: 18px;
	left: 8px;
	background: currentColor;
	content: '';
	transform: rotate(-45deg);
	transform-origin: left center;
}

.services-card:hover .inner-arrow {
	background: #45ba9e;
	color: #fff;
}

.services-page .inner-financing-band {
	margin-top: 15px;
}

.services-page .home-team-wrapper {
	padding-top: 35px;
}

.services-page .home-team-card > a {
	display: flex;
	align-items: center;
}

.services-page .home-team-card > a span {
	display: inline-flex;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	position: relative;
	border-radius: 2px;
	font-size: 0px;
}

.services-page .home-team-card > a span:before {
	width: 9px;
	height: 9px;
	top: 7px;
	right: 7px;
}

.services-page .home-team-card > a span:after {
	width: 13px;
	top: 17px;
	left: 8px;
}

.services-page .home-team-card small {
	padding-left: 40px;
}

.services-page .home-team-controls button {
	position: relative;
	font-size: 0px;
}

.services-page .home-team-controls button:before {
	display: block;
	width: 9px;
	height: 9px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	content: '';
}

.services-page .home-team-prev:before {
	transform: rotate(-135deg);
}

.services-page .home-team-next:before {
	transform: rotate(45deg);
}


/* Service Detail
---------------------------------------------------------------------------------*/

.service-hero-rating {
	position: absolute;
	right: 18px;
	bottom: 18px;
	padding: 11px 16px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0px 7px 22px rgba(0, 54, 66, .10);
	font-size: 10px;
	font-weight: 600;
	color: #075466;
}

.service-hero-rating span {
	padding-right: 8px;
	color: #d8df38;
	letter-spacing: 1px;
}

.service-benefit-layout {
	display: grid;
	grid-template-columns: .78fr 1.22fr;
	gap: 45px;
	align-items: start;
}

.service-benefit-intro {
	padding: 20px 20px 0px 0px;
}

.service-benefit-intro h3 {
	padding-bottom: 16px;
	font-size: 21px;
	font-weight: 500;
	line-height: 27px;
	color: #075466;
}

.service-benefit-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

.service-benefit-card {
	min-height: 145px;
	padding: 24px;
	background: #fff;
	border-radius: 15px;
	box-shadow: 0px 12px 30px rgba(0, 54, 66, .08);
}

.service-benefit-card h3 {
	padding-bottom: 9px;
	font-size: 16px;
	font-weight: 500;
	line-height: 21px;
	color: #075466;
}

.service-benefit-card p {
	padding-bottom: 0px;
	font-size: 12px;
	line-height: 19px;
}

/* About
---------------------------------------------------------------------------------*/

.about-doctor-card {
	display: flex;
	align-items: stretch;
	padding: 34px;
	background: #fbf4ea;
	border-radius: 22px;
}

.about-doctor-copy {
	width: 52%;
	padding: 28px 45px 20px 10px;
}

.about-doctor-image {
	width: 48%;
	overflow: hidden;
	border-radius: 18px;
}

.about-doctor-image img {
	display: block;
	width: 100%; 
	object-fit: cover;
}

.about-doctor-copy h2 {
	padding-bottom: 18px;
	font-family: 'Asiaroma', serif;
	font-size: 52px;
	line-height: .98;
	color: #075466;
}

.about-story-quote {
	margin: 5px 0px 22px;
	padding: 0px 0px 0px 23px;
	border-left: 1px solid #dceff3;
}

.about-story-quote blockquote {
	margin: 0px;
	padding: 0px;
	font-family: 'Playfair Display', serif;
	font-size: 23px;
	font-weight: 400;
	font-style: italic;
	line-height: 30px;
	color: #075466;
}


.about-story-image {
	position: relative;
	overflow: visible;
}

.about-story-image > img:first-child {
	border-radius: 24px;
}

.inner-split-image img.about-story-logo {
	display: block;
	width: 115px;
	height: 115px;
	position: absolute;
	right: -18px;
	bottom: -43px;
	z-index: 10;
	object-fit: contain;
	border-radius: 0px;
}



/* About Mission, Values and Reviews
---------------------------------------------------------------------------------*/

.about-mission-box {
	padding: 58px 70px 48px;
	background: #fbf4ea;
	color: #075466;
}

.about-mission-box h2,
.about-mission-box h3,
.about-mission-box p,
.about-mission-box li {
	color: #075466;
}

.about-mission-box .inner-kicker {
	color: #075466;
}

.about-mission-top {
	align-items: flex-start;
	gap: 70px;
	padding-bottom: 38px;
	border-bottom: 1px solid rgba(69, 186, 158, .35);
}

.about-mission-heading {
	width: 48%;
}

.about-mission-copy {
	width: 52%;
	padding-top: 2px;
}

.about-mission-heading h2 {
	padding-bottom: 0px;
	font-family: 'Asiaroma', serif;
	font-size: 64px;
	font-weight: 400;
	line-height: .94;
	letter-spacing: -1px;
	color: #075466;
}

.about-mission-copy p {
	padding-bottom: 18px;
	font-size: 14px;
	line-height: 22px;
}

.about-mission-copy .inner-buttons {
	text-align: left;
}

.about-mission-list {
	gap: 0px 45px;
}

.about-mission-list .inner-number-item {
	display: grid;
	grid-template-columns: 35px 1fr;
	align-content: start;
	padding: 25px 0px 22px;
	border-bottom: 1px solid rgba(69, 186, 158, .35);
}

.about-mission-list .inner-number-item strong {
	grid-column: 1;
	grid-row: 1 / span 2;
	padding: 2px 0px 0px;
	font-size: 12px;
	color: #45ba9e;
}

.about-mission-list .inner-number-item h3 {
	grid-column: 2;
	padding: 0px 0px 5px;
	font-size: 16px;
	font-weight: 600;
	line-height: 21px;
	color: #075466;
}

.about-mission-list .inner-number-item p {
	grid-column: 2;
	padding: 0px;
	font-size: 13px;
	line-height: 20px;
	color: #244d56;
}

.about-values-section,
.about-reviews-section {
	overflow: hidden;
}

.about-values-section .inner-section-heading {
	padding-bottom: 40px;
}

.about-slider-shell {
	width: 100%;
	position: relative;
}

.about-scroll-slider {
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.about-scroll-slider::-webkit-scrollbar {
	display: none;
}

.about-value-slider {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 54px) / 4.3);
	gap: 18px;
	width: 100%;
	padding: 8px 4px 28px;
	overflow-x: auto;
}

.about-value-slider .inner-value-card {
	min-height: 290px;
	padding: 34px 31px;
	scroll-snap-align: start;
	border-radius: 20px;
}

.about-value-slider .inner-value-card span {
	padding-bottom: 35px;
	font-size: 12px;
}

.about-value-slider .inner-value-card h3 {
	padding-bottom: 16px;
	font-size: 19px;
	font-weight: 600;
	line-height: 20px;
}

.about-value-slider .inner-value-card p {
	font-size: 13px;
	line-height: 20px;
}

.about-slider-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 18px;
}

.about-slider-controls button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0px;
	background: transparent;
	border: 0px;
	color: #075466;
	font-family: 'Spline Sans', sans-serif;
	font-size: 30px;
	font-weight: 300;
	line-height: 36px;
	cursor: pointer;
}

.about-slider-controls button:hover {
	color: #45ba9e;
}

.about-slider-progress {
	width: 115px;
	height: 8px;
	margin: 0px 8px;
	position: relative;
	background: #dceff3;
	border-radius: 10px;
	overflow: hidden;
}

.about-slider-progress span {
	display: block;
	width: 36%;
	height: 100%;
	margin-left: 0%;
	background: #075466;
	border-radius: 10px;
	transition: margin-left 300ms ease;
}

.about-reviews-section {
	padding-top: 40px;
}

.about-reviews-section .inner-section-heading {
	max-width: 1050px;
	padding-bottom: 38px;
}

.about-reviews-slider {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 45%;
	gap: 22px;
	width: 100%;
	padding: 10px 0px 30px;
	overflow-x: auto;
}

.about-review-card {
	min-height: 310px;
	padding: 43px 45px;
	scroll-snap-align: center;
	background: #fff;
	border-radius: 22px;
	box-shadow: 0px 15px 38px rgba(0, 54, 66, .08);
}

.about-review-card .inner-testimonial-stars {
	padding-bottom: 24px;
	font-size: 18px;
	letter-spacing: 3px;
}

.about-review-card blockquote {
	max-width: 510px;
	padding-bottom: 35px;
	font-size: 25px;
	line-height: 33px;
    font-family: 'Playfair Display', serif;
}

.about-review-card strong {
	font-size: 12px;
}


/* New Patients
---------------------------------------------------------------------------------*/

.patient-plan-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0px;
	border-radius: 22px;
	overflow: hidden;
}

.patient-plan-card {
	padding: 48px;
	background: #fbf4ea;
}

.patient-plan-card-dark {
	background: #075466;
	color: #fff;
}

.patient-plan-card-dark h2,
.patient-plan-card-dark h3,
.patient-plan-card-dark p,
.patient-plan-card-dark li {
	color: #fff;
}

.patient-plan-card h2 {
	padding-bottom: 20px;
	font-family: 'Asiaroma', serif;
	font-size: 49px;
	line-height: .98;
	color: #075466;
}

.patient-plan-card-dark h2 {
	color: #fff;
}

.patient-forms-layout {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 25px;
}

.patient-form-card {
	padding: 28px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0px 10px 28px rgba(0, 54, 66, .08);
}

.patient-form-card-dark {
	background: #075466;
}

.patient-form-card-dark h3,
.patient-form-card-dark p {
	color: #fff;
}

.patient-form-card h3 {
	padding-bottom: 10px;
	font-size: 15px;
	font-weight: 500;
	color: #075466;
}

.patient-form-card p {
	font-size: 12px;
	line-height: 19px;
}



/* New Patient Page Refinements
---------------------------------------------------------------------------------*/

.new-patient-hero-image img {
	object-position: center top;
}

.new-patient-stat-row {
	margin-top: -2px;
	border-radius: 0px 0px 22px 22px;
}

.new-patient-stat-row .inner-stat-item {
	padding: 24px 28px 26px;
}

.new-patient-stat-label {
	display: block;
	padding-bottom: 9px;
	position: relative;
	font-size: 11px;
	font-weight: 600;
	line-height: 15px;
	color: #075466;
}

.new-patient-stat-label:before {
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 8px;
	background: #d8df38;
	border-radius: 100%;
	content: '';
}

.new-patient-finance-heading,
.new-patient-before-heading {
	align-items: flex-start;
	padding-bottom: 38px;
}

.new-patient-finance-heading .inner-split-copy:first-child,
.new-patient-before-heading .inner-split-copy:first-child {
	width: 58%;
}

.new-patient-finance-heading .inner-split-copy:last-child,
.new-patient-before-heading .inner-split-copy:last-child {
	width: 42%;
	padding-top: 48px;
}

.new-patient-finance-heading .inner-split-copy h2,
.new-patient-before-heading .inner-split-copy h2 {
	padding-bottom: 0px;
	font-size: 60px;
}

.new-patient-plan-grid {
	border-radius: 22px;
}

.new-patient-plan-card {
	min-height: 650px;
	padding: 50px 48px 42px;
}

.new-patient-plan-card h2 {
	padding-bottom: 23px;
	font-size: 48px;
}

.new-patient-plan-card > p {
	padding-bottom: 21px;
	font-size: 13px;
	line-height: 21px;
}

.new-patient-plan-card-dark {
	background: #075466;
}

.new-patient-detail-list {
	margin: 0px;
	padding: 0px;
}

.new-patient-detail-list li {
	display: grid;
	grid-template-columns: 30px 1fr;
	gap: 10px;
	padding: 18px 0px;
	border-bottom: 1px solid rgba(69, 186, 158, .34);
}

.new-patient-detail-list li:last-child {
	border-bottom: 0px;
}

.new-patient-list-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 21px;
	height: 21px;
	margin-top: 2px;
	background: #dceff3;
	border-radius: 100%;
	color: #075466;
	font-size: 13px;
	font-weight: 600;
	line-height: 21px;
}

.new-patient-list-number {
	display: block;
	padding-top: 2px;
	color: #d8df38;
	font-size: 11px;
	font-weight: 600;
}

.new-patient-detail-list strong {
	display: block;
	padding-bottom: 4px;
	font-size: 13px;
	font-weight: 600;
	line-height: 18px;
	color: #075466;
}

.new-patient-detail-list p {
	padding: 0px;
	font-size: 12px;
	line-height: 18px;
	color: #244d56;
}

.new-patient-plan-card-dark .new-patient-detail-list li {
	border-color: rgba(255, 255, 255, .18);
}

.new-patient-plan-card-dark .new-patient-detail-list strong,
.new-patient-plan-card-dark .new-patient-detail-list p {
	color: #fff;
}

.new-patient-plan-buttons {
	padding-top: 22px;
	text-align: left;
}

.new-patient-plan-buttons a {
	display: block;
	width: max-content;
	margin: 0px 0px 10px;
}

.new-patient-quote {
	max-width: 1050px;
	padding: 60px 120px 90px;
	position: relative;
}

.new-patient-quote-slider {
	display: block;
	width: 100%;
	min-height: 235px;
	position: relative;
}

.new-patient-quote-slide {
	display: block;
	width: 100%;
	min-height: 235px;
	margin: 0px;
	padding: 0px;
}

.new-patient-quote-slide.current-quote {
	width: 100%;
}

.new-patient-quote-image {
	display: block;
	width: 72px;
	height: 72px;
	margin: 0px auto 20px;
	border-radius: 100%;
	object-fit: cover;
}

.new-patient-quote blockquote {
	max-width: 690px;
	margin: 0 auto;
	padding: 0px 0px 22px;
	font-size: 31px;
	line-height: 39px;
}

.new-patient-quote-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0px;
	position: absolute;
	top: 52%;
	border: 0px;
	border-radius: 3px;
	color: #fff;
	font-size: 0px;
	line-height: 32px;
	cursor: pointer;
}

.new-patient-quote-arrow:before {
	width: 9px;
	height: 9px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	content: '';
}

.new-patient-quote-prev:before {
	transform: rotate(-135deg);
}

.new-patient-quote-next:before {
	transform: rotate(45deg);
}

.new-patient-quote-prev {
	left: 95px;
	background: #075466;
}

.new-patient-quote-next {
	right: 95px;
	background: #45ba9e;
}

.new-patient-before-section {
	padding-top: 65px;
}

.new-patient-forms-layout {
	grid-template-columns: 1.08fr .92fr;
	gap: 28px;
}

.new-patient-before-card {
	padding: 42px 46px;
	background: #fbf4ea;
	border-radius: 18px;
}

.new-patient-form-stack {
	display: grid;
	gap: 20px;
}

.new-patient-form-card-dark,
.new-patient-form-card-light {
	min-height: 205px;
	padding: 36px 40px;
	border-radius: 18px;
}

.new-patient-form-card-dark {
	background: #075466;
}

.new-patient-form-card-dark h3,
.new-patient-form-card-dark p {
	color: #fff;
}

.new-patient-form-card-light {
	background: #fff;
	box-shadow: 0px 12px 30px rgba(0, 54, 66, .08);
}

.new-patient-form-card-dark h3,
.new-patient-form-card-light h3 {
	padding-bottom: 14px;
	font-size: 15px;
	font-weight: 600;
}

.new-patient-form-card-dark p,
.new-patient-form-card-light p {
	padding-bottom: 18px;
	font-size: 12px;
	line-height: 19px;
}


/* Financing
---------------------------------------------------------------------------------*/

.finance-quote-layout {
	display: grid;
	grid-template-columns: .95fr 1.05fr;
	gap: 55px;
	align-items: start;
}

.finance-quote-side blockquote {
	padding: 18px 0px 25px;
	font-family: 'Playfair Display', serif;
	font-size: 26px;
	font-style: italic;
	line-height: 34px;
	color: #075466;
}

.finance-partner-box {
	display: grid;
	grid-template-columns: .92fr 1.08fr;
	gap: 50px;
	padding: 55px;
	background: #fbf4ea;
	border-radius: 24px;
}

.finance-partner-name {
	padding-bottom: 25px;
	font-size: 29px;
	font-weight: 700;
	color: #101b24;
}

.finance-partner-name span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin-right: 8px;
	background: #101b24;
	border-radius: 100%;
	color: #fff;
	font-size: 15px;
}

.finance-step-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 17px;
}

.finance-step-card {
	min-height: 300px;
	padding: 29px 24px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0px 12px 30px rgba(0, 54, 66, .08);
}

.finance-step-card span {
	display: block;
	padding-bottom: 22px;
	font-size: 10px;
	font-weight: 600;
	color: #45ba9e;
}

.finance-step-card h3 {
	padding-bottom: 14px;
	font-size: 17px;
	font-weight: 600;
	line-height: 22px;
	color: #075466;
}

.finance-step-card p {
	padding-bottom: 0px;
	font-size: 12px;
	line-height: 19px;
}



/* Financing Page Refinements
---------------------------------------------------------------------------------*/

 
.financing-stat-row {
	margin-top: -2px;
	border-radius: 0px 0px 22px 22px;
}

.financing-stat-row .inner-stat-item {
	padding: 24px 28px 26px;
}

.financing-stat-label {
	display: block;
	padding-bottom: 9px;
	font-size: 11px;
	font-weight: 600;
	line-height: 15px;
	color: #075466;
}

.financing-stat-label:before {
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 8px;
	background: #d8df38;
	border-radius: 100%;
	content: '';
}

.financing-story-section {
	padding-top: 90px;
}

.finance-story-layout {
	display: grid;
	grid-template-columns: .92fr 1.08fr;
	gap: 75px;
	align-items: start;
}

.finance-story-left h2 {
	padding-bottom: 24px;
	font-size: 57px;
	line-height: .95;
}

.finance-story-intro {
	max-width: 520px;
	padding-bottom: 20px;
	font-size: 14px;
	line-height: 22px;
}

.finance-story-left blockquote {
	margin: 0px 0px 25px;
	padding: 0px 0px 0px 20px;
	border-left: 1px solid #dceff3;
	font-family: 'Playfair Display', serif;
	font-size: 26px;
	font-style: italic;
	line-height: 34px;
	color: #075466;
}

.finance-story-author {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-top: 5px;
}

.finance-story-author img {
	display: block;
	width: 70px;
	height: 70px;
	object-fit: contain;
}

.finance-story-author strong,
.finance-story-author span {
	display: block;
}

.finance-story-author strong {
	padding-bottom: 4px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	color: #075466;
}

.finance-story-author span {
	font-size: 11px;
	color: #607a80;
}

.finance-story-copy {
	padding-top: 48px;
}

.finance-story-copy p {
	padding-bottom: 21px;
	font-size: 14px;
	line-height: 23px;
}

.finance-partner-box-detailed {
	grid-template-columns: .92fr 1.08fr;
	gap: 55px;
	padding: 55px 65px 38px;
	position: relative;
}

.finance-partner-copy,
.finance-partner-benefits {
	min-width: 0px;
}

.finance-partner-name {
	display: flex;
	align-items: center;
	padding-bottom: 21px;
	font-size: 29px;
	line-height: 32px;
}

.finance-partner-name span {
	width: 34px;
	height: 34px;
	position: relative;
	font-size: 0px;
}

.finance-partner-name span:before,
.finance-partner-name span:after {
	position: absolute;
	top: 15px;
	left: 8px;
	width: 18px;
	height: 3px;
	background: #fff;
	border-radius: 3px;
	content: '';
	transform: rotate(45deg);
}

.finance-partner-name span:after {
	transform: rotate(-45deg);
}

.finance-partner-divider {
	width: 100%;
	height: 1px;
	margin-bottom: 28px;
	background: rgba(69, 186, 158, .35);
}

.finance-partner-copy h2 {
	padding-bottom: 23px;
	font-size: 56px;
	line-height: .95;
}

.finance-partner-copy p {
	padding-bottom: 18px;
	font-size: 13px;
	line-height: 21px;
}

.finance-partner-buttons {
	padding-top: 7px;
	text-align: left;
}

.finance-detail-list {
	margin: 0px;
	padding: 0px;
	border-top: 1px solid rgba(69, 186, 158, .35);
}

.finance-detail-list li {
	display: grid;
	grid-template-columns: 30px 1fr;
	gap: 10px;
	padding: 20px 0px;
	border-bottom: 1px solid rgba(69, 186, 158, .35);
}

.finance-list-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 21px;
	height: 21px;
	margin-top: 2px;
	background: #dceff3;
	border-radius: 100%;
	color: #075466;
	font-size: 13px;
	font-weight: 600;
	line-height: 21px;
}

.finance-detail-list strong {
	display: block;
	padding-bottom: 4px;
	font-size: 13px;
	font-weight: 600;
	line-height: 18px;
	color: #075466;
}

.finance-detail-list p {
	padding: 0px;
	font-size: 12px;
	line-height: 18px;
	color: #244d56;
}

.finance-partner-disclaimer {
	grid-column: 1 / -1;
	padding-top: 5px;
	text-align: center;
	font-size: 8px;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 14px;
	text-transform: uppercase;
	color: #97a9ad;
}

.financing-steps-section .inner-section-heading {
	max-width: 1100px;
	padding-bottom: 45px;
}

.finance-step-grid-detailed {
	gap: 18px;
}

.finance-step-grid-detailed .finance-step-card {
	min-height: 335px;
	padding: 34px 30px;
	border-radius: 19px;
}

.finance-step-grid-detailed .finance-step-card span {
	padding-bottom: 24px;
	font-size: 11px;
}

.finance-step-grid-detailed .finance-step-card h3 {
	padding-bottom: 15px;
	font-size: 18px;
	line-height: 20px;
}

.finance-step-grid-detailed .finance-step-card p {
	font-size: 13px;
	line-height: 20px;
}

.finance-step-buttons {
	padding-top: 38px;
	text-align: center;
}




/* Booking Page Refinements
---------------------------------------------------------------------------------*/

.booking-hero-box {
	min-height: 500px;
	padding: 38px;
}

.booking-hero-copy {
	width: 55%;
	padding: 35px 65px 25px 20px;
}

.booking-hero-copy .inner-display-title {
	font-size: 74px;
}

.booking-hero-copy .inner-lead {
	max-width: 610px;
	padding-bottom: 22px;
}

.booking-hero-image {
	width: 45%;
	min-height: 420px;
}

 

.booking-hero-details {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 35px;
	max-width: 520px;
	padding-top: 8px;
}

.booking-hero-detail {
	padding-top: 3px;
}

.booking-hero-detail small,
.booking-hero-detail strong {
	display: block;
}

.booking-hero-detail small {
	padding-bottom: 8px;
	font-size: 11px;
	font-weight: 600;
	line-height: 15px;
	color: #075466;
}

.booking-hero-detail small:before {
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 8px;
	background: #d8df38;
	border-radius: 100%;
	content: '';
}

.booking-hero-detail strong {
	font-family: 'Playfair Display', serif;
	font-size: 20px;
	font-style: italic;
	font-weight: 400;
	line-height: 25px;
	color: #075466;
}

.booking-hero-detail strong a {
	color: #075466 !important;
}

.booking-financing-band {
	margin: -50px auto 85px;
	padding: 28px 55px;
	position: relative;
	z-index: 10;
	background: #45ba9e;
	border-radius: 24px;
}

.booking-financing-band strong {
	width: 25%;
	font-size: 18px;
	line-height: 21px;
}

.booking-financing-band p {
	width: 52%;
	padding: 0px 40px;
	font-size: 13px;
	line-height: 20px;
}

.booking-financing-band a {
	width: 23%;
	max-width: 230px;
	margin-left: auto;
}

.booking-content-section {
	padding-top: 0px;
}

.booking-form-layout {
	grid-template-columns: 1.02fr .98fr;
	gap: 32px;
	align-items: start;
}

.booking-form-box {
	min-height: 1000px;
	padding: 48px 48px 55px;
}

.booking-form-box h2 {
	padding-bottom: 18px;
	font-size: 59px;
}

.booking-form-intro {
	max-width: 560px;
	padding-bottom: 5px;
	font-size: 13px;
	line-height: 21px;
}

.booking-side-stack > div {
	margin-bottom: 26px;
}

.booking-next-card {
	padding: 52px 46px 38px;
	background: #075466;
	border-radius: 22px;
}

.booking-next-card .inner-kicker {
	padding-bottom: 18px;
}

.booking-next-card h2 {
	padding-bottom: 13px;
	font-size: 56px;
	line-height: .94;
}

.booking-step-list {
	padding-top: 0px;
}

.booking-step-list .inner-step-item {
	grid-template-columns: 35px 1fr;
	gap: 12px;
	padding: 20px 0px;
	border-bottom: 1px solid rgba(69, 186, 158, .55);
}

.booking-step-list .inner-step-item strong {
	padding-top: 2px;
	color: #fff;
}

.booking-step-list .inner-step-item h3 {
	padding-bottom: 5px;
	font-size: 13px;
	line-height: 18px;
	color: #fff;
}

.booking-step-list .inner-step-item p {
	font-size: 12px;
	line-height: 18px;
	color: #fff;
}

.booking-phone-card {
	padding: 50px 46px 42px;
	background: #fbf4ea;
	border-radius: 22px;
}

.booking-phone-card h2 {
	padding-bottom: 20px;
	font-size: 57px;
	line-height: .94;
}

.booking-phone-card > p {
	padding-bottom: 18px;
	font-size: 13px;
	line-height: 21px;
}

.booking-phone-divider {
	width: 100%;
	height: 1px;
	margin: 2px 0px 24px;
	background: #45ba9e;
}

.booking-phone-label {
	display: block;
	padding-bottom: 7px;
	font-size: 12px;
	font-weight: 600;
	color: #075466;
}

.booking-phone-number {
	display: block;
	padding-bottom: 22px;
	font-family: 'Asiaroma', serif;
	font-size: 47px;
	font-weight: 400;
	line-height: 48px;
	color: #075466 !important;
}

.booking-hours {
	padding-top: 2px;
}

.booking-hours > div {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 3px 0px;
	font-size: 12px;
	line-height: 18px;
	color: #075466;
}

.booking-hours strong {
	font-weight: 600;
}

.booking-hours span {
	text-align: right;
}

.booking-actions-section {
	padding-top: 45px;
}

.booking-actions-section .inner-action-card img {
	height: 330px;
}




/* Booking Action Card Arrow Fix
---------------------------------------------------------------------------------*/

.booking-actions-section .inner-action-card-content a {
	display: flex;
	align-items: center;
}

.xbooking-actions-section .ixnner-arrow {
	display: inline-flex;
	flex: 0 0 32px;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin-right: 11px;
	position: relative;
	background: #dceff3;
	border-radius: 2px;
	color: #075466;
	font-size: 0px;
}

.booking-actions-section .inner-action-card:first-child .inner-arrow {
	background: #45ba9e;
	color: #fff;
}

.booking-actions-section .inner-arrow:before {
	width: 9px;
	height: 9px;
	position: absolute;
	top: 7px;
	right: 7px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	content: '';
}

.xbooking-actions-section .inner-arrow:after {
	width: 14px;
	height: 1.5px;
	position: absolute;
	top: 18px;
	left: 8px;
	background: currentColor;
	content: '';
	transform: rotate(-45deg);
	transform-origin: left center;
}

.booking-actions-section .inner-action-card-content small {
	padding-left: 43px;
}


/* Blog Landing
---------------------------------------------------------------------------------*/

.blog-hero {
	padding: 80px 0px 45px;
	text-align: center;
}

.blog-title {
	padding-bottom: 25px;
	font-size: 82px;
	line-height: .96;
	letter-spacing: -1px;
}

.blog-filter {
	display: inline-flex;
	align-items: center;
	min-width: 310px;
	padding: 9px 12px 9px 18px;
	background: #fff;
	border-radius: 30px;
	box-shadow: 0px 9px 25px rgba(0, 54, 66, .10);
}

.blog-filter select {
	flex: 1;
	background: transparent;
	border: 0px;
	font-size: 11px;
	font-weight: 500;
	color: #075466;
}

.blog-filter button {
	width: 27px;
	height: 27px;
	background: #fff;
	border: 0px;
	color: #45ba9e;
	font-size: 18px;
	cursor: pointer;
}

.blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 34px 30px;
	padding-bottom: 95px;
}

.blog-card {
	padding: 20px;
	background: #fff;
	border-radius: 18px;
	box-shadow: 0px 12px 32px rgba(0, 54, 66, .09);
	transition: transform 300ms ease, box-shadow 300ms ease;
}

.blog-card:hover {
	transform: translateY(-8px);
	box-shadow: 0px 22px 44px rgba(0, 54, 66, .14);
}

.blog-card-topic {
	padding-bottom: 12px;
	xfont-size: 10px;
	font-weight: 500;
	color: #075466;
}

.blog-card-topic:before {
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 7px;
	background: #d8df38;
	border-radius: 100%;
	content: '';
}

.blog-card-image {
	display: block;
	height: 225px;
	overflow: hidden;
	border-radius: 13px;
}

.blog-card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.blog-card:hover .blog-card-image img {
	transform: scale(1.04);
}

.blog-card h2 {
	padding: 19px 0px 14px;
	font-size: 21px;
	font-weight: 400;
	line-height: 25px;
	color: #075466;
}

.blog-card-read {
	font-size: 12px;
	font-weight: 600;
	color: #075466 !important;
}

.blog-pagination {
	padding: 0px 0px 80px;
	text-align: center;
}

.blog-pagination .page-numbers {
	display: inline-block;
	min-width: 34px;
	height: 34px;
	margin: 3px;
	padding: 0px 9px;
	background: #dceff3;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 500;
	line-height: 34px;
	color: #075466;
}

.blog-pagination .current,
.blog-pagination .page-numbers:hover {
	background: #45ba9e;
	color: #fff;
}

/* Single Blog
---------------------------------------------------------------------------------*/

.single-blog-hero {
	padding: 75px 0px 40px;
	text-align: center;
}

.single-blog-title {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0px 0px 22px;
	font-size: 74px;
	line-height: .96;
	letter-spacing: -1px;
}

.single-blog-meta {
	font-size: 11px;
	color: #075466;
}

.single-blog-meta span {
	padding: 0px 8px;
}

.single-blog-image {
	max-width: 1050px;
	margin: 0 auto 55px;
	overflow: hidden;
	border-radius: 26px;
}

.single-blog-image img {
	display: block;
	width: 100%;
	max-height: 600px;
	object-fit: cover;
}

.single-blog-content {
	max-width: 850px;
	margin: 0 auto;
	padding-bottom: 65px;
}

.single-blog-content p,
.single-blog-content li {
	font-size: 15px;
	line-height: 25px;
	color: #244d56;
}

.single-blog-content h2,
.single-blog-content h3 {
	padding: 20px 0px 14px;
	font-weight: 600;
	color: #075466;
}

.single-blog-content h2 {
	font-size: 24px;
}

.single-blog-content h3 {
	font-size: 19px;
}

.single-blog-content ul {
	padding: 0px 0px 20px 20px;
}

.single-blog-content li {
	padding: 4px 0px;
	list-style: disc;
}

.single-blog-nav {
	display: grid;
	grid-template-columns: 1fr 150px 1fr;
	align-items: center;
	max-width: 1200px;
	margin: 0 auto 80px;
	border-top: 1px solid #075466;
}

.single-blog-nav a {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 20px;
	background: #45ba9e;
	border-radius: 25px;
	font-size: 11px;
	font-weight: 600;
	color: #fff !important;
}

.single-blog-nav-next {
	text-align: right;
}

.single-blog-nav-next a {
	background: #075466;
}

.single-blog-nav-logo {
	margin: -55px auto 0px;
	position: relative;
	z-index: 2;
}

.single-blog-nav-logo img {
	display: block;
	width: 120px;
	height: 120px;
	margin: 0 auto;
}



/* CSS-Drawn Navigation Icons
---------------------------------------------------------------------------------*/

.home-review-arrow,
.home-team-controls button,
.about-slider-controls button {
	position: relative;
	font-size: 0px;
}

.home-review-arrow:before,
.home-team-controls button:before,
.about-slider-controls button:before {
	display: block;
	width: 9px;
	height: 9px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	content: '';
}

.home-review-prev:before,
.home-team-prev:before,
.about-slider-prev:before {
	transform: rotate(-135deg);
}

.home-review-next:before,
.home-team-next:before,
.about-slider-next:before {
	transform: rotate(45deg);
}




/* Basic Page Template
---------------------------------------------------------------------------------*/

.basic-page-wrapper {
	padding-top: 15px;
}

.basic-page-hero {
	padding: 5px 0px 42px;
}

.basic-page-hero-box {
	display: flex;
	align-items: stretch;
	min-height: 285px;
	padding: 30px;
	position: relative;
	background: #fbf4ea;
	border-radius: 28px;
	overflow: hidden;
}

.basic-page-hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 62%;
	padding: 30px 55px 30px 25px;
	position: relative;
	z-index: 2;
}

.basic-page-hero-copy h1 {
	padding: 0px 0px 16px;
	font-family: 'Asiaroma', serif;
	font-size: 70px;
	font-weight: 400;
	line-height: .96;
	letter-spacing: -1px;
	color: #075466;
}

.basic-page-hero-copy p {
	max-width: 620px;
	padding-bottom: 0px;
	font-size: 15px;
	line-height: 24px;
	color: #244d56;
}

.basic-page-hero-image {
	width: 38%;
	min-height: 225px;
	position: relative;
	overflow: hidden;
	border-radius: 22px;
}

.basic-page-hero-image img {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	object-fit: cover;
	object-position: center;
}

.basic-page-hero-no-image .basic-page-hero-copy {
	width: calc(100% - 245px);
}

.basic-page-hero-mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 245px;
	position: relative;
}

.basic-page-hero-mark:before {
	width: 235px;
	height: 235px;
	position: absolute;
	top: 50%;
	left: 50%;
	background: rgba(255, 255, 255, .55);
	border-radius: 100%;
	content: '';
	transform: translate(-50%, -50%);
}

.basic-page-hero-mark img {
	display: block;
	width: 165px;
	height: 165px;
	position: relative;
	z-index: 2;
	object-fit: contain;
}

.basic-page-content-section {
	padding: 0px 0px 80px;
}

.basic-page-content {
	padding: 55px 65px 60px;
	background: #fff;
	border-radius: 24px;
	box-shadow: 0px 15px 38px rgba(0, 54, 66, .08);
}

.basic-page-content > *:first-child {
	margin-top: 0px;
}

.basic-page-content h1,
.basic-page-content h2,
.basic-page-content h3,
.basic-page-content h4 {
	color: #075466;
}

.basic-page-content h1,
.basic-page-content h2 {
	padding: 20px 0px 18px;
	font-family: 'Asiaroma', serif;
	font-size: 52px;
	font-weight: 400;
	line-height: .98;
}

.basic-page-content h3 {
	padding: 18px 0px 12px;
	font-size: 22px;
	font-weight: 600;
	line-height: 28px;
}

.basic-page-content h4 {
	padding: 15px 0px 10px;
	font-size: 17px;
	font-weight: 600;
	line-height: 23px;
}

.basic-page-content p {
	max-width: 1080px;
	font-size: 15px;
	line-height: 25px;
}

.basic-page-content ul,
.basic-page-content ol {
	margin: 0px 0px 24px 22px;
}

.basic-page-content ul li,
.basic-page-content ol li {
	padding: 4px 0px 4px 8px;
	font-size: 15px;
	line-height: 24px;
	color: #244d56;
}

.basic-page-content ul li {
	list-style-type: disc;
}

.basic-page-content ol li {
	list-style-type: decimal;
}

.basic-page-content a {
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.basic-page-content blockquote {
	margin: 15px 0px 28px;
	padding: 5px 0px 5px 25px;
	border-left: 1px solid #45ba9e;
	font-family: 'Playfair Display', serif;
	font-size: 24px;
	font-style: italic;
	line-height: 33px;
	color: #075466;
}

.basic-page-content img {
	max-width: 100%;
	height: auto;
	border-radius: 18px;
}

.basic-page-content table {
	width: 100%;
	margin: 15px 0px 30px;
	border-collapse: collapse;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0px 8px 25px rgba(0, 54, 66, .06);
}

.basic-page-content th,
.basic-page-content td {
	padding: 14px 16px;
	border-bottom: 1px solid #dceff3;
	text-align: left;
	font-size: 13px;
	line-height: 20px;
}

.basic-page-content th {
	background: #075466;
	color: #fff;
	font-weight: 600;
}


/* Basic Page Gravity Forms
---------------------------------------------------------------------------------*/

.basic-page-content .gform_wrapper {
	margin: 30px 0px 5px;
	padding: 38px 40px 40px;
	background: #fbf4ea;
	border-radius: 22px;
}

.basic-page-content .gform_wrapper .gform_title {
	padding-bottom: 10px;
	font-family: 'Asiaroma', serif;
	font-size: 48px;
	font-weight: 400;
	line-height: .98;
	color: #075466;
}

.basic-page-content .gform_wrapper .gform_description {
	display: block;
	padding-bottom: 22px;
	font-size: 14px;
	line-height: 22px;
	color: #244d56;
}

.basic-page-content .gform_wrapper .gform_fields {
	gap: 20px 18px;
}

.basic-page-content .gform_wrapper .gfield {
	margin-bottom: 18px;
}

.basic-page-content .gform_wrapper .gfield_label,
.basic-page-content .gform_wrapper label {
	color: #075466;
	font-family: 'Spline Sans', sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 19px;
}

.basic-page-content .gform_wrapper .gfield_required {
	color: #45ba9e;
}

.basic-page-content .gform_wrapper input[type="text"],
.basic-page-content .gform_wrapper input[type="email"],
.basic-page-content .gform_wrapper input[type="tel"],
.basic-page-content .gform_wrapper input[type="url"],
.basic-page-content .gform_wrapper input[type="number"],
.basic-page-content .gform_wrapper input[type="password"],
.basic-page-content .gform_wrapper input[type="date"],
.basic-page-content .gform_wrapper select,
.basic-page-content .gform_wrapper textarea {
	width: 100%;
	min-height: 52px;
	padding: 13px 15px;
	background: #fff;
	border: 1px solid #cfe3e5;
	border-radius: 11px;
	box-shadow: 0px 5px 14px rgba(0, 54, 66, .035);
	color: #075466;
	font-family: 'Spline Sans', sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 22px;
	transition: border-color 250ms ease, box-shadow 250ms ease, background 250ms ease;
}

.basic-page-content .gform_wrapper textarea {
	min-height: 145px;
	resize: vertical;
}

.basic-page-content .gform_wrapper select {
	padding-right: 40px;
	background-image:
		linear-gradient(45deg, transparent 50%, #075466 50%),
		linear-gradient(135deg, #075466 50%, transparent 50%);
	background-position:
		calc(100% - 19px) 22px,
		calc(100% - 14px) 22px;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
}

.basic-page-content .gform_wrapper input:focus,
.basic-page-content .gform_wrapper select:focus,
.basic-page-content .gform_wrapper textarea:focus {
	border-color: #45ba9e;
	box-shadow: 0px 0px 0px 3px rgba(69, 186, 158, .13);
}

.basic-page-content .gform_wrapper .ginput_complex label,
.basic-page-content .gform_wrapper .gfield_description,
.basic-page-content .gform_wrapper .instruction {
	padding-top: 5px;
	font-size: 11px;
	font-weight: 300;
	line-height: 17px;
	color: #607a80;
}

.basic-page-content .gform_wrapper .gfield_radio,
.basic-page-content .gform_wrapper .gfield_checkbox {
	display: grid;
	gap: 9px;
	padding-top: 5px;
}

.basic-page-content .gform_wrapper .gchoice {
	display: flex;
	align-items: flex-start;
	gap: 9px;
}

.basic-page-content .gform_wrapper input[type="radio"],
.basic-page-content .gform_wrapper input[type="checkbox"] {
	width: 19px;
	height: 19px;
	margin: 1px 0px 0px;
	flex: 0 0 19px;
	accent-color: #45ba9e;
}

.basic-page-content .gform_wrapper .gsection {
	margin: 15px 0px 5px;
	padding: 18px 0px 10px;
	border-bottom: 1px solid rgba(69, 186, 158, .35);
}

.basic-page-content .gform_wrapper .gsection_title {
	padding: 0px;
	font-family: 'Playfair Display', serif;
	font-size: 27px;
	font-style: italic;
	font-weight: 400;
	line-height: 34px;
	color: #075466;
}

.basic-page-content .gform_wrapper .gform_footer,
.basic-page-content .gform_wrapper .gform_page_footer {
	margin: 10px 0px 0px;
	padding: 15px 0px 0px;
}

.basic-page-content .gform_wrapper input[type="submit"],
.basic-page-content .gform_wrapper input[type="button"],
.basic-page-content .gform_wrapper button {
	display: inline-block;
	min-height: 46px;
	margin: 0px;
	padding: 12px 24px;
	background: #45ba9e;
	border: 1px solid #45ba9e;
	border-radius: 30px;
	box-shadow: 0px 4px 10px rgba(0, 77, 92, .05);
	color: #fff;
	font-family: 'Spline Sans', sans-serif;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: all 300ms ease;
}

.basic-page-content .gform_wrapper input[type="submit"]:hover,
.basic-page-content .gform_wrapper input[type="button"]:hover,
.basic-page-content .gform_wrapper button:hover {
	background: #075466;
	border-color: #075466;
	transform: translateY(-2px);
	box-shadow: 0px 10px 20px rgba(0, 77, 92, .15);
}

.basic-page-content .gform_wrapper .gform_validation_errors,
.basic-page-content .gform_wrapper .validation_error {
	margin-bottom: 20px;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid #d8df38;
	border-radius: 12px;
	color: #075466;
}

.basic-page-content .gform_wrapper .gfield_error input,
.basic-page-content .gform_wrapper .gfield_error select,
.basic-page-content .gform_wrapper .gfield_error textarea {
	border-color: #c87878;
}

.basic-page-content .gform_wrapper .validation_message {
	padding-top: 6px;
	color: #9c4545;
	font-size: 11px;
}

.basic-page-content .gform_wrapper .ginput_recaptcha {
	margin-top: 5px;
}


/* Hamburger
---------------------------------------------------------------------------------*/

.nav-container {
	display: none;
	width: 55px;
	height: 55px;
	padding-top: 18px;
	position: absolute;
	top: 14px;
	right: 9px;
	z-index: 1001;
	cursor: pointer;
}

.nav-container span {
	display: block;
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
	background: #075466;
	border-radius: 3px;
	-webkit-transition: all 400ms ease;
	transition: all 400ms ease;
}

.active {
	width: 25px;
	height: 4px;
	margin-top: 4px;
}

.cross {
	width: 25px;
	height: 4px;
	margin-top: 7px;
}

.cross:nth-of-type(1) {
	-webkit-transform: rotate(41deg);
	transform: rotate(41deg);
}

.cross:nth-of-type(2) {
	-webkit-transform: rotate(-41deg);
	transform: rotate(-41deg);
	margin-top: -4px;
}


/* Desktop Navigation Safeguard
---------------------------------------------------------------------------------*/

@media screen and (min-width: 1001px) {

	.header-navigation {
		display: block !important;
	}

}


/* Responsive / Mobile
---------------------------------------------------------------------------------*/



/* Global Arrow System
---------------------------------------------------------------------------------*/

/*
 * One exact northeast-arrow icon throughout the site.
 * Uses an SVG mask instead of Unicode or hand-built border lines.
 * This keeps the shape identical in Safari/iPhone, Chrome, and desktop browsers.
 */

.home-service-card a span,
.home-team-card a span,
.inner-arrow,
.services-page .home-team-card > a span,
.booking-actions-section .inner-arrow {
	display: inline-flex !important;
	flex: 0 0 28px !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	margin: 0px 10px 0px 0px !important;
	padding: 0px !important;
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	background: #dceff3 !important;
	border: 0px !important;
	border-radius: 2px !important;
	color: #075466 !important;
	font-size: 0px !important;
	line-height: 28px !important;
	vertical-align: middle !important;
	overflow: hidden !important;
	box-shadow: none !important;
	transform: none !important;
	transition: background 300ms ease, color 300ms ease !important;
}

/* Remove every older hand-built arrow piece. */

.home-service-card a span:after,
.home-team-card a span:after,
.inner-arrow:after,
.services-page .home-team-card > a span:after,
.booking-actions-section .inner-arrow:after {
	display: none !important;
	width: 0px !important;
	height: 0px !important;
	background: transparent !important;
	border: 0px !important;
	content: none !important;
}

/* Exact northeast arrow. */

.home-service-card a span:before,
.home-team-card a span:before,
.inner-arrow:before,
.services-page .home-team-card > a span:before,
.booking-actions-section .inner-arrow:before {
	display: block !important;
	width: 13px !important;
	height: 13px !important;
	margin: 0px !important;
	padding: 0px !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	right: auto !important;
	bottom: auto !important;
	background: currentColor !important;
	border: 0px !important;
	content: '' !important;
	transform: translate(-50%, -50%) !important;
	transform-origin: center center !important;

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 13L13 3M7 3h6v6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;

	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 13L13 3M7 3h6v6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}

/* Green treatment used by featured / first cards. */

.services-card.inner-card-featured .inner-arrow,
.booking-actions-section .inner-action-card:first-child .inner-arrow,
.services-page .home-team-card:first-child > a span {
	background: #45ba9e !important;
	color: #fff !important;
}

/* Matching hover treatment everywhere. */

.home-service-card:hover a span,
.home-team-card:hover a span,
.inner-card:hover .inner-arrow,
.inner-action-card:hover .inner-arrow,
.services-card:hover .inner-arrow,
.services-page .home-team-card:hover > a span {
	background: #45ba9e !important;
	color: #fff !important;
}


/* Slider Previous / Next Arrows
---------------------------------------------------------------------------------*/

/*
 * Exact CSS-mask chevrons. Any old text character inside the button is hidden.
 */

.home-review-arrow,
.home-team-controls button,
.about-slider-controls button,
.new-patient-quote-arrow {
	position: relative !important;
	font-size: 0px !important;
}

.home-review-arrow:after,
.home-team-controls button:after,
.about-slider-controls button:after,
.new-patient-quote-arrow:after {
	display: none !important;
	content: none !important;
}

.home-review-arrow:before,
.home-team-controls button:before,
.about-slider-controls button:before,
.new-patient-quote-arrow:before {
	display: block !important;
	width: 10px !important;
	height: 16px !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	right: auto !important;
	bottom: auto !important;
	background: currentColor !important;
	border: 0px !important;
	content: '' !important;
	transform-origin: center center !important;

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'%3E%3Cpath d='M2 1l7 7-7 7' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;

	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'%3E%3Cpath d='M2 1l7 7-7 7' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}

.home-review-prev:before,
.home-team-prev:before,
.about-slider-prev:before,
.new-patient-quote-prev:before {
	transform: translate(-50%, -50%) rotate(180deg) !important;
}

.home-review-next:before,
.home-team-next:before,
.about-slider-next:before,
.new-patient-quote-next:before {
	transform: translate(-50%, -50%) !important;
}


/* Arrow Text Alignment
---------------------------------------------------------------------------------*/

.home-team-card small,
.services-page .home-team-card small,
.booking-actions-section .inner-action-card-content small {
	padding-left: 38px !important;
}


@media screen and (max-width: 1000px) {

	.mobile-show {
		display: block !important;
	}

	.mobile-show-inline {
		display: inline-block !important;
	}
	.mobile-hide {
		display: none;
	}

	.promo-text {
		padding: 10px 10px 5px;
		line-height: 36px;
	}

	.promo-center {
		min-height: 36px;
		padding: 0px 15px;
		border-radius: 22px;
	}

	.promo-left {
		width: 100%;
		float: none;
		text-align: center;
	}

	.promo-middle,
	.promo-social {
		display: none;
	}

	.header-bottom,
	.header-center {
		height: 82px;
	}

	.header-center {
		padding: 0px 15px;
	}

	.logo {
		top: 16px;
		left: 15px;
		width: auto;
		max-width: calc(100% - 85px);
		margin-left: 0px;
		text-align: left;
	}

	.logo:hover,
	.logo:active {
		top: 16px;
	}

	.logo a {
		line-height: 46px;
	}
	.logo img {
	width: 280px;
	height: auto;
	}

	.logo-farah,
	.logo-dental {
		font-size: 25px;
	}

	.logo-family {
		font-size: 17px;
		padding: 0px 3px;
	}

	.nav-container {
		display: block;
	}

	.header-buttons {
		display: none;
	}

	.header-navigation {
		display: none;
		float: none;
		width: 100%;
		position: absolute;
		top: 82px;
		left: 0px;
		right: 0px;
		margin: 0px;
		padding: 18px 20px 25px;
		background: #fff;
		border-top: 1px solid #e4e7e5;
		box-shadow: 0px 15px 30px rgba(0, 62, 73, .10);
		text-align: center;
		z-index: 1000;
	}

	.header-navigation ul {
		display: block;
		width: 100%;
	}

	.header-navigation ul li {
		display: block;
		float: none;
		width: 100%;
		text-align: center;
	}

	.header-navigation ul li a:link,
	.header-navigation ul li a:visited {
		display: block;
		margin: 0px;
		padding: 11px 0px;
		font-size: 16px;
	}

	.header-navigation li a:after {
		display: none;
	}

	.header-navigation > ul > li > ul {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		margin: 0px;
		padding: 8px 0px;
		background: #f7f3eb;
		border: 0px;
		border-radius: 8px;
		box-shadow: none;
		-webkit-columns: 1;
		-moz-columns: 1;
		columns: 1;
		display: none;
	}

	.header-navigation > ul > li > ul > li > a:link,
	.header-navigation > ul > li > ul > li > a:visited {
		padding: 8px 10px !important;
		font-size: 13px !important;
		line-height: 18px;
		text-align: center;
	}


	.menu-item-has-children::after {
		position: absolute;
		right: 20px;
		top: 16px;
		font-size: 10px;
	}

	.header-buttons-mobile {
		display: block !important;
		padding-top: 18px;
		text-align: center;
	}

	.header-buttons-mobile .header-contact-button,
	.header-buttons-mobile .header-book-button {
		margin: 3px;
		font-size: 12px;
	}

	.header-mobile-contact {
		display: block !important;
		padding-top: 18px;
		text-align: center;
	}

	.header-mobile-contact a {
		color: #075466 !important;
		font-size: 13px;
	}


	.footer-wrapper {
		xpadding: 15px;
	}

	.footer-center {
		padding: 45px 25px 25px;
		border-radius: 25px 25px 0px 0px;
	}

	.footer-top {
		padding-bottom: 30px;
	}

	.footer-logo-area,
	.footer-contact-area,
	.footer-nav-area,
	.footer-services-area {
		width: 100%;
		float: none;
		padding: 0px 0px 35px;
	}

	.footer-logo-area {
		text-align: center;
	}

	.footer-logo,
	.footer-logo img,
	.footer-logo-area img,
	img.footer-logo {
		width: 100% !important;
		max-width: 300px !important;
		height: auto !important;
		margin: 0 auto;
	}

	.footer-contact-area,
	.footer-nav-area,
	.footer-services-area {
		text-align: left;
	}

	.footer-contact-area p {
		font-size: 15px;
	}

	.footer-hours {
		max-width: 350px;
	}

	.footer-center h4 {
		font-size: 31px;
	}

	.footer-services-left,
	.footer-services-right {
		width: 100%;
		float: none;
		padding: 0px;
	}

	.footer-services-left {
		padding-bottom: 4px;
	}

	.footer-services-left ul {
		-webkit-columns: 1;
		-moz-columns: 1;
		columns: 1;
	}

	.footer-bottom {
		padding-top: 20px;
	}

	.footer-legal,
	.footer-copyright {
		float: none;
		width: 100%;
		text-align: left;
	}

	.footer-legal {
		padding-bottom: 8px;
	}

	.footer-legal li {
		padding: 0px 12px 5px 0px;
	}


	/* Homepage Mobile
	---------------------------------------------------------------------------------*/

	.home-content-center {
		padding-left: 18px;
		padding-right: 18px;
	}

	.home-emergency-tab {
		top: 230px;
		padding: 13px 8px;
		font-size: 10px;
	}

	.emergency-lightbox {
		align-items: flex-start;
		padding: 88px 14px 25px;
	}

	.emergency-lightbox-box {
		width: 100%;
		max-width: 540px;
		min-height: 0px;
		padding: 92px 24px 38px;
		border-radius: 30px;
	}

	.emergency-lightbox-close {
		width: 36px;
		height: 36px;
		top: 18px;
		right: 18px;
		font-size: 18px;
		line-height: 36px;
	}

	.emergency-lightbox-logo,
	.emergency-lightbox-seal {
		width: 124px;
		height: 124px;
		top: -52px;
		left: 50%;
		margin-left: -62px;
	}

	.emergency-lightbox-box .home-small-title {
		padding-bottom: 20px;
		font-size: 14px;
	}

	.emergency-lightbox-title {
		max-width: 100%;
		padding-bottom: 24px;
		font-size: 46px;
		line-height: .94;
	}

	.emergency-lightbox-box > p {
		max-width: 100%;
		padding-bottom: 28px;
		font-size: 14px;
		line-height: 21px;
	}

	.emergency-lightbox-phone {
		width: 100%;
		min-width: 0px;
		max-width: 335px;
		font-size: 16px;
	}



	.home-hero-wrapper {
		padding: 65px 0px 55px;
	}

	.home-hero-content h1 {
		font-size: 45px;
		line-height: .98;
		padding-bottom: 20px;
	}

	.home-hero-content h1 br {
		display: none;
	}

	.home-hero-content p {
		font-size: 15px;
		line-height: 23px;
	}

	.home-button-green,
	.home-button-blue {
		padding: 11px 17px;
		font-size: 12px;
	}

	.home-legacy-wrapper {
		padding-bottom: 70px;
	}

	.home-legacy-grid {
		display: block;
	}

	.home-legacy-image,
	.home-legacy-card {
		width: 100%;
		min-height: 0px;
		margin-bottom: 18px;
		border-radius: 20px;
	}

	.home-legacy-image img {
		height: 430px;
		min-height: 0px;
	}

	.home-legacy-card {
		padding: 35px 28px;
	}

	.home-philosophy-wrapper,
	.home-services-wrapper,
	.home-review-wrapper,
	.home-difference-wrapper,
	.home-new-patient-wrapper,
	.home-team-wrapper {
		padding-bottom: 80px;
	}

	.home-philosophy-left,
	.home-philosophy-right,
	.home-new-patient-content,
	.home-new-patient-images,
	.home-review-image,
	.home-review-content,
	.home-final-image,
	.home-final-content {
		width: 100%;
		float: none;
	}

	.home-philosophy-left,
	.home-new-patient-content {
		padding: 0px 0px 35px;
	}

	.home-philosophy-left h2,
	.home-new-patient-content h2,
	.home-final-content h2,
	.home-section-heading h2 {
		font-size: 46px;
	}

	.home-buttons-left {
		text-align: left;
	}

	.home-stat strong {
		font-size: 27px;
	}

	.home-section-heading {
		padding-bottom: 35px;
	}

	.home-services-grid {
		display: block;
	}

	.home-service-card {
		min-height: 225px;
		margin-bottom: 18px;
	}



	.home-review-wrapper {
		padding: 45px 20px 80px;
	}

	.home-review-wrapper .home-content-center {
		display: block;
	}

	.home-review-image,
	.home-review-content {
		width: 100%;
		height: auto;
		min-width: 0px;
	}

	.home-review-image {
		height: 380px;
		border-radius: 18px 18px 0px 0px;
	}

	.home-review-content {
		min-height: 390px;
		padding: 40px 30px;
		border-radius: 0px 0px 18px 18px;
	}

	.home-review-slider {
		width: 100%;
		height: 245px;
	}

	.home-review-slide,
	.home-review-slide.active {
		width: 100% !important;
	}

	.home-review-slide blockquote,
	.home-review-content blockquote {
		width: 100% !important;
		max-width: none;
		font-size: 25px;
		line-height: 33px;
	}

	.home-difference-title {
		padding: 0px 16px;
	}

	.home-difference-title strong {
		width: 36px;
	}

	.home-difference-title span {
		font-size: 13px;
	}

	.home-difference-content {
		padding: 0px 35px 17px 52px;
	}

	.home-financing-wrapper {
		padding-bottom: 70px;
	}

	.home-financing-box {
		display: block;
		padding: 28px 25px;
		text-align: center;
	}

	.home-financing-box > strong,
	.home-financing-box > p,
	.home-financing-box > a {
		width: 100%;
		display: block;
	}

	.home-financing-box > strong {
		padding-bottom: 15px;
	}

	.home-financing-box > p {
		padding: 0px 0px 18px;
	}

	.home-new-patient-image-large,
	.home-new-patient-image-small {
		width: 50%;
	}

	.home-new-patient-image-large {
		padding-right: 8px;
	}

	.home-new-patient-image-small {
		padding-left: 8px;
	}

	.home-new-patient-image-large img,
	.home-new-patient-image-small img {
		height: 380px;
		border-radius: 18px;
	}

	.home-team-card {
		width: 270px;
		flex-basis: 270px;
	}

	.home-team-image {
		height: 315px;
	}

	.home-final-wrapper {
		padding-bottom: 45px;
	}

	.home-final-box {
		padding: 20px;
		border-radius: 20px;
	}

	.home-final-image {
		border-radius: 17px;
	}

	.xhome-final-image > img {
		height: 360px;
	}

	.home-final-content {
		padding: 35px 5px 10px;
	}
	
	.home-team-track {
	grid-auto-columns: 82%;
	gap: 18px;
	}
	
	.home-team-image {
	height: 340px;
	}


	/* Internal Pages Mobile
	---------------------------------------------------------------------------------*/

	.inner-content-center {
		padding-left: 18px;
		padding-right: 18px;
	}

	.inner-section {
		padding: 35px 0px 75px;
	}

	.inner-hero-wrapper {
		padding: 12px 0px 55px;
	}

	.inner-hero-box,
	.inner-split,
	.inner-split-reverse,
	.about-doctor-card {
		display: block;
	}

	.inner-hero-box {
		padding: 20px;
		border-radius: 22px;
	}

	.inner-hero-copy,
	.inner-hero-image,
	.inner-hero-images,
	.inner-split-image,
	.inner-split-copy,
	.about-doctor-copy,
	.about-doctor-image {
		width: 100%;
	}

	.inner-hero-copy {
		padding: 28px 8px 35px;
	}

	.inner-hero-image {
		min-height: 360px;
	}

	.inner-hero-images {
		display: block;
	}

	.inner-hero-images .inner-hero-image:first-child {
		display: none;
	}

	.inner-display-title {
		font-size: 48px;
	}

	.inner-lead {
		font-size: 14px;
		line-height: 22px;
	}

	.inner-stat-row {
		grid-template-columns: repeat(2, 1fr);
		margin-top: -10px;
	}

	.inner-stat-item {
		padding: 20px;
		border-bottom: 1px solid #e3ecee;
	}

	.inner-stat-item:nth-child(2) {
		border-right: 0px;
	}

	.inner-section-heading {
		padding-bottom: 35px;
	}

	.inner-section-heading h2,
	.inner-split-copy h2,
	.blog-title,
	.single-blog-title {
		font-size: 48px;
	}

	.inner-card-grid,
	.inner-card-grid-four,
	.inner-testimonial-grid,
	.inner-action-grid,
	.inner-form-layout,
	.patient-plan-grid,
	.patient-forms-layout,
	.finance-quote-layout,
	.finance-partner-box,
	.finance-step-grid,
	.service-benefit-layout {
		display: block;
	}

	.inner-card,
	.inner-testimonial-card,
	.inner-action-card,
	.finance-step-card {
		margin-bottom: 18px;
	}

	.inner-split-image {
		margin-bottom: 32px;
	}

	.inner-split-image img {
		height: 390px;
	}

	.inner-colored-box,
	.patient-plan-card,
	.finance-partner-box,
	.inner-form-box {
		padding: 34px 25px;
	}

	.inner-number-list,
	.service-benefit-grid {
		grid-template-columns: 1fr;
	}

	.inner-value-slider {
		grid-auto-columns: 82%;
	}

	.inner-financing-band {
		display: block;
		margin-bottom: 60px;
		padding: 27px 24px;
		text-align: center;
	}

	.inner-financing-band strong,
	.inner-financing-band p,
	.inner-financing-band a {
		display: block;
		width: 100%;
	}

	.inner-financing-band p {
		padding: 16px 0px 20px;
	}

	.inner-action-card img {
		height: 330px;
	}

	.inner-form-box {
		min-height: 0px;
		margin-bottom: 25px;
	}

	.inner-form-box h2 {
		font-size: 44px;
	}

	.inner-quote {
		padding: 45px 0px;
	}

	.inner-quote blockquote {
		font-size: 25px;
		line-height: 33px;
	}

	.inner-faq-title {
		padding-left: 18px;
	}

	.inner-faq-title span {
		padding-right: 10px;
		font-size: 12px;
	}

	.inner-faq-content {
		padding: 0px 45px 18px 18px;
	}

	.service-hero-rating {
		right: 12px;
		bottom: 12px;
	}

	.service-benefit-intro {
		padding: 0px 0px 28px;
	}

	.about-doctor-copy {
		padding: 15px 5px 32px;
	}

	.about-doctor-copy h2,
	.patient-plan-card h2 {
		font-size: 44px;
	}

	.about-doctor-image img {
		height: 390px;
	}

	.patient-plan-card {
		border-radius: 0px;
	}

	.patient-plan-card:first-child {
		border-radius: 20px 20px 0px 0px;
	}

	.patient-plan-card:last-child {
		border-radius: 0px 0px 20px 20px;
	}

	.finance-partner-box > div:first-child {
		padding-bottom: 30px;
	}

	.finance-step-card {
		min-height: 0px;
	}

	.blog-hero {
		padding: 55px 0px 35px;
	}

	.blog-filter {
		width: 100%;
		min-width: 0px;
		max-width: 380px;
	}

	.blog-grid {
		display: block;
		padding-bottom: 65px;
	}

	.blog-card {
		margin-bottom: 20px;
	}

	.blog-card-image {
		height: 260px;
	}

	.single-blog-hero {
		padding: 55px 0px 30px;
	}

	.single-blog-meta span {
		display: block;
		padding: 3px 0px;
	}

	.single-blog-image {
		margin-bottom: 35px;
		border-radius: 20px;
	}

	.single-blog-image img {
		min-height: 340px;
	}

	.single-blog-content {
		padding-left: 5px;
		padding-right: 5px;
	}

	.single-blog-nav {
		grid-template-columns: 1fr 90px 1fr;
		margin-bottom: 55px;
	}

	.single-blog-nav a {
		padding: 9px 12px;
		font-size: 9px;
	}

	.single-blog-nav-logo img {
		width: 82px;
		height: 82px;
	}
	
	
	.about-story-quote {
	margin: 5px 0px 22px;
	padding-left: 18px;
	}
	
	.about-story-quote blockquote {
	font-size: 21px;
	line-height: 28px;
	}
	
	.about-story-image {
	margin-bottom: 45px;
	}
	
	.inner-split-image img.about-story-logo {
	width: 95px;
	height: 95px;
	right: 15px;
	bottom: -38px;
	}
	
	
	



	/* About Mission, Values and Reviews Mobile
	---------------------------------------------------------------------------------*/

	.about-mission-box {
		padding: 35px 25px 30px;
	}

	.about-mission-top {
		padding-bottom: 28px;
	}

	.about-mission-heading,
	.about-mission-copy {
		width: 100%;
	}

	.about-mission-heading {
		padding-bottom: 23px;
	}

	.about-mission-heading h2 {
		font-size: 48px;
	}

	.about-mission-copy {
		padding-top: 0px;
	}

	.about-mission-list {
		display: block;
	}

	.about-mission-list .inner-number-item {
		grid-template-columns: 34px 1fr;
		padding: 22px 0px;
	}

	.about-value-slider {
		grid-auto-columns: 82%;
		padding-bottom: 22px;
	}

	.about-value-slider .inner-value-card {
		min-height: 245px;
		padding: 31px 27px;
	}

	.about-reviews-section {
		padding-top: 20px;
	}

	.about-reviews-section .inner-section-heading h2 br {
		display: none;
	}

	.about-reviews-slider {
		grid-auto-columns: 84%;
		gap: 16px;
		padding: 8px 0px 24px;
	}

	.about-review-card {
		min-height: 295px;
		padding: 35px 28px;
	}

	.about-review-card blockquote {
		font-size: 22px;
		line-height: 30px;
	}

	.about-slider-controls {
		padding-top: 12px;
	}



	/* New Patient Page Refinements Mobile
	---------------------------------------------------------------------------------*/

	.new-patient-hero-box {
		padding-bottom: 18px;
	}

	.new-patient-hero-image {
		min-height: 390px;
	}

	.new-patient-hero-image img {
		object-position: center top;
	}

	.new-patient-stat-row {
		margin-top: 0px;
	}

	.new-patient-stat-row .inner-stat-item {
		padding: 22px 20px;
	}

	.new-patient-finance-heading .inner-split-copy:first-child,
	.new-patient-finance-heading .inner-split-copy:last-child,
	.new-patient-before-heading .inner-split-copy:first-child,
	.new-patient-before-heading .inner-split-copy:last-child {
		width: 100%;
		padding-top: 0px;
	}

	.new-patient-finance-heading .inner-split-copy h2,
	.new-patient-before-heading .inner-split-copy h2 {
		font-size: 48px;
	}

	.new-patient-plan-grid {
		display: block;
	}

	.new-patient-plan-card {
		min-height: 0px;
		padding: 38px 27px 32px;
	}

	.new-patient-plan-card h2 {
		font-size: 42px;
	}

	.new-patient-detail-list li {
		grid-template-columns: 28px 1fr;
	}

	.new-patient-plan-buttons a {
		width: 100%;
	}

	.new-patient-quote {
		padding: 45px 45px 70px;
	}

	.new-patient-quote-slider,
	.new-patient-quote-slide {
		min-height: 300px;
	}

	.new-patient-quote blockquote {
		font-size: 25px;
		line-height: 33px;
	}

	.new-patient-quote-prev {
		left: 5px;
	}

	.new-patient-quote-next {
		right: 5px;
	}

	.new-patient-forms-layout {
		display: block;
	}

	.new-patient-before-card {
		margin-bottom: 20px;
		padding: 34px 27px;
	}

	.new-patient-form-stack {
		gap: 18px;
	}

	.new-patient-form-card-dark,
	.new-patient-form-card-light {
		min-height: 0px;
		padding: 32px 27px;
	}



	/* Financing Page Refinements Mobile
	---------------------------------------------------------------------------------*/

	.financing-hero-image {
		min-height: 390px;
	}

	.financing-hero-image img {
		object-position: center top;
	}

	.financing-stat-row {
		margin-top: 0px;
	}

	.financing-stat-row .inner-stat-item {
		padding: 22px 20px;
	}

	.financing-story-section {
		padding-top: 55px;
	}

	.finance-story-layout {
		display: block;
	}

	.finance-story-left {
		padding-bottom: 35px;
	}

	.finance-story-left h2 {
		font-size: 48px;
	}

	.finance-story-left blockquote {
		font-size: 23px;
		line-height: 31px;
	}

	.finance-story-copy {
		padding-top: 0px;
	}

	.finance-partner-box-detailed {
		display: block;
		padding: 38px 27px 30px;
	}

	.finance-partner-copy {
		padding-bottom: 35px;
	}

	.finance-partner-copy h2 {
		font-size: 48px;
	}

	.finance-partner-buttons a {
		display: block;
		width: 100%;
		margin: 0px 0px 10px;
	}

	.finance-partner-disclaimer {
		padding-top: 24px;
	}

	.finance-step-grid-detailed {
		display: block;
	}

	.finance-step-grid-detailed .finance-step-card {
		min-height: 0px;
		margin-bottom: 18px;
		padding: 31px 27px;
	}

	.finance-step-buttons {
		padding-top: 20px;
	}

	.finance-step-buttons a {
		display: block;
		width: 100%;
		margin: 0px 0px 10px;
	}



	/* Booking Page Refinements Mobile
	---------------------------------------------------------------------------------*/

	.booking-hero-box {
		min-height: 0px;
		padding: 25px;
	}

	.booking-hero-copy,
	.booking-hero-image {
		width: 100%;
	}

	.booking-hero-copy {
		padding: 25px 5px 35px;
	}

	.booking-hero-copy .inner-display-title {
		font-size: 52px;
	}

	.booking-hero-image {
		min-height: 390px;
	}

	.booking-hero-image img {
		object-position: center top;
	}

	.booking-hero-details {
		grid-template-columns: 1fr;
		gap: 17px;
	}

	.booking-financing-band {
		display: block;
		margin: -35px 15px 55px;
		padding: 30px 25px;
		text-align: center;
	}

	.booking-financing-band strong,
	.booking-financing-band p,
	.booking-financing-band a {
		display: block;
		width: 100%;
		max-width: none;
	}

	.booking-financing-band p {
		padding: 18px 0px 22px;
	}

	.booking-form-layout {
		display: block;
	}

	.booking-form-box {
		min-height: 0px;
		margin-bottom: 24px;
		padding: 35px 25px;
	}

	.booking-form-box h2 {
		font-size: 48px;
	}

	.booking-next-card,
	.booking-phone-card {
		padding: 38px 27px 32px;
	}

	.booking-next-card h2,
	.booking-phone-card h2 {
		font-size: 48px;
	}

	.booking-phone-number {
		font-size: 40px;
		line-height: 42px;
	}

	.booking-hours > div {
		display: block;
		padding: 7px 0px;
	}

	.booking-hours span {
		display: block;
		padding-top: 2px;
		text-align: left;
	}

	.booking-actions-section {
		padding-top: 20px;
	}



	/* Basic Page Template Mobile
	---------------------------------------------------------------------------------*/

	.basic-page-wrapper {
		padding-top: 5px;
	}

	.basic-page-hero {
		padding: 5px 0px 28px;
	}

	.basic-page-hero-box {
		display: block;
		min-height: 0px;
		padding: 24px;
	}

	.basic-page-hero-copy,
	.basic-page-hero-no-image .basic-page-hero-copy {
		width: 100%;
		padding: 25px 5px 30px;
	}

	.basic-page-hero-copy h1 {
		font-size: 52px;
	}

	.basic-page-hero-image {
		width: 100%;
		min-height: 310px;
	}

	.basic-page-hero-mark {
		width: 100%;
		height: 165px;
	}

	.basic-page-hero-mark:before {
		width: 170px;
		height: 170px;
	}

	.basic-page-hero-mark img {
		width: 120px;
		height: 120px;
	}

	.basic-page-content-section {
		padding-bottom: 55px;
	}

	.basic-page-content {
		padding: 35px 25px 40px;
		border-radius: 20px;
	}

	.basic-page-content h1,
	.basic-page-content h2 {
		font-size: 43px;
	}

	.basic-page-content h3 {
		font-size: 20px;
		line-height: 26px;
	}

	.basic-page-content p,
	.basic-page-content ul li,
	.basic-page-content ol li {
		font-size: 14px;
		line-height: 23px;
	}

	.basic-page-content blockquote {
		padding-left: 18px;
		font-size: 21px;
		line-height: 29px;
	}

	.basic-page-content table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.basic-page-content .gform_wrapper {
		padding: 30px 22px 32px;
		border-radius: 18px;
	}

	.basic-page-content .gform_wrapper .gform_title {
		font-size: 42px;
	}

	.basic-page-content .gform_wrapper .gform_fields {
		display: block;
	}

	.basic-page-content .gform_wrapper .gfield {
		width: 100%;
		margin-bottom: 17px;
	}

	.basic-page-content .gform_wrapper input[type="submit"],
	.basic-page-content .gform_wrapper input[type="button"],
	.basic-page-content .gform_wrapper button {
		width: 100%;
	}

	.basic-page-content .gform_wrapper .ginput_recaptcha {
		overflow-x: auto;
	}



	/* Services Landing Refinements Mobile
	---------------------------------------------------------------------------------*/

	.services-page .inner-hero-wrapper {
		padding-bottom: 60px;
	}

	.services-hero-box {
		min-height: 0px;
		padding: 22px;
	}

	.services-hero-copy {
		width: 100%;
		padding: 28px 8px 38px;
	}

	.services-hero-copy .inner-display-title {
		font-size: 50px;
	}

	.services-hero-images {
		display: block;
		width: 100%;
	}

	.services-hero-images .inner-hero-image:first-child {
		display: none;
	}

	.services-hero-images .inner-hero-image:last-child {
		display: block;
		width: 100%;
		height: 380px;
		min-height: 380px;
	}

	.services-intro {
		padding-bottom: 42px;
	}

	.services-card-grid {
		display: block;
	}

	.services-card {
		min-height: 260px;
		margin-bottom: 20px;
		padding: 35px 28px 30px;
	}

	.services-card h3 {
		font-size: 20px;
		line-height: 25px;
	}

	.services-card p {
		font-size: 13px;
		line-height: 21px;
	}

	.services-card .inner-card-link {
		left: 28px;
		bottom: 27px;
	}

	.services-page .inner-financing-band {
		margin-top: 5px;
	}

	.services-page .home-team-card small {
		padding-left: 40px;
	}

}


/* Client Feedback Refinements - August 12, 2026
---------------------------------------------------------------------------------*/

/* Exported artwork ------------------------------------------------------------ */

.home-stars img,
.inner-testimonial-stars img {
	display: block;
	width: auto;
	height: auto;
}

.home-stars img {
	width: 112px;
	max-width: 100%;
}

.inner-testimonial-stars img {
	width: 118px;
	max-width: 100%;
}

.service-hero-rating span {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
}

.service-hero-rating span img {
	display: block;
	width: 74px;
	height: auto;
}

.new-patient-list-icon,
.finance-list-icon {
	background: transparent;
	border-radius: 0px;
}

.new-patient-list-icon img,
.finance-list-icon img {
	display: block;
	width: 21px;
	height: 21px;
	object-fit: contain;
}

/* Exact supplied northeast-arrow artwork. */
.home-service-card a span,
.home-team-card a span,
.inner-arrow,
.services-page .home-team-card > a span,
.booking-actions-section .inner-arrow {
	display: inline-block !important;
	flex: 0 0 34px !important;
	width: 34px !important;
	height: 34px !important;
	margin: 0px 11px 0px 0px !important;
	padding: 0px !important;
	background-color: transparent !important;
	background-image: url('img/Button.png') !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
	border: 0px !important;
	border-radius: 0px !important;
	box-shadow: none !important;
	font-size: 0px !important;
	line-height: 34px !important;
	vertical-align: middle !important;
	transition: transform 250ms ease, opacity 250ms ease !important;
}

.home-service-card a span:before,
.home-service-card a span:after,
.home-team-card a span:before,
.home-team-card a span:after,
.inner-arrow:before,
.inner-arrow:after,
.services-page .home-team-card > a span:before,
.services-page .home-team-card > a span:after,
.booking-actions-section .inner-arrow:before,
.booking-actions-section .inner-arrow:after {
	display: none !important;
	content: none !important;
}

.home-service-card:hover a span,
.home-team-card:hover a span,
.inner-card:hover .inner-arrow,
.inner-action-card:hover .inner-arrow,
.services-card:hover .inner-arrow,
.services-page .home-team-card:hover > a span {
	background-color: transparent !important;
	background-image: url('img/Button-HOVER-STATE.png') !important;
	transform: translateY(-1px) !important;
}

.home-service-card.home-service-featured a span,
.services-card.inner-card-featured .inner-arrow,
.booking-actions-section .inner-action-card:first-child .inner-arrow,
.services-page .home-team-card:first-child > a span {
	background-color: transparent !important;
	background-image: url('img/Button-HOVER-STATE.png') !important;
}

/* Exported directional buttons for sliders. */
.home-review-arrow,
.home-team-controls button,
.about-slider-controls button,
.new-patient-quote-arrow {
	width: 38px !important;
	height: 38px !important;
	padding: 0px !important;
	background-color: transparent !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
	border: 0px !important;
	border-radius: 0px !important;
	box-shadow: none !important;
	font-size: 0px !important;
	cursor: pointer;
}

.home-review-arrow:before,
.home-review-arrow:after,
.home-team-controls button:before,
.home-team-controls button:after,
.about-slider-controls button:before,
.about-slider-controls button:after,
.new-patient-quote-arrow:before,
.new-patient-quote-arrow:after {
	display: none !important;
	content: none !important;
}

.home-review-prev,
.home-team-prev,
.about-slider-prev,
.new-patient-quote-prev {
	background-image: url('img/Button-02.png') !important;
}

.home-review-next,
.home-team-next,
.about-slider-next,
.new-patient-quote-next {
	background-image: url('img/Button-HOVER-STATE.png') !important;
}

.home-review-arrow:hover,
.home-team-controls button:hover,
.about-slider-controls button:hover,
.new-patient-quote-arrow:hover {
	opacity: .82;
}

/* FAQ and expandable rows use the supplied button artwork site-wide. */
.inner-faq-title i,
.home-difference-title i {
	width: 32px !important;
	height: 32px !important;
	flex: 0 0 32px;
	padding: 0px !important;
	background-color: transparent !important;
	background-image: url('img/Button.png') !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
	border: 0px !important;
	border-radius: 0px !important;
	font-size: 0px !important;
	transform: rotate(90deg);
	transition: transform 250ms ease, opacity 250ms ease;
}

.inner-faq-title i:before,
.inner-faq-title i:after,
.home-difference-title i:before,
.home-difference-title i:after {
	display: none !important;
	content: none !important;
}

.inner-faq-item.open .inner-faq-title i,
.home-difference-item.open .home-difference-title i {
	background-color: transparent !important;
	background-image: url('img/Button-HOVER-STATE.png') !important;
	transform: rotate(0deg);
}

/* Desktop scale and layout corrections --------------------------------------- */
@media screen and (min-width: 1001px) {

	body {
		font-size: 17px;
	}

	.home-content-center,
	.inner-content-center {
		max-width: 1900px;
		padding-left: 24px;
		padding-right: 24px;
	}

	.home-content-small,
	.inner-content-small {
		max-width: 1520px;
	}

	.home-content-xsmall,
	.inner-content-xsmall {
		max-width: 1020px;
	}

	.header-center {
		max-width: 1660px;
		padding-left: 20px;
		padding-right: 20px;
	}


	.home-button-green,
	.home-button-blue {
		padding: 13px 24px;
		font-size: 14px;
	}

	.inner-lead {
		max-width: 690px;
		font-size: 17px;
		line-height: 27px;
	}

	.inner-section-heading p,
	.services-intro p,
	.home-section-heading p,
	.home-new-patient-content p,
	.finance-story-intro,
	.finance-story-copy p,
	.booking-form-intro {
		font-size: 15px;
		line-height: 24px;
	}

	/* Home */
	.home-hero-wrapper {
		padding-top: 115px;
		padding-bottom: 90px;
	}

	.home-hero-content {
		max-width: 1400px;
	}

	.home-hero-content h1 {
		font-size: 86px;
		line-height: .96;
		letter-spacing: -1.75px;
		padding-bottom: 28px;
	}

	.home-hero-content p {
		max-width: 760px;
		font-size: 19px;
		line-height: 29px;
	}

	.home-legacy-grid {
		gap: 24px;
	}

	.home-legacy-image,
	.home-legacy-card {
		min-height: 455px;
		height: 455px;
	}

	.home-legacy-card {
		display: flex;
		flex-direction: column;
		padding: 48px 46px 42px;
		background: #fcf7ef;
	}

	.home-legacy-card h3 {
		padding-bottom: 20px;
		font-family: 'Be Vietnam Pro', sans-serif;
		font-size: 28px;
		font-weight: 400;
		line-height: 35px;
	}

	.home-legacy-card > p {
		font-size: 15px;
		line-height: 24px;
	}

	.home-rating-card {
		margin-top: auto;
		padding: 22px 24px;
	}

	.home-rating-card strong {
		font-size: 14px;
	}

	.home-rating-card small {
		font-size: 12px;
		line-height: 18px;
	}

	.home-review-wrapper .home-content-center {
		max-width: 1540px;
		gap: 24px;
	}

	.home-review-image,
	.home-review-content {
		width: calc(50% - 12px);
		height: 585px;
	}

	.home-review-content {
		padding: 55px 65px;
		background: #fcf7ef;
	}

	.home-review-slider {
		height: 250px;
	}

	.home-review-slide blockquote,
	.home-review-content blockquote {
		max-width: 600px;
		font-size: 32px;
		line-height: 41px;
	}

	.home-financing-box {
		gap: 28px;
		padding: 32px 38px;
	}

	.home-financing-box > strong {
		width: 24%;
		font-size: 21px;
		line-height: 27px;
	}

	.home-financing-box > p {
		flex: 1 1 auto;
		width: auto;
		padding: 0px;
		font-size: 14px;
		line-height: 23px;
	}

	.home-financing-box > a {
		flex: 0 0 auto;
		width: auto;
		min-width: 0px;
		white-space: nowrap;
	}

	/* Shared final CTA: vertically centered instead of docked top-left. */
	.home-final-box {
		display: flex;
		align-items: stretch;
		min-height: 510px;
		padding: 35px;
	}

	.home-final-image {
		float: none;
		width: 43%;
		min-height: 440px;
	}

	.home-final-image > img {
		width: 100%;
		height: 100%;
		min-height: 440px;
		object-fit: cover;
		object-position: center 28%;
	}

	.home-final-content {
		display: flex;
		float: none;
		flex-direction: column;
		justify-content: center;
		width: 57%;
		padding: 45px 70px;
	}

	.home-final-content > * {
		width: 100%;
		max-width: 610px;
	}

	.home-final-content h2 {
		font-size: 68px;
	}

	.home-final-content p {
		font-size: 15px;
		line-height: 24px;
	}

	/* About */
	.about-people-intro {
		display: grid;
		grid-template-columns: 1.05fr .95fr;
		gap: 80px;
		align-items: end;
		max-width: 1460px;
		margin: 0 auto;
		padding: 15px 20px 48px;
	}

	.about-people-heading h2 {
		font-family: 'Asiaroma', serif;
		font-size: 70px;
		font-weight: 400;
		line-height: .94;
		letter-spacing: -1px;
		color: #075466;
	}

	.about-people-copy {
		padding-bottom: 7px;
	}

	.about-people-copy p {
		max-width: 610px;
		font-size: 16px;
		line-height: 26px;
	}

	.about-doctor-card {
		max-width: 1460px;
		margin: 0 auto;
	}

	.about-page #team-list .home-section-heading {
		max-width: 820px;
		padding-bottom: 38px;
	}

	.about-page #team-list .home-section-heading p {
		font-size: 16px;
		line-height: 26px;
	}

	.about-reviews-section .inner-section-heading h2 {
		font-size: 78px;
		line-height: .94;
	}

	.about-review-card {
		min-height: 340px;
		padding: 48px 50px;
	}

	/* Services landing */
	.services-grid-content {
		max-width: 1480px;
	}

	.services-hero-box {
		min-height: 500px;
		padding: 42px 48px;
	}

	.services-hero-copy {
		width: 43%;
		padding-right: 68px;
	}

	.services-hero-copy .inner-display-title {
		font-size: 80px;
		line-height: .94;
	}

	.services-hero-images {
		grid-template-columns: .62fr 1.38fr;
		align-items: end;
		gap: 24px;
		width: 57%;
	}

	.services-hero-images .inner-hero-image:first-child {
		height: 255px;
		align-self: start;
		margin-top: 45px;
	}

	.services-hero-images .inner-hero-image:last-child {
		height: 385px;
	}

	.services-hero-images .inner-hero-image img {
		object-position: center 20%;
	}

	.services-intro {
		max-width: 860px;
		padding-bottom: 72px;
	}

	.services-card-grid {
		gap: 30px 28px;
	}

	.services-card {
		min-height: 335px;
		padding: 46px 42px 38px;
		border-radius: 21px;
	}

	.services-card h3 {
		padding-bottom: 20px;
		font-family: 'Be Vietnam Pro', sans-serif;
		font-size: 30px;
		font-weight: 400;
		line-height: 37px;
	}

	.services-card p {
		padding-bottom: 58px;
		font-size: 15px;
		line-height: 24px;
	}

	.services-card .inner-card-link {
		left: 42px;
		bottom: 34px;
		font-size: 13px;
	}

	.inner-financing-band {
		gap: 28px;
		padding: 32px 38px;
	}

	.inner-financing-band strong {
		flex: 0 0 24%;
		width: auto;
		font-size: 21px;
		line-height: 27px;
	}

	.inner-financing-band p {
		flex: 1 1 auto;
		width: auto;
		padding: 0px;
		font-size: 14px;
		line-height: 23px;
	}

	.inner-financing-band a {
		flex: 0 0 auto;
		width: auto;
		max-width: none;
		white-space: nowrap;
	}

	/* New Patients + Financing scale */
	.new-patient-stat-row,
	.financing-stat-row {
		min-height: 142px;
	}

	.new-patient-stat-row .inner-stat-item,
	.financing-stat-row .inner-stat-item {
		padding: 31px 34px 32px;
	}

	.new-patient-stat-label,
	.financing-stat-label {
		font-size: 12px;
		line-height: 16px;
	}

	.new-patient-stat-row .inner-stat-item strong,
	.financing-stat-row .inner-stat-item strong {
		font-size: 22px;
		line-height: 28px;
	}

	.new-patient-stat-row .inner-stat-item span,
	.financing-stat-row .inner-stat-item span {
		font-size: 13px;
		line-height: 20px;
	}

	.new-patient-plan-subhead {
		padding: 0px 0px 10px;
		font-family: 'Be Vietnam Pro', sans-serif;
		font-size: 18px;
		font-weight: 400;
		line-height: 24px;
		color: #fff;
	}

	.new-patient-quote {
		max-width: 1180px;
		padding-left: 135px;
		padding-right: 135px;
	}

	.new-patient-quote blockquote {
		max-width: 790px;
		font-size: 34px;
		line-height: 43px;
	}

	.new-patient-quote-prev {
		left: 85px;
	}

	.new-patient-quote-next {
		right: 85px;
	}

	/* Requested white-outline hover states in the dark New Patient panels. */
	.new-patient-plan-card-dark .home-button-green:hover,
	.new-patient-plan-card-dark .home-button-blue:hover,
	.new-patient-form-card-dark .home-button-green:hover,
	.new-patient-form-card-dark .home-button-blue:hover {
		background: transparent !important;
		border-color: #fff !important;
		color: #fff !important;
		box-shadow: none;
		transform: none;
	}

	/* Booking / Contact form */
	.booking-form-box {
		padding: 55px 58px 62px;
		background: #fbf4ea;
		box-shadow: none;
	}

	.booking-form-box .gform_wrapper {
		margin-top: 28px;
	}

	.booking-form-box .gform_wrapper .gform_fields {
		row-gap: 18px;
		column-gap: 16px;
	}

	.booking-form-box .gform_wrapper .gfield {
		margin-bottom: 4px;
	}

	.booking-form-box .gform_wrapper .gfield_label,
	.booking-form-box .gform_wrapper label {
		font-family: 'Spline Sans', sans-serif;
		font-size: 12px;
		font-weight: 600;
		line-height: 17px;
		color: #075466;
	}

	.booking-form-box .gform_wrapper input[type="text"],
	.booking-form-box .gform_wrapper input[type="email"],
	.booking-form-box .gform_wrapper input[type="tel"],
	.booking-form-box .gform_wrapper input[type="url"],
	.booking-form-box .gform_wrapper input[type="number"],
	.booking-form-box .gform_wrapper input[type="date"],
	.booking-form-box .gform_wrapper select,
	.booking-form-box .gform_wrapper textarea {
		width: 100%;
		min-height: 50px;
		padding: 13px 16px !important;
		background: #fff;
		border: 1px solid #d7e4e6;
		border-radius: 12px;
		box-shadow: none;
		font-family: 'Spline Sans', sans-serif;
		font-size: 14px;
		font-weight: 300;
		color: #075466;
		transition: border-color 200ms ease, box-shadow 200ms ease;
	}

	.booking-form-box .gform_wrapper textarea {
		min-height: 135px;
		resize: vertical;
	}

	.booking-form-box .gform_wrapper input:focus,
	.booking-form-box .gform_wrapper select:focus,
	.booking-form-box .gform_wrapper textarea:focus {
		border-color: #45ba9e;
		box-shadow: 0px 0px 0px 3px rgba(69, 186, 158, .12);
	}

	.booking-form-box .gform_wrapper .gform_footer,
	.booking-form-box .gform_wrapper .gform_page_footer {
		padding-top: 22px;
	}

	.booking-form-box .gform_wrapper input[type="submit"],
	.booking-form-box .gform_wrapper input[type="button"],
	.booking-form-box .gform_wrapper button[type="submit"] {
		min-width: 175px;
		padding: 13px 24px !important;
		background: #45ba9e;
		border: 1px solid #45ba9e;
		border-radius: 30px;
		box-shadow: none;
		font-family: 'Spline Sans', sans-serif;
		font-size: 14px;
		font-weight: 600;
		color: #fff;
		cursor: pointer;
	}

	.booking-form-box .gform_wrapper input[type="submit"]:hover,
	.booking-form-box .gform_wrapper input[type="button"]:hover,
	.booking-form-box .gform_wrapper button[type="submit"]:hover {
		background: #075466;
		border-color: #075466;
	}

	/* Blog cards to match the supplied design treatment. */
	.blog-grid {
		gap: 32px;
	}

	.blog-card {
		padding: 24px;
		border-radius: 23px;
		box-shadow: 0px 14px 34px rgba(0, 54, 66, .075);
	}

	.blog-card-topic {
		padding-bottom: 14px;
		xfont-size: 12px;
		line-height: 17px;
	}

	.blog-card-image {
		height: 255px;
		border-radius: 16px;
	}

	.blog-card h2 {
		padding: 22px 0px 17px;
		font-family: 'Be Vietnam Pro', sans-serif;
		font-size: 27px;
		font-weight: 400;
		line-height: 31px;
	}

	.blog-card-read {
		display: flex;
		align-items: center;
		font-size: 13px;
	}

	/* Footer */
	.footer-hours p {
		display: flex;
		align-items: baseline;
		justify-content: flex-start;
		gap: 12px;
	}

	.footer-hours span {
		float: none;
	}
}

/* Mobile refinements for the new client-feedback changes. */
@media screen and (max-width: 1000px) {

	body {
		font-size: 16px;
	}

	.home-content-center,
	.inner-content-center {
		padding-left: 18px;
		padding-right: 18px;
	}

	.home-hero-content h1 {
		font-size: 56px;
		line-height: .98;
	}

	.home-legacy-card {
		display: flex;
		flex-direction: column;
		background: #fcf7ef;
	}

	.home-rating-card {
		margin-top: auto;
	}

	.home-stars img {
		width: 105px;
	}

	.home-review-arrow,
	.home-team-controls button,
	.about-slider-controls button,
	.new-patient-quote-arrow {
		width: 34px !important;
		height: 34px !important;
	}

	.home-final-content {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.about-people-intro {
		display: block;
		padding: 0px 5px 34px;
	}

	.about-people-heading h2 {
		padding-bottom: 22px;
		font-family: 'Asiaroma', serif;
		font-size: 50px;
		font-weight: 400;
		line-height: .96;
		color: #075466;
	}

	.about-people-copy p {
		font-size: 14px;
		line-height: 23px;
	}

	.about-reviews-section .inner-section-heading h2 {
		font-size: 52px;
	}

	.services-card h3 {
		font-family: 'Be Vietnam Pro', sans-serif;
		font-size: 30px;
		font-weight: 400;
		line-height: 36px;
	}

	.new-patient-plan-subhead {
		padding-bottom: 9px;
		font-family: 'Be Vietnam Pro', sans-serif;
		font-size: 17px;
		font-weight: 400;
		line-height: 23px;
		color: #fff;
	}

	.new-patient-list-icon img,
	.finance-list-icon img {
		width: 20px;
		height: 20px;
	}

	.booking-form-box {
		background: #fbf4ea;
	}

	.booking-form-box .gform_wrapper input[type="text"],
	.booking-form-box .gform_wrapper input[type="email"],
	.booking-form-box .gform_wrapper input[type="tel"],
	.booking-form-box .gform_wrapper input[type="url"],
	.booking-form-box .gform_wrapper input[type="number"],
	.booking-form-box .gform_wrapper input[type="date"],
	.booking-form-box .gform_wrapper select,
	.booking-form-box .gform_wrapper textarea {
		width: 100%;
		padding: 13px 14px !important;
		background: #fff;
		border: 1px solid #d7e4e6;
		border-radius: 11px;
		font-size: 16px;
		color: #075466;
	}

	.booking-form-box .gform_wrapper input[type="submit"],
	.booking-form-box .gform_wrapper input[type="button"],
	.booking-form-box .gform_wrapper button[type="submit"] {
		width: 100%;
		padding: 14px 22px !important;
		background: #45ba9e;
		border: 1px solid #45ba9e;
		border-radius: 30px;
		font-size: 14px;
		font-weight: 600;
		color: #fff;
	}

	.blog-card h2 {
		font-family: 'Be Vietnam Pro', sans-serif;
		font-size: 25px;
		font-weight: 400;
		line-height: 30px;
	}

	.footer-hours p {
		display: flex;
		justify-content: flex-start;
		gap: 10px;
	}

	.footer-hours span {
		float: none;
	}
}

.new-patient-quote-slide:not(.current-quote) {
	display: none;
}

.new-patient-quote-slide.current-quote {
	display: block;
}

/* Desktop readability pass for the repeated small-text components. */
@media screen and (min-width: 1001px) {
	.home-small-title,
	.inner-kicker {
		font-size: 17px;
	}

	.home-service-card h3,
	.inner-value-card h3,
	.inner-number-item h3,
	.inner-step-item h3,
	.finance-step-card h3 {
		font-size: 18px;
		line-height: 24px;
	}

	.home-service-card p,
	.inner-card p,
	.inner-value-card p,
	.inner-number-item p,
	.inner-step-item p,
	.inner-faq-content p,
	.new-patient-detail-list p,
	.finance-detail-list p,
	.booking-phone-card > p {
		font-size: 14px;
		line-height: 22px;
	}

	.home-service-card a,
	.inner-card-link,
	.inner-action-card-content a,
	.blog-card-read {
		font-size: 13px;
	}

	.home-team-card small,
	.inner-action-card-content small {
		font-size: 12px;
	}

	.home-difference-title span {
		font-size: 16px;
	}

	.home-financing-box > p {
		font-size: 15px;
		line-height: 24px;
	}

	.inner-check-list li {
		font-size: 14px;
		line-height: 23px;
	}
}

/* Final client-feedback alignment additions ---------------------------------- */
@media screen and (min-width: 1001px) {

	.about-team-intro {
		display: grid;
		grid-template-columns: 1.05fr .95fr;
		gap: 80px;
		align-items: end;
		max-width: 1460px;
		margin: 0 auto;
		padding: 0 20px 42px;
	}

	.about-team-intro-copy {
		padding-bottom: 2px;
	}

	.about-team-intro-copy p {
		max-width: 610px;
		margin-left: auto;
		font-size: 16px;
		line-height: 26px;
	}

	.blog-actions-section {
		padding-top: 0;
	}

}

@media screen and (max-width: 1000px) {

	.about-team-intro {
		display: block;
		padding-bottom: 34px;
	}

	.about-team-intro-copy {
		margin-top: 20px;
	}

	.about-team-intro-copy p {
		font-size: 15px;
		line-height: 24px;
	}

	.blog-actions-section {
		padding-top: 0;
	}

}


/* About team-philosophy intro: match the design's left label / right copy layout. */
@media screen and (min-width: 1001px) {
	.about-page #team-list .home-section-heading {
		display: grid;
		grid-template-columns: .9fr 1.1fr;
		gap: 70px;
		align-items: start;
		width: 100%;
		max-width: 1460px;
		margin: 0 auto;
		padding: 0px 20px 42px;
		text-align: left;
	}

	.about-page #team-list .home-section-heading .home-small-title {
		margin: 0px;
		padding: 0px;
		justify-self: start;
	}

	.about-page #team-list .home-section-heading p {
		max-width: 650px;
		margin: 0px;
		padding: 0px;
		justify-self: start;
	}
}

@media screen and (max-width: 1000px) {
	.about-page #team-list .home-section-heading {
		display: block;
		text-align: left;
	}

	.about-page #team-list .home-section-heading .home-small-title {
		margin-bottom: 16px;
	}
}


/* --------------------------------------------------------------------------
   08/12/2026 - Arrow + Desktop Hover Polish
   Matches the supplied design file: small square NE icons on cards,
   simple chevrons for horizontal slider navigation.
---------------------------------------------------------------------------- */

/* Keep the supplied card/action arrow artwork compact. */
.home-service-card a span,
.home-team-card a span,
.inner-arrow,
.services-page .home-team-card > a span,
.booking-actions-section .inner-arrow {
	flex: 0 0 26px !important;
	width: 26px !important;
	height: 26px !important;
	margin-right: 9px !important;
	line-height: 26px !important;
	background-size: 26px 26px !important;
	transform: none !important;
	transition: opacity 200ms ease !important;
}

/* Hover changes artwork only; do not make the icon jump or grow. */
.home-service-card:hover a span,
.home-team-card:hover a span,
.inner-card:hover .inner-arrow,
.inner-action-card:hover .inner-arrow,
.services-card:hover .inner-arrow,
.services-page .home-team-card:hover > a span {
	transform: none !important;
}

/* Slider navigation in the approved design is a plain chevron + progress bar,
   not the square northeast-arrow artwork used inside cards. */
.home-team-controls button,
.about-slider-controls button {
	width: 28px !important;
	height: 32px !important;
	padding: 0 !important;
	position: relative !important;
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #075466 !important;
	font-size: 0 !important;
	line-height: 32px !important;
	opacity: 1 !important;
	transform: none !important;
	transition: color 200ms ease, opacity 200ms ease !important;
}

.home-team-controls button:after,
.about-slider-controls button:after {
	display: none !important;
	content: none !important;
}

.home-team-controls button:before,
.about-slider-controls button:before {
	display: block !important;
	width: 9px !important;
	height: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	right: auto !important;
	bottom: auto !important;
	background: currentColor !important;
	background-image: none !important;
	border: 0 !important;
	content: '' !important;
	transform-origin: center center !important;

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'%3E%3Cpath d='M2 1l7 7-7 7' fill='none' stroke='black' stroke-width='1.55' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") !important;
	-webkit-mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	-webkit-mask-size: contain !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'%3E%3Cpath d='M2 1l7 7-7 7' fill='none' stroke='black' stroke-width='1.55' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") !important;
	mask-repeat: no-repeat !important;
	mask-position: center !important;
	mask-size: contain !important;
}

.home-team-prev:before,
.about-slider-prev:before {
	transform: translate(-50%, -50%) rotate(180deg) !important;
}

.home-team-next:before,
.about-slider-next:before {
	transform: translate(-50%, -50%) !important;
}

.home-team-controls button:hover,
.about-slider-controls button:hover {
	background: transparent !important;
	background-image: none !important;
	color: #45ba9e !important;
	opacity: 1 !important;
	transform: none !important;
}

/* Keep the progress bars visually light like the supplied comps. */
.home-team-progress,
.about-slider-progress {
	height: 4px !important;
}

/* Desktop-only: card hover should feel subtle rather than oversized. */
@media screen and (min-width: 1001px) {
	.home-service-card a span,
	.home-team-card a span,
	.inner-arrow,
	.services-page .home-team-card > a span,
	.booking-actions-section .inner-arrow {
		flex-basis: 26px !important;
		width: 26px !important;
		height: 26px !important;
		background-size: 26px 26px !important;
	}
}

/* --------------------------------------------------------------------------
   08/12/2026 - Final card hover, rating + team polish
   Keeps desktop service cards stable, uses reliable CSS arrows, matches the
   supplied rating badge proportions, and supports real/placeholder team cards.
---------------------------------------------------------------------------- */

/* Service-card hover should be subtle: no large desktop jump. */
.home-service-card:hover,
.inner-card:hover {
	top: 0px !important;
	background: #fff !important;
	box-shadow: 0px 16px 36px rgba(0, 54, 66, .11) !important;
}

/* The featured card in the design keeps its lime bottom rule visible. */
.home-service-card.home-service-featured:after {
	opacity: 1 !important;
}

/* Reliable square northeast-arrow system.
   Do not depend on the exported PNG for hover rendering. */
.home-service-card a span,
.home-team-card a span,
.inner-arrow,
.services-page .home-team-card > a span,
.booking-actions-section .inner-arrow {
	display: inline-flex !important;
	flex: 0 0 28px !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	margin: 0px 10px 0px 0px !important;
	padding: 0px !important;
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	background: #dceff3 !important;
	background-image: none !important;
	border: 0px !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	color: #075466 !important;
	font-size: 0px !important;
	line-height: 28px !important;
	overflow: hidden !important;
	transform: none !important;
	transition: background 180ms ease, color 180ms ease !important;
}

.home-service-card a span:before,
.home-team-card a span:before,
.inner-arrow:before,
.services-page .home-team-card > a span:before,
.booking-actions-section .inner-arrow:before {
	display: block !important;
	width: 14px !important;
	height: 14px !important;
	margin: 0px !important;
	padding: 0px !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	right: auto !important;
	bottom: auto !important;
	background: currentColor !important;
	border: 0px !important;
	content: '' !important;
	transform: translate(-50%, -50%) !important;
	transform-origin: center center !important;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 13L13 3M7 3h6v6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") !important;
	-webkit-mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	-webkit-mask-size: contain !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 13L13 3M7 3h6v6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") !important;
	mask-repeat: no-repeat !important;
	mask-position: center !important;
	mask-size: contain !important;
}

.home-service-card a span:after,
.home-team-card a span:after,
.inner-arrow:after,
.services-page .home-team-card > a span:after,
.booking-actions-section .inner-arrow:after {
	display: none !important;
	content: none !important;
}

.home-service-card:hover a span,
.home-team-card:hover a span,
.inner-card:hover .inner-arrow,
.inner-action-card:hover .inner-arrow,
.services-card:hover .inner-arrow,
.home-service-card.home-service-featured a span,
.services-card.inner-card-featured .inner-arrow,
.booking-actions-section .inner-action-card:first-child .inner-arrow,
.services-page .home-team-card:first-child > a span,
.services-page .home-team-card:hover > a span {
	background: #45ba9e !important;
	background-image: none !important;
	color: #fff !important;
	transform: none !important;
}

/* Match the preventative-service hero rating badge in the supplied design. */
.service-hero-rating {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	right: 20px !important;
	bottom: 18px !important;
	padding: 12px 17px !important;
	background: #fff !important;
	border-radius: 13px !important;
	box-shadow: 0px 7px 22px rgba(0, 54, 66, .10) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	white-space: nowrap !important;
}

.service-hero-rating span {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0px !important;
	line-height: 1 !important;
}

.service-hero-rating span img {
	display: block !important;
	width: 108px !important;
	height: auto !important;
	max-width: none !important;
}

/* Team cards: three full cards on desktop, matching the design. */
@media screen and (min-width: 1001px) {
	.home-team-track {
		grid-auto-columns: calc((100% - 48px) / 3) !important;
	}
}

.home-team-placeholder {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #dceff3 !important;
}

.home-team-placeholder img {
	width: 46% !important;
	height: auto !important;
	max-height: 62% !important;
	object-fit: contain !important;
	transform: none !important;
}

.home-team-card:hover .home-team-placeholder img {
	transform: none !important;
}

/* Long doctor names should wrap cleanly without colliding with the icon. */
.home-team-card > a,
.services-page .home-team-card > a {
	display: flex !important;
	align-items: flex-start !important;
	line-height: 1.25 !important;
}

.home-team-card small,
.services-page .home-team-card small {
	padding-left: 38px !important;
}

@media screen and (max-width: 1000px) {
	.service-hero-rating {
		right: 12px !important;
		bottom: 12px !important;
		gap: 7px !important;
		padding: 9px 12px !important;
		border-radius: 10px !important;
		font-size: 10px !important;
	}

	.service-hero-rating span img {
		width: 72px !important;
	}
}

/* Team-profile action icons are green in the approved comps, not pale blue. */
.home-team-card a span,
.services-page .home-team-card > a span {
	background: #45ba9e !important;
	background-image: none !important;
	color: #fff !important;
}


/* --------------------------------------------------------------------------
   08/12/2026 - Final New Patients review + page CTA comparison fixes
---------------------------------------------------------------------------- */

/* New Patients review arrows: keep the exported square buttons, but pin them
   beside the quote instead of allowing the global slider rule to put them in flow. */
.new-patient-quote {
	position: relative !important;
}

.new-patient-quote-arrow {
	width: 31px !important;
	height: 31px !important;
	position: absolute !important;
	top: 53% !important;
	z-index: 5 !important;
	background-size: 31px 31px !important;
	transform: translateY(-50%) !important;
	opacity: 1 !important;
}

.new-patient-quote-prev {
	left: 68px !important;
	right: auto !important;
	background-image: url('img/Button-02.png') !important;
}

.new-patient-quote-next {
	right: 68px !important;
	left: auto !important;
	background-image: url('img/Button-HOVER-STATE.png') !important;
}

.new-patient-quote-arrow:hover {
	opacity: 1 !important;
	transform: translateY(-50%) !important;
}

/* Final CTA seal shown in the supplied page comps. */
.home-final-seal {
	display: block;
	width: 82px;
	height: 82px;
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 5;
	object-fit: contain;
}

/* Allow page-specific CTA copy to stay vertically centered. */
.home-final-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* The final CTA buttons should remain compact even when page-specific labels change. */
.home-final-content .home-buttons a {
	width: auto !important;
	min-width: 0 !important;
}

@media screen and (max-width: 1000px) {
	.new-patient-quote-arrow {
		width: 28px !important;
		height: 28px !important;
		top: 54% !important;
		background-size: 28px 28px !important;
	}

	.new-patient-quote-prev {
		left: 12px !important;
	}

	.new-patient-quote-next {
		right: 12px !important;
	}

	.home-final-seal {
		width: 62px;
		height: 62px;
		top: 12px;
		left: 12px;
	}
}

/* --------------------------------------------------------------------------
   08/12/2026 - Service detail + final CTA correction
   Fixes the service-detail photo mapping, rating art, testimonial rail,
   and prevents the final CTA seal from being stretched as the main image.
---------------------------------------------------------------------------- */

/* The first image is the CTA photo. The round seal is a separate overlay. */
.home-final-image > img:first-child {
	width: 100% !important;
	height: 100% !important;
	min-height: 440px !important;
	object-fit: cover !important;
	object-position: center center !important;
}

.home-final-image > img.home-final-seal {
	display: block !important;
	width: 82px !important;
	height: 82px !important;
	min-height: 0 !important;
	max-width: 82px !important;
	max-height: 82px !important;
	position: absolute !important;
	top: 16px !important;
	left: 16px !important;
	right: auto !important;
	bottom: auto !important;
	z-index: 5 !important;
	object-fit: contain !important;
	object-position: center !important;
	border-radius: 0 !important;
	transform: none !important;
}

/* Service hero rating: exported star artwork + compact white badge. */
.service-hero-rating {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	max-width: calc(100% - 36px) !important;
	padding: 11px 16px !important;
}

.service-hero-rating span {
	flex: 0 0 auto !important;
}

.service-hero-rating span img {
	display: block !important;
	width: 96px !important;
	height: auto !important;
	min-height: 0 !important;
	object-fit: contain !important;
	position: relative;
}

.service-hero-rating strong {
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}

/* Preventative detail follows the supplied approved comp more closely. */
.preventative-detail-page .inner-section-heading .inner-editor-content {
	max-width: 880px;
	margin: 0 auto;
	padding-top: 28px;
	text-align: center;
}

.preventative-detail-page .inner-section-heading .inner-editor-content p {
	font-size: 15px;
	line-height: 24px;
}

.preventative-detail-page .service-benefit-intro h3 {
	max-width: 300px;
}

.preventative-detail-page .service-for-section .inner-split {
	padding: 38px;
	background: #fbf3e9;
	border-radius: 26px;
}

.preventative-detail-page .service-for-section .inner-buttons {
	margin-top: 26px;
}

.service-difference-buttons {
	justify-content: center;
	margin-top: 24px;
}

/* Service-detail testimonials use the same slider behavior as About, but
   with proportions that match the preventative design comp. */
.service-testimonial-section {
	overflow: hidden;
}

.service-review-slider {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 38%;
	gap: 22px;
	width: 100%;
	padding: 10px 0px 28px;
	overflow-x: auto;
}

.service-review-card {
	min-height: 285px;
	background: #fbf3e9;
}

.service-review-card .inner-testimonial-stars img {
	width: 92px !important;
	height: auto !important;
	min-height: 0 !important;
	object-fit: contain !important;
}

/* Remove image zooming from the service comp blocks; the approved design is static. */
.service-detail-page .inner-hero-image:hover img,
.service-detail-page .inner-split-image:hover img {
	transform: none !important;
}

@media screen and (max-width: 1000px) {
	.home-final-image > img:first-child {
		min-height: 0 !important;
		height: auto !important;
	}

	.home-final-image > img.home-final-seal {
		width: 62px !important;
		height: 62px !important;
		max-width: 62px !important;
		max-height: 62px !important;
		top: 12px !important;
		left: 12px !important;
	}

	.service-hero-rating span img {
		width: 70px !important;
	}

	.service-hero-rating strong {
		font-size: 10px !important;
	}

	.preventative-detail-page .service-for-section .inner-split {
		padding: 22px;
	}

	.service-review-slider {
		grid-auto-columns: 84%;
	}
}

/* --------------------------------------------------------------------------
   08/12/2026 - Service detail hero layout correction
   Match the approved service-detail comp: separate cream copy card + image card.
---------------------------------------------------------------------------- */

.service-detail-page .inner-hero-box {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 20px !important;
	align-items: stretch !important;
	min-height: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
}

.service-detail-page .inner-hero-copy {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 520px !important;
	padding: 62px 68px !important;
	background: #fbf4ea !important;
	border-radius: 28px !important;
}

.service-detail-page .inner-hero-copy .inner-display-title {
	max-width: 620px;
}

.service-detail-page .inner-hero-copy .inner-lead {
	max-width: 520px !important;
	margin-top: auto !important;
}

.service-detail-page .inner-hero-image {
	width: auto !important;
	min-width: 0 !important;
	min-height: 520px !important;
	border-radius: 28px !important;
}

.service-detail-page .inner-hero-image > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

@media screen and (max-width: 1000px) {
	.service-detail-page .inner-hero-box {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.service-detail-page .inner-hero-copy {
		min-height: 0 !important;
		padding: 34px 26px !important;
		border-radius: 22px !important;
	}

	.service-detail-page .inner-hero-copy .inner-lead {
		margin-top: 0 !important;
	}

	.service-detail-page .inner-hero-image {
		min-height: 380px !important;
		border-radius: 22px !important;
	}
}
