/* CSS Document */

img{ max-width:100%;}
/* Картинки с заданными размерами сохраняют пропорции при сужении. */
:where(img[width][height]){ height:auto;}



/* Primary Styles
---------------------------------*/
body {
	background:#fff;
	font-family: 'Open Sans', sans-serif;
	font-size:14px;
	font-weight:normal;
	color:#888888;
	margin:0;
}
h2{
	font-size:34px;
	color:#222222;
	font-family: 'Montserrat', sans-serif;
	font-weight:700;
	letter-spacing: -1px;
	margin:0 0 15px 0;
	text-align:center;
	text-transform:none;
}
h3{
	font-family: 'Montserrat', sans-serif;
	color:#222222;
	font-size:16px;
	margin:0 0 5px 0;
	text-transform:none;
	font-weight:400;
}
p{
	line-height:24px;
	margin:0;
}

/* Navigation
---------------------------------*/
.main-nav-outer{
	padding:0px;
	box-shadow:0 4px 8px -4px rgba(0, 0, 0, 0.2);
	position:sticky;
	top:0;
	z-index:100;
	background:#fff;
}
.main-nav-outer__brand{
	display:none;
}
.main-nav{
	text-align:center;
	margin:0;
	padding:0;
	list-style:none;
}
.main-nav li{
	display:inline;
	margin:0 1px;
}
.main-nav li a{
	display:inline-block;
	color:#222222;
	text-transform:none;
	font-family: 'Montserrat', sans-serif;
	text-decoration: none;
	line-height:20px;
	margin:17px 20px;
	transition:all 0.3s ease-in-out;
	-moz-transition:all 0.3s ease-in-out;
	-webkit-transition:all 0.3s ease-in-out;
}

.main-nav li a:hover,
.main-nav li a.active{
	text-decoration:none;
	color: #304b3e;
}
.main-nav .main-nav__cta a{
	margin:9px 0 9px 12px;
	padding:8px 20px;
	border-radius:8px;
	background:#304b3e;
	color:#fff;
	font-weight:700;
}
.main-nav .main-nav__cta a:hover, .main-nav .main-nav__cta a:focus{
	background:#20372c;
	color:#fff;
}
.nav-dropdown{
	position:relative;
	display:inline-block;
	text-align:left;
}
.nav-dropdown summary{
	display:block;
	margin:17px 20px;
	color:#222;
	font-family:'Montserrat', sans-serif;
	line-height:20px;
	list-style:none;
	cursor:pointer;
}
.nav-dropdown summary::-webkit-details-marker{ display:none; }
.nav-dropdown summary:hover, .nav-dropdown[open] summary{ color:#304b3e; }
.nav-dropdown summary .fa{ margin-left:4px; }
.nav-dropdown[open] summary .fa{ transform:rotate(180deg); }
.main-nav .nav-dropdown__list{
	position:absolute;
	top:100%;
	left:8px;
	z-index:101;
	min-width:220px;
	margin:0;
	padding:8px;
	border:1px solid #e4e8dc;
	border-radius:12px;
	background:#fff;
	box-shadow:0 12px 30px rgba(36, 48, 39, 0.12);
	list-style:none;
}
.main-nav .nav-dropdown__list li{ display:block; margin:0; }
.main-nav .nav-dropdown__list a{
	display:block;
	margin:0;
	padding:10px 14px;
	border:0;
	border-radius:6px;
	font-size:13px;
}
.main-nav .nav-dropdown__list a:hover,
.main-nav .nav-dropdown__list a:focus{ background:#f1f0e8; }

.main-section{
	padding:80px 0;
}
.section--tint{
	background:#f5f3ed;
}

.section-subtitle{
	font-family: 'Montserrat', sans-serif;
	font-size:16px;
	color:#222222;
	text-align:center;
	text-transform:none;
	margin:0 0 60px;
}

/* Portfolio
---------------------------------*/
.video-strip, .photo-grid{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:24px;
	max-width:960px;
	margin:0 auto;
	padding:0;
	list-style:none;
}
.video-strip{
	margin-bottom:50px;
}
.video-card{
	flex:0 1 calc((100% - 72px) / 4);
	min-width:0;
}
.photo-card{
	flex:0 1 calc((100% - 48px) / 3);
	min-width:0;
}
.photo-card[hidden], .video-card[hidden]{
	display:none;
}
.video-card__link, .photo-card__link{
	position:relative;
	display:block;
	border-radius:12px;
	overflow:hidden;
	background:#f1f0e8;
	box-shadow:0 10px 30px rgba(36, 48, 39, 0.08);
}
.video-card__link{
	aspect-ratio:9 / 16;
}
.photo-card__link{
	aspect-ratio:3 / 4;
}
.video-card__link img, .photo-card__link img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 0.3s ease;
}
.video-card__link:hover img, .video-card__link:focus img,
.photo-card__link:hover img, .photo-card__link:focus img{
	transform:scale(1.04);
}
.video-card__link::after{
	content:"\f04b";
	position:absolute;
	top:50%;
	left:50%;
	width:56px;
	height:56px;
	margin:-28px 0 0 -28px;
	padding-left:4px;
	border-radius:50%;
	background:rgba(255, 255, 255, 0.92);
	box-shadow:0 6px 20px rgba(0, 0, 0, 0.15);
	color:#899777;
	font-family:'FontAwesome';
	font-size:20px;
	line-height:56px;
	text-align:center;
	transition:transform 0.2s ease;
}
.video-card__link:hover::after, .video-card__link:focus::after{
	transform:scale(1.1);
}
.video-card__title, .photo-card__title{
	margin:14px 0 0;
	color:#555;
	font-size:14px;
	line-height:1.4;
	text-align:center;
}
.portfolio-filter{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:10px;
	margin:0 0 35px;
}
.portfolio-filter__button{
	padding:10px 22px;
	border:0;
	border-radius:8px;
	background:#f1f0e8;
	color:#222;
	font-family:'Montserrat', sans-serif;
	font-size:12px;
	line-height:20px;
	text-transform:none;
	transition:background 0.2s ease;
}
.portfolio-filter__button:hover{
	background:#e4e8dc;
}
.portfolio-filter__button[aria-pressed="true"]{
	background:linear-gradient(90deg, #dce1d0 0%, #c9cebc 50%, #899777 100%);
}
.social-link{
	display:flex;
	justify-content:center;
	gap:10px;
	margin:30px 0 0;
	padding:0;
	list-style:none;
}
.social-link li a{
	display:block;
	width:50px;
	height:50px;
	text-align:center;
	line-height:50px;
	font-size:25px;
	color:#fff;
	background:#222222;
	border-radius:50%;
	transition:all 0.3s ease-in-out;
}
.social-link li a:hover, .social-link li a:focus{
	text-decoration:none;
}
.vk a:hover {
	background: #0077ff;
}
.instagram a:hover {
	background: #dd4b39;
}
.telegram a:hover {
	background: #229ed9;
}

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

.footer{
	background:#e4e8dc;
	padding:15px 0 15px;
}
.copyright, .credits{
	color:#0a0a0a;
	font-size:14px;
	display:block;
	text-align:center;
}
.copyright a, .credits a{
	color:#0a0a0a;
	font-weight:600;
	text-decoration: none;
	transition:all 0.3s ease-in-out;
	-moz-transition:all 0.3s ease-in-out;
	-webkit-transition:all 0.3s ease-in-out;
}

.copyright a:hover, .credits a:hover {
	color: #fff;
}

.res-nav_click {
	line-height:38px;
	font-family: 'FontAwesome';
	font-size:38px;
	text-decoration: none !important;
	color:#777777;
	font-style:normal;
	display:none;
	width:42px;
	height:27px;
	margin:20px auto;
	transition:all 0.3s ease-in-out;
	-moz-transition:all 0.3s ease-in-out;
	-webkit-transition:all 0.3s ease-in-out;
}

.res-nav_click:hover, .res-nav_click:active, .res-nav_click:focus {
	color: #304b3e !important;
}

/* Animation Timers
---------------------------------*/
.delay-02s {
	animation-delay: 0.2s;
	-webkit-animation-delay: 0.2s;
}
.delay-03s {
	animation-delay: 0.3s;
	-webkit-animation-delay: 0.3s;
}
.delay-04s {
	animation-delay: 0.4s;
	-webkit-animation-delay: 0.4s;
}

.delay-05s {
	animation-delay: 0.5s;
	-webkit-animation-delay: 0.5s;
}
.delay-06s {
	animation-delay: 0.6s;
	-webkit-animation-delay: 0.6s;
}

.delay-07s {
	animation-delay: 0.7s;
	-webkit-animation-delay: 0.7s;
}
.delay-08s {
	animation-delay: 0.8s;
	-webkit-animation-delay: 0.8s;
}

.delay-09s {
	animation-delay: 0.9s;
	-webkit-animation-delay: 0.9s;
}
.delay-1s {
	animation-delay: 1s;
	-webkit-animation-delay: 1s;
}
.delay-12s {
	animation-delay: 1.2s;
	-webkit-animation-delay: 1.2s;
}

/* Error pages: 404 and login lockout
---------------------------------*/
.error-page{
	padding:80px 0 60px;
	background:#fff;
	text-align:center;
}
.error-page__code{
	margin:0 0 10px;
	font-family:'Montserrat', sans-serif;
	font-size:140px;
	font-weight:700;
	line-height:1;
	color:#899777;
	background:linear-gradient(90deg, #dce1d0 0%, #c9cebc 50%, #899777 100%);
	-webkit-background-clip:text;
	background-clip:text;
	-webkit-text-fill-color:transparent;
}
.error-page__title{
	margin:0 0 20px;
	font-size:26px;
	letter-spacing:0;
}
.error-page__text{
	max-width:480px;
	margin:0 auto;
	font-size:16px;
	line-height:24px;
	color:#555;
}
.error-page .button{
	margin:20px 0 0;
}

/* Online booking
---------------------------------*/
.booking-button{
	position:fixed;
	right:24px;
	bottom:24px;
	z-index:1000;
	display:flex;
	align-items:center;
	gap:10px;
	padding:14px 22px;
	border-radius:8px;
	background:#304b3e;
	color:#fff;
	font-family:'Montserrat', sans-serif;
	font-size:15px;
	text-transform:none;
	box-shadow:0 6px 18px rgba(0, 0, 0, 0.25);
	transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.booking-button:hover, .booking-button:focus{
	color:#fff;
	text-decoration:none;
	transform:translateY(-2px);
	box-shadow:0 10px 22px rgba(0, 0, 0, 0.3);
}
.booking-button .fa{
	font-size:18px;
}
.booking-open{
	overflow:hidden;
}
.booking-modal{
	position:fixed;
	inset:0;
	z-index:1100;
	display:flex;
	align-items:center;
	justify-content:center;
}
.booking-modal[hidden]{
	display:none;
}
.booking-modal__overlay{
	position:absolute;
	inset:0;
	background:rgba(0, 0, 0, 0.6);
}
.booking-modal__dialog{
	position:relative;
	display:flex;
	flex-direction:column;
	width:min(480px, calc(100% - 32px));
	height:min(760px, calc(100% - 32px));
	background:#fff;
	border-radius:8px;
	overflow:hidden;
	box-shadow:0 20px 50px rgba(0, 0, 0, 0.35);
}
.booking-modal__header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:8px 8px 8px 20px;
	background:#304b3e;
	color:#fff;
	font-family:'Montserrat', sans-serif;
	text-transform:none;
}
.booking-modal__close{
	width:40px;
	height:40px;
	border:0;
	background:none;
	color:#fff;
	font-size:30px;
	line-height:1;
	cursor:pointer;
}
.booking-modal__frame{
	flex:1;
	width:100%;
	border:0;
}

/* Text from the admin editor
---------------------------------*/
.content-image img{
	height:auto;
}
.rich-text{
	font-size:18px;
	line-height:26px;
	color:#000;
}
.rich-text p,
.rich-text ul,
.rich-text ol,
.rich-text blockquote{
	margin:0 0 24px;
}
.rich-text > :last-child{
	margin-bottom:0;
}
.rich-text h3{
	font-size:18px;
	font-weight:700;
	margin:32px 0 12px;
}
.rich-text a{
	color:#222;
	text-decoration:underline;
	text-decoration-color:#899777;
	text-underline-offset:3px;
}
.rich-text a:hover{
	color:#304b3e;
}
.rich-text blockquote{
	padding:0;
	border:0;
	font-size:24px;
	line-height:32px;
	font-style:italic;
}
.rich-text blockquote p{
	margin:0;
	font-size:inherit;
	font-weight:inherit;
	line-height:inherit;
}
.rich-text ul{
	list-style:none;
	padding:0;
}
.rich-text ul > li{
	position:relative;
	min-height:38px;
	padding-left:60px;
	margin-bottom:40px;
}
.rich-text ul > li::before{
	position:absolute;
	left:0;
	top:-6px;
	font-family:'FontAwesome';
	font-size:38px;
	line-height:38px;
	color:#222;
	content:"\f00c";
}
.rich-text li > p{
	margin:0 0 8px;
}
.rich-text li > p:last-child{
	margin:0;
}
.rich-text--bullets ul > li{
	margin-bottom:25px;
	font-family:'Montserrat', sans-serif;
	font-size:16px;
	line-height:24px;
	color:#222;
	text-transform:none;
}
.rich-text--bullets ul > li::before{
	top:-7px;
	color:#777;
	content:"\f111";
}
.article-heading{
	text-align:left;
}

/* Cards: articles and price
---------------------------------*/
.card-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
	gap:30px;
	max-width:960px;
	margin:0 auto;
}
.article-card{
	display:flex;
	flex-direction:column;
	background:#fff;
	border-radius:12px;
	box-shadow:0 10px 30px rgba(36, 48, 39, 0.08);
	overflow:hidden;
	color:#222;
	transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.article-card:hover, .article-card:focus{
	color:#222;
	text-decoration:none;
	transform:translateY(-4px);
	box-shadow:0 14px 34px rgba(222, 131, 206, 0.28);
}
.article-card__image{
	width:100%;
	height:220px;
	object-fit:cover;
}
.article-card__body{
	display:block;
	padding:24px 28px 28px;
}
.article-card__title{
	display:block;
	margin-bottom:10px;
	font-family:'Montserrat', sans-serif;
	font-size:18px;
	font-weight:700;
	text-transform:none;
}
.article-card__teaser{
	display:block;
	font-size:16px;
	line-height:24px;
	color:#555;
}
.price-section h2{
	margin-bottom:40px;
}
.price-grid{
	align-items:start;
}
.price-card{
	padding:0 32px 28px;
	background:#fff;
	border-radius:12px;
	box-shadow:0 10px 30px rgba(36, 48, 39, 0.08);
	overflow:hidden;
}
.price-card__title{
	margin:0 -32px 18px;
	padding:20px 32px;
	background:linear-gradient(90deg, #dce1d0 0%, #c9cebc 50%, #899777 100%);
	color:#222;
	font-size:18px;
	font-weight:700;
	letter-spacing:1px;
	text-align:center;
}
.price-list{
	margin:0;
	padding:0;
	list-style:none;
}
.price-list__item{
	display:flex;
	align-items:baseline;
	gap:10px;
	padding:8px 0;
	font-size:17px;
	line-height:24px;
	color:#222;
}
.price-list__dots{
	flex:1 1 24px;
	min-width:24px;
	border-bottom:2px dotted #c9cebc;
	transform:translateY(-5px);
}
.price-list__value{
	font-family:'Montserrat', sans-serif;
	font-weight:700;
	white-space:nowrap;
}
.price-card__note{
	margin:18px 0 0;
	padding:12px 16px;
	background:#f1f0e8;
	border-radius:8px;
	font-size:15px;
	line-height:22px;
	color:#222;
}
.price-cta{
	margin:50px 0 0;
	text-align:center;
}
.main-section h2 + .card-grid{
	margin-top:40px;
}

/* Buttons
---------------------------------*/
.button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:14px 28px;
	border:2px solid transparent;
	border-radius:8px;
	font-family:'Montserrat', sans-serif;
	font-size:15px;
	font-weight:700;
	line-height:20px;
	text-align:center;
	text-transform:none;
	text-decoration:none;
	cursor:pointer;
	transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.button:hover, .button:focus{
	text-decoration:none;
	transform:translateY(-1px);
}
.button .fa{
	font-size:18px;
}
.button--primary{
	background:#304b3e;
	color:#fff;
	box-shadow:0 8px 20px rgba(36, 48, 39, 0.16);
}
.button--primary:hover, .button--primary:focus{
	background:#20372c;
	color:#fff;
}
.button--light{
	background:#fff;
	color:#222;
}
.button--light:hover, .button--light:focus{
	color:#304b3e;
}
.button--outline{
	border-color:#c9cebc;
	background:#fff;
	color:#222;
}
.button--outline:hover, .button--outline:focus{
	border-color:#899777;
	color:#304b3e;
}
.button--small{
	padding:10px 18px;
	font-size:13px;
}
.promo-badge{
	display:inline-block;
	padding:8px 16px;
	border-radius:8px;
	background:#fff;
	color:#304b3e;
	font-family:'Montserrat', sans-serif;
	font-size:14px;
	font-weight:700;
	line-height:20px;
	box-shadow:0 6px 16px rgba(36, 48, 39, 0.08);
}
.promo-badge--large{
	padding:12px 22px;
	font-size:16px;
}

/* Landing: first screen
---------------------------------*/
.hero{
	background:#f5f3ed;
	padding:64px 0 72px;
}
.hero__inner{
	display:flex;
	align-items:center;
	gap:56px;
}
.hero__inner::before, .hero__inner::after{
	display:none;
}
.hero__text{
	flex:1 1 0;
	min-width:0;
}
.hero__brand{
	margin:0 0 14px;
	font-family:'Montserrat', sans-serif;
	font-size:13px;
	font-weight:700;
	letter-spacing:0;
	text-transform:none;
	color:#596358;
}
.hero__title{
	margin:0 0 18px;
	font-family:'Montserrat', sans-serif;
	font-size:46px;
	font-weight:700;
	line-height:1.15;
	letter-spacing:-0.5px;
	color:#222;
}
.hero__subtitle{
	max-width:560px;
	margin:0 0 26px;
	font-size:19px;
	line-height:28px;
	color:#333;
}
.hero__offer{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:14px;
	margin:0 0 28px;
}
.hero__price{
	font-family:'Montserrat', sans-serif;
	font-size:30px;
	font-weight:700;
	line-height:36px;
	color:#222;
}
.hero__actions{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	max-width:720px;
	gap:12px;
	margin:0 0 24px;
}
.hero__actions .button{
	min-width:0;
	min-height:56px;
	padding:12px 14px;
	font-size:14px;
}
.hero__place{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:15px;
	color:#333;
}
.hero__place .fa{
	font-size:18px;
	color:#304b3e;
}
.hero__photo{
	flex:0 0 340px;
	margin:0;
}
.hero__photo img{
	display:block;
	width:100%;
	border-radius:24px;
	box-shadow:0 24px 50px rgba(122, 58, 111, 0.28);
}

/* Landing: trust strip
---------------------------------*/
.trust{
	position:relative;
	background:#fff;
	box-shadow:0 10px 30px rgba(36, 48, 39, 0.06);
}
.trust__list{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	gap:20px;
	margin:0;
	padding:28px 0;
	list-style:none;
}
.trust__item{
	display:flex;
	align-items:center;
	gap:14px;
	font-family:'Montserrat', sans-serif;
	font-size:14px;
	line-height:20px;
	color:#222;
}
.trust__item .fa{
	flex:0 0 48px;
	width:48px;
	height:48px;
	border-radius:50%;
	background:linear-gradient(135deg, #dce1d0 0%, #899777 100%);
	color:#fff;
	font-size:20px;
	line-height:48px;
	text-align:center;
}

/* Landing: procedures
---------------------------------*/
.service-cards{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
	gap:24px;
	margin:40px 0 0;
	padding:0;
	list-style:none;
}
.service-card{
	display:flex;
	flex-direction:column;
	padding:28px 24px 24px;
	border-top:4px solid #c9cebc;
	border-radius:16px;
	background:#fff;
	box-shadow:0 10px 30px rgba(36, 48, 39, 0.08);
}
.service-card__title{
	margin:0 0 10px;
	font-size:17px;
	font-weight:700;
	line-height:24px;
}
.service-card__price{
	margin:0 0 12px;
	font-family:'Montserrat', sans-serif;
	font-size:22px;
	font-weight:700;
	line-height:28px;
	color:#304b3e;
}
.service-card__text{
	flex:1;
	margin:0 0 20px;
	font-size:15px;
	line-height:23px;
	color:#555;
}
.service-card__actions{
	display:flex;
	flex-direction:column;
	gap:8px;
}
.services__more{
	margin:32px 0 0;
	font-size:16px;
	text-align:center;
}
.services__more a{
	color:#222;
	text-decoration:underline;
	text-decoration-color:#899777;
	text-underline-offset:3px;
}
.services__more a:hover{
	color:#304b3e;
}

/* Landing: which procedure suits you
---------------------------------*/
.problems{
	display:flex;
	align-items:center;
	gap:56px;
}
.problems::before, .problems::after{
	display:none;
}
.problems__photo{
	flex:0 0 36%;
	margin:0;
}
.problems__photo img{
	display:block;
	width:100%;
	border-radius:20px;
	box-shadow:0 20px 40px rgba(36, 48, 39, 0.08);
}
.problems__text{
	flex:1 1 0;
	min-width:0;
}
.problems__text h2{
	text-align:left;
}
.problems__intro{
	margin:0 0 24px;
	font-size:17px;
	line-height:26px;
	color:#333;
}
.check-list{
	margin:0 0 30px;
	padding:0;
	list-style:none;
}
.check-list li{
	position:relative;
	margin:0 0 14px;
	padding-left:38px;
	font-size:16px;
	line-height:24px;
	color:#222;
}
.check-list li::before{
	position:absolute;
	top:0;
	left:0;
	width:24px;
	height:24px;
	border-radius:50%;
	background:#e4e8dc;
	color:#304b3e;
	font-family:'FontAwesome';
	font-size:12px;
	line-height:24px;
	text-align:center;
	content:"\f00c";
}

/* Landing: prices, master, reviews, questions
---------------------------------*/
.prices__cta{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:16px;
	margin:40px 0 0;
}
.prices__cta-price{
	font-family:'Montserrat', sans-serif;
	font-size:26px;
	font-weight:700;
	line-height:32px;
	color:#304b3e;
}
.master{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:56px;
}
.master::before, .master::after{
	display:none;
}
.master__photo{
	flex:0 0 280px;
	margin:0;
}
.master__photo img{
	display:block;
	width:280px;
	height:280px;
	border-radius:50%;
	object-fit:cover;
	box-shadow:0 0 0 8px #e4e8dc, 0 20px 40px rgba(36, 48, 39, 0.12);
}
.master__text{
	flex:0 1 560px;
}
.master__label{
	margin:0 0 6px;
	font-family:'Montserrat', sans-serif;
	font-size:13px;
	font-weight:700;
	letter-spacing:2px;
	text-transform:none;
	color:#304b3e;
}
.master__name{
	margin:0 0 16px;
	text-align:left;
}
.master__about{
	margin:0 0 26px;
	font-size:17px;
	line-height:26px;
	color:#333;
}
.master__actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}
.review-cards{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
	gap:24px;
	margin:48px 0 0;
	padding:0;
	list-style:none;
}
.review-card{
	position:relative;
	padding:32px 28px 24px;
	border-radius:16px;
	background:#fff;
	box-shadow:0 10px 30px rgba(36, 48, 39, 0.08);
}
.review-card::before{
	position:absolute;
	top:-16px;
	left:24px;
	width:36px;
	height:36px;
	border-radius:50%;
	background:linear-gradient(135deg, #dce1d0 0%, #899777 100%);
	color:#fff;
	font-family:'FontAwesome';
	font-size:14px;
	line-height:36px;
	text-align:center;
	content:"\f10d";
}
.review-card__text{
	margin:0 0 16px;
	padding:0;
	border:0;
	font-size:16px;
	line-height:25px;
	color:#333;
}
.review-card__author{
	font-family:'Montserrat', sans-serif;
	font-weight:700;
	color:#222;
}
.review-card__author span{
	display:block;
	font-size:13px;
	font-weight:400;
	color:#666;
}
.faq{
	max-width:820px;
	margin:40px auto 0;
}
.faq__item{
	margin:0 0 12px;
	border-radius:12px;
	background:#fff;
	box-shadow:0 6px 20px rgba(36, 48, 39, 0.06);
}
.faq__question{
	position:relative;
	display:block;
	padding:20px 60px 20px 24px;
	font-family:'Montserrat', sans-serif;
	font-size:16px;
	font-weight:700;
	line-height:24px;
	color:#222;
	list-style:none;
	cursor:pointer;
}
.faq__question::-webkit-details-marker{
	display:none;
}
.faq__question::after{
	position:absolute;
	top:50%;
	right:22px;
	width:28px;
	height:28px;
	margin-top:-14px;
	border-radius:50%;
	background:#e4e8dc;
	color:#304b3e;
	font-size:20px;
	line-height:28px;
	text-align:center;
	content:"+";
	transition:transform 0.2s ease;
}
.faq__item[open] .faq__question::after{
	transform:rotate(45deg);
}
.faq__answer.rich-text{
	padding:0 24px 22px;
	font-size:16px;
	line-height:25px;
	color:#333;
}

/* Contacts
---------------------------------*/
.contact-cards{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	gap:20px;
	margin:40px 0 0;
	padding:0;
	list-style:none;
}
.contact-card{
	padding:26px 22px;
	border-radius:16px;
	background:#fff;
	box-shadow:0 10px 30px rgba(36, 48, 39, 0.06);
	text-align:center;
}
.contact-card .fa{
	display:block;
	width:52px;
	height:52px;
	margin:0 auto 14px;
	border-radius:50%;
	background:linear-gradient(135deg, #dce1d0 0%, #899777 100%);
	color:#fff;
	font-size:22px;
	line-height:52px;
}
.contact-card h3{
	margin:0 0 8px;
	font-size:14px;
	font-weight:700;
	letter-spacing:1px;
}
.contact-card p{
	font-size:16px;
	line-height:24px;
	color:#333;
}
.contact-card a{
	color:#222;
}
.contact-actions{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:12px;
	margin:32px 0 0;
}

/* Phones: booking and call bar
---------------------------------*/
.mobile-bar{
	display:none;
}

/* Акценты главной страницы. */
.section-label{
    margin:0 0 12px;
    color:#596358;
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-align:center;
    text-transform:uppercase;
}
.hero__photo img{
    border-radius:120px 12px 12px 12px;
    box-shadow:16px 16px 0 #e4e8dc;
}
.hero__brand{ margin-top:24px; margin-bottom:6px; }
.hero__actions{ margin-bottom:0; }
.hero__place{ margin-bottom:0; }
.portfolio-filter__button[aria-pressed="true"]{
    background:#304b3e;
    color:#fff;
}
.service-card{ border-top:3px solid #304b3e; }
:focus-visible{ outline:3px solid #84652e; outline-offset:4px; }
section[id]{ scroll-margin-top:90px; }
@media (prefers-reduced-motion:reduce){
    *, *::before, *::after{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }
}
