/**
 * Base CSS used by the builder's layout, including rows
 * and columns. Any module specific global CSS should be
 * included in fl-builder-layout-modules.css.
 */

/* Grid
------------------------------------------------------ */

.fl-builder-content *,
.fl-builder-content *:before,
.fl-builder-content *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.fl-row:before,
.fl-row:after,
.fl-row-content:before,
.fl-row-content:after,
.fl-col-group:before,
.fl-col-group:after,
.fl-col:before,
.fl-col:after,
.fl-module:not([data-accepts], .fl-ds-block):before,
.fl-module:not([data-accepts], .fl-ds-block):after,
.fl-module-content:before,
.fl-module-content:after {
	display: table;
	content: " ";
}
.fl-row:after,
.fl-row-content:after,
.fl-col-group:after,
.fl-col:after,
.fl-module:not([data-accepts], .fl-ds-block):after,
.fl-module-content:after {
	clear: both;
}
.fl-clear {
	clear: both;
}

/* Rows
------------------------------------------------------ */

.fl-row,
.fl-row-content {
	margin-left: auto;
	margin-right: auto;
	min-width: 0;
}
.fl-row-content-wrap {
	position: relative;
}

/* Photo Bg */
.fl-builder-mobile .fl-row-bg-photo .fl-row-content-wrap {
	background-attachment: scroll;
}

/* Video and Embed Code Bg */
.fl-row-bg-video,
.fl-row-bg-video .fl-row-content,
.fl-row-bg-embed,
.fl-row-bg-embed .fl-row-content {
	position: relative;
}

.fl-row-bg-video .fl-bg-video,
.fl-row-bg-embed .fl-bg-embed-code {
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
}

.fl-row-bg-video .fl-bg-video video,
.fl-row-bg-embed .fl-bg-embed-code video {
	bottom: 0;
	left: 0px;
	max-width: none;
	position: absolute;
	right: 0;
	top: 0px;
}
.fl-row-bg-video .fl-bg-video video {
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
}
.fl-row-bg-video .fl-bg-video iframe,
.fl-row-bg-embed .fl-bg-embed-code iframe {
	pointer-events: none;
	width: 100vw;
  	height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
  	max-width: none;
  	min-height: 100vh;
  	min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
  	position: absolute;
  	top: 50%;
  	left: 50%;
	-ms-transform: translate(-50%, -50%); /* IE 9 */
	-webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
  	transform: translate(-50%, -50%);
}
.fl-bg-video-fallback {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0px;
	left: 0px;
	position: absolute;
	right: 0px;
	top: 0px;
}

/* Slideshow Bg */
.fl-row-bg-slideshow,
.fl-row-bg-slideshow .fl-row-content {
	position: relative;
}
.fl-row .fl-bg-slideshow {
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}
.fl-builder-edit .fl-row .fl-bg-slideshow * {
	bottom: 0;
	height: auto !important;
	left: 0;
	position: absolute !important;
	right: 0;
	top: 0;
}

/* Row Bg Overlay */
.fl-row-bg-overlay .fl-row-content-wrap:after {
	border-radius: inherit;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
}
.fl-row-bg-overlay .fl-row-content {
	position: relative;
	z-index: 1;
}

/* Full Height Rows */
.fl-row-default-height .fl-row-content-wrap,
.fl-row-custom-height .fl-row-content-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	min-height: 100vh;
}
.fl-row-overlap-top .fl-row-content-wrap {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -moz-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	width: 100%;
}
.fl-row-default-height .fl-row-content-wrap,
.fl-row-custom-height .fl-row-content-wrap {
	min-height: 0;
}

.fl-row-default-height .fl-row-content,
.fl-row-full-height .fl-row-content,
.fl-row-custom-height .fl-row-content {
  -webkit-box-flex: 1 1 auto;
  	 -moz-box-flex: 1 1 auto;
  	  -webkit-flex: 1 1 auto;
  		  -ms-flex: 1 1 auto;
  			  flex: 1 1 auto;
}
.fl-row-default-height .fl-row-full-width.fl-row-content,
.fl-row-full-height .fl-row-full-width.fl-row-content,
.fl-row-custom-height .fl-row-full-width.fl-row-content {
	max-width: 100%;
	width: 100%;
}

/* Full height align center */
.fl-row-default-height.fl-row-align-center .fl-row-content-wrap,
.fl-row-full-height.fl-row-align-center .fl-row-content-wrap,
.fl-row-custom-height.fl-row-align-center .fl-row-content-wrap {
	-webkit-align-items: center;
	-webkit-box-align: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	justify-content: center;
	align-items: center;
}

/* Full height align bottom */
.fl-row-default-height.fl-row-align-bottom .fl-row-content-wrap,
.fl-row-full-height.fl-row-align-bottom .fl-row-content-wrap,
.fl-row-custom-height.fl-row-align-bottom .fl-row-content-wrap {
	-webkit-align-items: flex-end;
	-webkit-justify-content: flex-end;
	-webkit-box-align: end;
	-webkit-box-pack: end;
	-ms-flex-align: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	align-items: flex-end;
}

/* Column Groups
------------------------------------------------------ */
.fl-col-group-equal-height {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.fl-col-group-equal-height.fl-col-group-has-child-loading {
	flex-wrap: nowrap;
}
.fl-col-group-equal-height .fl-col,
.fl-col-group-equal-height .fl-col-content {
	display: flex;
	flex: 1 1 auto;
}
.fl-col-group-equal-height .fl-col-content {
	flex-direction: column;
	flex-shrink: 1;
	min-width: 1px;
	max-width: 100%;
	width: 100%;
}
.fl-col-group-equal-height:before,
.fl-col-group-equal-height .fl-col:before,
.fl-col-group-equal-height .fl-col-content:before,
.fl-col-group-equal-height:after,
.fl-col-group-equal-height .fl-col:after,
.fl-col-group-equal-height .fl-col-content:after{
	content: none;
}

/* Equal height align top */
.fl-col-group-nested.fl-col-group-equal-height.fl-col-group-align-top .fl-col-content,
.fl-col-group-equal-height.fl-col-group-align-top .fl-col-content {
	justify-content: flex-start;
}

/* Equal height align center */
.fl-col-group-nested.fl-col-group-equal-height.fl-col-group-align-center .fl-col-content,
.fl-col-group-equal-height.fl-col-group-align-center .fl-col-content {
	justify-content: center;
}

/* Equal height align bottom */
.fl-col-group-nested.fl-col-group-equal-height.fl-col-group-align-bottom .fl-col-content,
.fl-col-group-equal-height.fl-col-group-align-bottom .fl-col-content {
	justify-content: flex-end;
}

.fl-col-group-equal-height.fl-col-group-align-center .fl-col-group {
	width: 100%;
}

/* Columns
------------------------------------------------------ */

.fl-col {
	float: left;
	min-height: 1px;
}

/* Column Bg Overlay */
.fl-col-bg-overlay .fl-col-content {
	position: relative;
}
.fl-col-bg-overlay .fl-col-content:after {
	border-radius: inherit;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
}
.fl-col-bg-overlay .fl-module {
	position: relative;
	z-index: 2;
}

/* Templates
------------------------------------------------------ */

.single:not(.woocommerce).single-fl-builder-template .fl-content {
	width: 100%;
}

/* Shapes & Patterns
------------------------------------------------------- */
.fl-builder-layer {
	position: absolute;
	top:0;
	left:0;
	right: 0;
	bottom: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}
.fl-builder-shape-layer {
	z-index: 0;
}
.fl-builder-shape-layer.fl-builder-bottom-edge-layer {
	z-index: 1;
}
.fl-row-bg-overlay .fl-builder-shape-layer {
	z-index: 1;
}
.fl-row-bg-overlay .fl-builder-shape-layer.fl-builder-bottom-edge-layer {
	z-index: 2;
}
.fl-row-has-layers .fl-row-content {
	z-index: 1;
}
.fl-row-bg-overlay .fl-row-content {
	z-index: 2;
}

.fl-builder-layer > * {
	display: block;
	position: absolute;
	top:0;
	left:0;
	width: 100%;
}
.fl-builder-layer + .fl-row-content {
	position: relative;
}
.fl-builder-layer .fl-shape {
	fill: #aaa;
	stroke: none;
	stroke-width: 0;
	width:100%;
}
/**
Fix ipad parallax issue on safari
https://core.trac.wordpress.org/ticket/48802
https://core.trac.wordpress.org/ticket/49285
https://github.com/WordPress/gutenberg/issues/17718
*/
@supports (-webkit-touch-callout: inherit) {
  .fl-row.fl-row-bg-parallax .fl-row-content-wrap,
  .fl-row.fl-row-bg-fixed .fl-row-content-wrap {
    background-position: center !important;
    background-attachment: scroll !important;
  }
}

@supports (-webkit-touch-callout: none) {
	.fl-row.fl-row-bg-fixed .fl-row-content-wrap {
		background-position: center !important;
		background-attachment: scroll !important;
	}
}
/**
 * Base CSS used by all (or many) modules. This file should
 * not contain any generic layout CSS that doesn't apply to
 * modules. That belongs in fl-builder-layout.css.
 */

/* Utilities
------------------------------------------------------ */

.fl-clearfix:before,
.fl-clearfix:after {
	display: table;
	content: " ";
}
.fl-clearfix:after {
	clear: both;
}
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

/* Buttons
------------------------------------------------------ */

.fl-builder-content .fl-button:is(a, button),
.fl-builder-content a.fl-button:visited {
	border-radius: 4px;
	display: inline-block;
	font-size: 16px;
	font-weight: normal;
	line-height: 18px;
	padding: 12px 24px;
	text-decoration: none;
	text-shadow: none;
	cursor: pointer;
}
.fl-builder-content .fl-button:hover {
	text-decoration: none;
}
.fl-builder-content .fl-button:active {
	position: relative;
	top: 1px;
}
.fl-builder-content .fl-button-width-full .fl-button {
	width: 100%;
	display: block;
	text-align: center;
}
.fl-builder-content .fl-button-width-custom .fl-button {
	display: inline-block;
	text-align: center;
	max-width: 100%;
}
.fl-builder-content .fl-button-left {
	text-align: left;
}
.fl-builder-content .fl-button-center {
	text-align: center;
}
.fl-builder-content .fl-button-right {
	text-align: right;
}
.fl-builder-content .fl-button i {
	font-size: 1.3em;
	height: auto;
	margin-right:8px;
	vertical-align: middle;
	width: auto;
}
.fl-builder-content .fl-button i.fl-button-icon-after {
	margin-left: 8px;
	margin-right: 0;
}
.fl-builder-content .fl-button-has-icon .fl-button-text {
	vertical-align: middle;
}

/* Icons
------------------------------------------------------ */

.fl-icon-wrap {
	display: inline-block;
}
.fl-icon {
	display: table-cell;
	vertical-align: middle;
}
.fl-icon a {
	text-decoration: none;
}
.fl-icon i {
	float: right;
	height: auto;
	width: auto;
}
.fl-icon i:before {
	border: none !important;
	height: auto;
	width: auto;
}
.fl-icon-text {
	display: table-cell;
	text-align: left;
	padding-left: 15px;
	vertical-align: middle;
}
.fl-icon-text-empty {
	display: none;
}
.fl-icon-text *:last-child {
	margin: 0 !important;
	padding: 0 !important;
}
.fl-icon-text a {
	text-decoration: none;
}
.fl-icon-text span {
	display: block;
}
.fl-icon-text span.mce-edit-focus {
	min-width: 1px;
}

/* Photos
------------------------------------------------------ */

.fl-module img {
	max-width: 100%;
}
.fl-photo {
	line-height: 0;
	position: relative;
}
.fl-photo-align-left {
	text-align: left;
}
.fl-photo-align-center {
	text-align: center;
}
.fl-photo-align-right {
	text-align: right;
}
.fl-photo-content {
	display: inline-block;
	line-height: 0;
	position: relative;
	max-width: 100%;
}
.fl-photo-img-svg {
	width: 100%;
}
.fl-photo-content img {
	display: inline;
	height: auto;
	max-width: 100%;
}
.fl-photo-crop-circle img {
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}
.fl-photo-caption {
	font-size: 13px;
	line-height: 18px;
	overflow: hidden;
	text-overflow: ellipsis;
}
.fl-photo-caption-below {
	padding-bottom: 20px;
	padding-top: 10px;
}
.fl-photo-caption-hover {
	background: rgba(0,0,0,0.7);
	bottom: 0;
	color: #fff;
	left: 0;
	opacity: 0;
	filter: alpha(opacity = 0);
	padding: 10px 15px;
	position: absolute;
	right: 0;
	-webkit-transition:opacity 0.3s ease-in;
	-moz-transition:opacity 0.3s ease-in;
	transition:opacity 0.3s ease-in;
}
.fl-photo-content:hover .fl-photo-caption-hover {
	opacity: 100;
	filter: alpha(opacity = 100);
}

/* Pagination
------------------------------------------------------ */

.fl-builder-pagination,
.fl-builder-pagination-load-more {
	padding: 40px 0;
}
.fl-builder-pagination ul.page-numbers {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}
.fl-builder-pagination li {
	display: inline-block;
	list-style: none;
	margin: 0;
	padding: 0;
}
.fl-builder-pagination li a.page-numbers,
.fl-builder-pagination li span.page-numbers {
	border: 1px solid #e6e6e6;
	display: inline-block;
	padding: 5px 10px;
	margin: 0 0 5px;
}
.fl-builder-pagination li a.page-numbers:hover,
.fl-builder-pagination li span.current {
	background: #f5f5f5;
	text-decoration: none;
}

/* Slideshows
------------------------------------------------------ */

.fl-slideshow,
.fl-slideshow * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;

}
.fl-slideshow .fl-slideshow-image img {
	max-width: none !important;
}
.fl-slideshow-social {
	line-height: 0 !important;
}
.fl-slideshow-social * {
	margin: 0 !important;
}

/* Sliders
------------------------------------------------------ */

.fl-builder-content .bx-wrapper .bx-viewport {
	background: transparent;
	border: none;
	box-shadow: none;
	left: 0;
}

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

.mfp-wrap button.mfp-arrow,
.mfp-wrap button.mfp-arrow:active,
.mfp-wrap button.mfp-arrow:hover,
.mfp-wrap button.mfp-arrow:focus {
	background: transparent !important;
	border: none !important;
	outline: none;
	position: absolute;
	top: 50%;
	box-shadow: none !important;
}
.mfp-wrap .mfp-close,
.mfp-wrap .mfp-close:active,
.mfp-wrap .mfp-close:hover,
.mfp-wrap .mfp-close:focus {
	background: transparent !important;
	border: none !important;
	outline: none;
	position: absolute;
	top: 0;
	box-shadow: none !important;
}
.admin-bar .mfp-wrap .mfp-close,
.admin-bar .mfp-wrap .mfp-close:active,
.admin-bar .mfp-wrap .mfp-close:hover,
.admin-bar .mfp-wrap .mfp-close:focus {
	top: 32px!important;
}
img.mfp-img {
	padding: 0;
}
.mfp-counter {
	display: none;
}

.mfp-wrap .mfp-preloader.fa {
	font-size: 30px;
}

/* Form Fields
------------------------------------------------------ */

.fl-form-field {
	margin-bottom: 15px;
}
.fl-form-field input.fl-form-error {
	border-color: #DD6420;
}
.fl-form-error-message {
	clear: both;
	color: #DD6420;
	display: none;
	padding-top: 8px;
	font-size: 12px;
	font-weight: lighter;
}
.fl-form-button-disabled {
	opacity: 0.5;
}

/* Animations
------------------------------------------------------ */

.fl-animation {
	opacity: 0;
}
body.fl-no-js .fl-animation {
	opacity: 1;
}
.fl-builder-preview .fl-animation,
.fl-builder-edit .fl-animation,
.fl-animated {
	opacity: 1;
}
.fl-animated {
	animation-fill-mode: both;
}

/* Button Icon Animation */
.fl-button.fl-button-icon-animation i {
	width: 0 !important;
	opacity: 0;
	transition: all 0.2s ease-out;
}
.fl-button.fl-button-icon-animation:hover i {
	opacity: 1 !important;
}
.fl-button.fl-button-icon-animation i.fl-button-icon-after {
	margin-left: 0px !important;
}
.fl-button.fl-button-icon-animation:hover i.fl-button-icon-after {
	margin-left: 10px !important;
}
.fl-button.fl-button-icon-animation i.fl-button-icon-before {
	margin-right: 0 !important;
}
.fl-button.fl-button-icon-animation:hover i.fl-button-icon-before {
	margin-right: 20px !important;
  margin-left: -10px;
}
@media (max-width: 1200px) { /**
 * Styles needed for the large breakpoint.
 */
 }@media (max-width: 992px) { /* Columns
------------------------------------------------------ */

/* Reversed Responsive Stacking */
.fl-col-group.fl-col-group-medium-reversed {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap-reverse;
	flex-wrap: wrap-reverse;
	flex-direction: row-reverse;
}
 }@media (max-width: 768px) { /* Rows
------------------------------------------------------ */

.fl-row-content-wrap {
	background-attachment: scroll !important;
}
.fl-row-bg-parallax .fl-row-content-wrap {
	background-attachment: scroll !important;
	background-position: center center !important;
}

/* Column Groups
------------------------------------------------------ */

/* Equal Heights */
.fl-col-group.fl-col-group-equal-height {
	display: block;
}
.fl-col-group.fl-col-group-equal-height.fl-col-group-custom-width {
	display: -webkit-box;
    display: -webkit-flex;
    display: flex;
}

/* Reversed Responsive Stacking */
.fl-col-group.fl-col-group-responsive-reversed {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap-reverse;
	flex-wrap: wrap-reverse;
	flex-direction: row-reverse;
}
.fl-col-group.fl-col-group-responsive-reversed .fl-col:not(.fl-col-small-custom-width) {
	flex-basis: 100%;
	width: 100% !important;
}
.fl-col-group.fl-col-group-medium-reversed:not(.fl-col-group-responsive-reversed) {
	display: unset;
	display: unset;
	-webkit-flex-wrap: unset;
	flex-wrap: unset;
	flex-direction: unset;
}

/* Columns
------------------------------------------------------ */

.fl-col {
	clear: both;
	float: none;
	margin-left: auto;
	margin-right: auto;
	width: auto !important;
}
.fl-col-small:not(.fl-col-small-full-width) {
	max-width: 400px;
}
.fl-block-col-resize {
	display:none;
}
/* Rows
------------------------------------------------------ */

.fl-row[data-node] .fl-row-content-wrap {
	margin: 0;
	padding-left: 0;
	padding-right: 0;
}
.fl-row[data-node] .fl-bg-video,
.fl-row[data-node] .fl-bg-slideshow {
	left: 0;
	right: 0;
}

/* Columns
------------------------------------------------------ */

.fl-col[data-node] .fl-col-content {
	margin: 0;
	padding-left: 0;
	padding-right: 0;
}
 }@media (min-width: 1201px) {
	html .fl-visible-large:not(.fl-visible-desktop),
	html .fl-visible-medium:not(.fl-visible-desktop),
	html .fl-visible-mobile:not(.fl-visible-desktop) {
		display: none;
	}
}

@media (min-width: 993px) and (max-width: 1200px) {
	html .fl-visible-desktop:not(.fl-visible-large),
	html .fl-visible-medium:not(.fl-visible-large),
	html .fl-visible-mobile:not(.fl-visible-large) {
		display: none;
	}
}

@media (min-width: 769px) and (max-width: 992px) {
	html .fl-visible-desktop:not(.fl-visible-medium),
	html .fl-visible-large:not(.fl-visible-medium),
	html .fl-visible-mobile:not(.fl-visible-medium) {
		display: none;
	}
}

@media (max-width: 768px) {
	html .fl-visible-desktop:not(.fl-visible-mobile),
	html .fl-visible-large:not(.fl-visible-mobile),
	html .fl-visible-medium:not(.fl-visible-mobile) {
		display: none;
	}
}
.fl-col-content {
	display: flex;
	flex-direction: column;
}
.fl-row-fixed-width {
	max-width: 1240px;
}
.fl-builder-content > .fl-module-box {
	margin: 0;
}
.fl-row-content-wrap {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-top: 20px;
	padding-right: 20px;
	padding-bottom: 20px;
	padding-left: 20px;
}
.fl-module-content, .fl-module:where(.fl-module:not(:has(> .fl-module-content))) {
	margin-top: 20px;
	margin-right: 20px;
	margin-bottom: 20px;
	margin-left: 20px;
}
:root {
	--fl-global-text-font-family: "Work Sans", sans-serif;
	--fl-global-text-font-weight: 400;
	--fl-global-text-letter-spacing: 1.2px;
}
.fl-builder-content:not(.fl-builder-empty) {
	font-family: "Work Sans", sans-serif;
	font-weight: 400;
	letter-spacing: 1.2px;
}
:where(.fl-builder-content, .fl-page) :is(a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])):focus {
	outline-width: px;
	outline-offset: px;
}
.page .fl-post-header, .single-fl-builder-template .fl-post-header { display:none; }.fl-node-dm2ke6hus3zy.tsg-header {position:relative}.fl-node-6dl0zu37ktc9.tsg-hero {position:relative}.fl-node-ein0auqfytos.tsg-steps {position:relative}.fl-node-qh4owml7t83r.tsg-treatment {position:relative}.fl-node-6h0rab28ncyo.tsg-reviews {position:relative}
.fl-node-6h0rab28ncyo #tsg-reviews .review-card p {font-size:17px;line-height:1.45;}.fl-node-17okm9nz5ilc.tsg-about {position:relative}.fl-node-bl64tgm0kay5.tsg-faq {position:relative}.fl-node-2kdf6z3w1oah.tsg-closing {position:relative}.fl-node-nblxjivwoqt8.tsg-footer {position:relative}.fl-node-z0akjdyb7loi.tsg-sticky {position:relative}
/* Start Global CSS */

/* End Global CSS */


/* Start Global Nodes CSS */

/* End Global Nodes CSS */


/* Start Layout CSS */
.bb-tsg * { box-sizing: border-box; }

/* Preserve the supplied heading sizes against the theme mobile override. */
.bb-tsg h1 { font-size: clamp(42px, 6vw, 70px) !important; }
.bb-tsg h2 { font-size: clamp(31px, 4vw, 43px) !important; }
*{box-sizing:border-box}
.bb-tsg h1,.bb-tsg h2,.bb-tsg h3,.bb-tsg .brand,.bb-tsg .price{font-family:'Cinzel',Georgia,'Times New Roman',serif;font-weight:400}
.bb-tsg h1{font-size:clamp(42px,6vw,70px);line-height:1.05;letter-spacing:-1.7px;margin:12px 0 18px}
.bb-tsg h2{font-size:clamp(31px,4vw,43px);line-height:1.15;letter-spacing:-.8px;margin:8px 0 22px}
.bb-tsg h3{font-size:23px;line-height:1.2;margin:0 0 9px}
.bb-tsg p{margin:0 0 14px}
.bb-tsg a{color:inherit}
.bb-tsg .wrap{max-width:1080px;margin:auto;padding:0 22px}
.bb-tsg header{border-bottom:1px solid var(--ds-color-tsg-line);padding:22px 0}
.bb-tsg .head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.bb-tsg .brand{font-size:27px;line-height:1.1}
.bb-tsg .brand small{display:block;font:9px Arial,sans-serif;letter-spacing:3.2px;text-transform:uppercase;margin-top:7px}
.bb-tsg .local{font-size:12px;color:var(--ds-color-tsg-muted);text-align:right}
.bb-tsg .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--ds-color-tsg-muted)}
.bb-tsg section{padding:42px 0}
.bb-tsg .hero{padding:32px 0 42px}
.bb-tsg .intro{font-size:17px;max-width:440px}
.bb-tsg .offer{background:#fffaf5;border:1px solid var(--ds-color-tsg-line);border-radius:18px;padding:20px;margin:23px 0 15px}
.bb-tsg .price{display:flex;align-items:center;gap:15px;font-size:44px;line-height:1.1;margin:8px 0 12px}
.bb-tsg .price del{font:23px Arial,sans-serif;color:var(--ds-color-tsg-muted)}
.bb-tsg .arrow{font:23px Arial,sans-serif;color:var(--ds-color-tsg-muted)}
.bb-tsg .pay{font-size:14px;margin:0 0 14px}
.bb-tsg .pay strong{font-weight:600}
.bb-tsg .cta{display:block;background:var(--ds-color-tsg-button);border:1px solid var(--ds-color-tsg-button);color:white;text-decoration:none;text-align:center;padding:15px 18px;border-radius:50px;font-size:15px;font-weight:600;min-height:52px;transition:background .2s}
.bb-tsg .cta:hover{background:var(--ds-color-tsg-brown)}
.bb-tsg .cta:focus-visible,.bb-tsg summary:focus-visible{outline:3px solid var(--ds-color-tsg-button);outline-offset:4px}
.bb-tsg .micro{font-size:12px;color:var(--ds-color-tsg-muted);margin:9px 0 0}
.bb-tsg .score{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;margin:14px 0 23px}
.bb-tsg .stars{color:var(--ds-color-tsg-button);letter-spacing:2px}
.bb-tsg .photo{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:240px;border:1px dashed #AC9181;background:linear-gradient(135deg,#EBDFD2,#D7BFAF);border-radius:100px 100px 18px 18px;padding:35px;overflow:hidden}
.bb-tsg .photo:before{content:'';position:absolute;width:210px;height:210px;border:1px solid #fff8;border-radius:50%;right:-70px;bottom:-50px}
.bb-tsg .photo span{position:relative;font-size:13px;max-width:240px;color:#604A3E}
.bb-tsg .photo small{display:block;text-transform:uppercase;font-size:9px;letter-spacing:2px;margin-bottom:12px}
.bb-tsg .photo.hero-photo{min-height:270px}
.bb-tsg .band{background:var(--ds-color-tsg-sand)}
.bb-tsg .grid{display:grid;gap:22px}
.bb-tsg .step{display:flex;gap:14px}
.bb-tsg .num{flex:none;width:34px;height:34px;border:1px solid #B99E8D;border-radius:50%;display:grid;place-items:center;font:18px Georgia,serif}
.bb-tsg .step h3{font-family:Arial,sans-serif;font-size:16px;font-weight:600;margin:4px 0 6px}
.bb-tsg .step p,.bb-tsg .treatment p{font-size:14px;margin:0}
.bb-tsg .pending{background:#F4ECE3;border-left:2px solid #A98B74;padding:10px 12px;font-size:12px;color:#604E42;border-radius:0 8px 8px 0;margin:22px 0 0}
.bb-tsg .treatment{padding:18px 0;border-bottom:1px solid var(--ds-color-tsg-line);display:grid;grid-template-columns:28px 1fr;gap:10px}
.bb-tsg .treatment:last-child{border:0}
.bb-tsg .treatment .ordinal{font:17px Georgia,serif;color:var(--ds-color-tsg-muted)}
.bb-tsg .treatment h3{font-size:23px}
.bb-tsg .expect{border-radius:22px;background:var(--ds-color-tsg-sand);padding:26px;margin-top:28px}
.bb-tsg .expect h3{font-size:27px}
.bb-tsg .goals{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.bb-tsg .goals span{border:1px solid #C8B5A6;border-radius:30px;padding:7px 11px;font-size:12px}
.bb-tsg .expect p{font-size:14px}
.bb-tsg .reviews{background:#F0E8DF}
.bb-tsg .review-card{background:var(--ds-color-tsg-cream);border:1px solid var(--ds-color-tsg-line);border-radius:16px;padding:22px;min-height:140px;display:flex;flex-direction:column;justify-content:space-between}
.bb-tsg .review-card p{font:19px/1.45 Georgia,serif}
.bb-tsg .review-card small{font-size:11px;color:var(--ds-color-tsg-muted)}
.bb-tsg .reviews .score{margin:-7px 0 25px}
.bb-tsg .about .photo{min-height:270px;border-radius:120px 120px 18px 18px}
.bb-tsg .about-text{align-self:center}
.bb-tsg .about-text p{font-size:15px}
.bb-tsg .signature{font:italic 26px Georgia,serif;margin-top:20px}
.bb-tsg .faq{padding-top:12px}
.bb-tsg details{border-bottom:1px solid var(--ds-color-tsg-line)}
.bb-tsg summary{padding:17px 30px 17px 0;cursor:pointer;font-size:15px;list-style:none;position:relative}
.bb-tsg summary::-webkit-details-marker{display:none}
.bb-tsg summary:after{content:'+';position:absolute;right:3px;font-size:22px;top:12px}
.bb-tsg details[open] summary:after{content:'−'}
.bb-tsg details p{font-size:14px;margin-bottom:18px}
.bb-tsg details .pending{margin:0 0 18px}
.bb-tsg .closing{text-align:center;background:var(--ds-color-tsg-sand)}
.bb-tsg .closing .offer{max-width:440px;margin:20px auto}
.bb-tsg .closing .price{justify-content:center}
.bb-tsg .address{font-size:13px;margin:22px 0 0}
.bb-tsg footer{padding:23px 0;font-size:11px;color:var(--ds-color-tsg-muted);text-align:center}
.bb-tsg .sticky{position:fixed;z-index:10;bottom:0;left:0;right:0;background:#FAF7F2f5;border-top:1px solid var(--ds-color-tsg-line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -5px 25px #45362f0b}
.bb-tsg .sticky p{font-size:11px;text-align:center;margin:7px 0 0}
.bb-tsg .sticky .cta{min-height:46px;padding:12px}
.bb-tsg .sticky-inner{max-width:520px;margin:auto}
@media(min-width:760px){.bb-tsg .wrap{padding:0 36px}
.bb-tsg section{padding:58px 0}
.bb-tsg .hero{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center;padding:48px 0 58px}
.bb-tsg .hero-photo.photo{min-height:540px;border-radius:190px 190px 22px 22px}
.bb-tsg .hero .score{margin-bottom:0}
.bb-tsg .grid.three{grid-template-columns:repeat(3,1fr)}
.bb-tsg .treat-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}
.bb-tsg .expect{margin:0}
.bb-tsg .about .grid{grid-template-columns:.8fr 1.2fr;gap:65px}
.bb-tsg .about .photo{min-height:330px}
.bb-tsg .sticky{display:none}
.bb-tsg .faq{max-width:750px;margin:auto}
.bb-tsg .closing h2{max-width:600px;margin:8px auto 20px}
}
@media(prefers-reduced-motion:reduce){.bb-tsg .cta{transition:none}
}
.bb-tsg .official-header{background:#FAF9F7;border:0;padding:22px 20px;position:relative;z-index:20}
.bb-tsg .official-head{max-width:1640px;margin:auto;display:flex;align-items:center;gap:45px}
.bb-tsg .official-logo{display:inline-block;flex:none;line-height:0}
.bb-tsg .official-logo img{width:127px;height:auto;max-width:100%}
.bb-tsg .desktop-nav{display:none}
.bb-tsg .official-appointment{display:none;background:#EF3D42;color:#fff;text-decoration:none;padding:14px 23px;font:600 12px 'Montserrat',Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase}
.bb-tsg .mobile-navigation{margin-left:auto;border:0}
.bb-tsg .mobile-navigation>summary{font:26px Arial;padding:8px;list-style:none}
.bb-tsg .mobile-navigation>summary:after{display:none}
.bb-tsg .mobile-navigation>nav{position:absolute;left:0;right:0;top:100%;padding:16px 24px 24px;background:#FAF9F7;box-shadow:0 12px 16px #45362f12}
.bb-tsg .mobile-navigation nav>a,.bb-tsg .mobile-navigation nav details>a{display:block;padding:12px 0;text-decoration:none;font-size:13px}
.bb-tsg .mobile-navigation nav details>a{padding-left:18px}
.bb-tsg .mobile-navigation nav .official-appointment{display:block;text-align:center;padding:15px;margin-top:10px}
.bb-tsg .official-footer{background:#FAF9F7;color:#302720;padding:42px 24px 30px;text-align:left;font:14px/1.6 'Montserrat',Arial,sans-serif;letter-spacing:.7px;border-top:1px solid #DDD}
.bb-tsg .footer-columns{max-width:1250px;margin:auto;display:grid;gap:32px}
.bb-tsg .official-footer h3{font:22px 'Cinzel',Georgia,serif;margin:0 0 25px;letter-spacing:0}
.bb-tsg .official-footer a{text-decoration:none}
.bb-tsg .footer-links>a{display:block;margin:0 0 18px}
.bb-tsg .footer-brand{text-align:center;padding:28px 0;border-block:1px solid #D6D2CD}
.bb-tsg .footer-brand p{max-width:300px;margin:30px auto 0;font-size:16px;line-height:1.45}
.bb-tsg .footer-social{display:flex;justify-content:center;gap:40px;margin-top:38px;font:bold 28px Georgia,serif}
.bb-tsg .footer-contact>div+div{margin-top:32px}
.bb-tsg .footer-contact h3{margin-bottom:8px}
.bb-tsg .footer-contact p{font-size:13px;margin:0 0 12px}
.bb-tsg .footer-contact a{display:block;color:#EE4941;font-size:13px;margin:0 0 12px}
.bb-tsg .footer-bottom{text-align:center;color:#89827C;font-size:12px;letter-spacing:1.4px;margin:35px 0 0}
.bb-tsg .footer-bottom a{color:#EE4941}
.bb-tsg .official-header a:focus-visible,.bb-tsg .official-footer a:focus-visible{outline:2px solid #715347;outline-offset:5px}
@media(min-width:1100px){.bb-tsg .official-header{padding:28px 40px}
.bb-tsg .desktop-nav{display:flex;gap:36px;align-items:center}
.bb-tsg .desktop-nav>a,.bb-tsg .services-menu>summary{font:500 11px 'Montserrat',Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.bb-tsg .official-head>.official-appointment{display:block;margin-left:auto}
.bb-tsg .mobile-navigation{display:none}
.bb-tsg .services-menu{border:0;position:relative}
.bb-tsg .services-menu>summary{padding:15px 19px 15px 0}
.bb-tsg .services-menu>summary:after{content:'⌄';font:18px Arial;top:10px;right:0}
.bb-tsg .services-menu>div{position:absolute;top:100%;left:-15px;min-width:220px;background:#FAF9F7;padding:12px 18px;box-shadow:0 8px 20px #45362f12}
.bb-tsg .services-menu a{display:block;font-size:12px;padding:10px 0;text-decoration:none}
}
@media(min-width:760px){.bb-tsg .official-footer{padding:40px 36px 48px}
.bb-tsg .footer-columns{grid-template-columns:1fr 1.05fr 1.1fr;gap:0;align-items:start}
.bb-tsg .footer-links{padding:92px 55px 16px 0}
.bb-tsg .footer-brand{border-block:0;border-inline:1px solid #D6D2CD;padding:92px 30px 110px}
.bb-tsg .footer-contact{padding:92px 0 0 55px}
.bb-tsg .footer-social{margin-top:58px}
.bb-tsg .footer-bottom{margin-top:20px}
}

.bb-tsg .photo-editable{padding:0}.bb-tsg .photo-editable img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.bb-tsg .photo-editable::before{display:none}
@media(max-width:759px){.tsg-footer{padding-bottom:112px}}
/* End Layout CSS */

