/*
--a24-red:#e31e24
--bg-gray:#f5f5f5
*/

*{
	box-sizing:border-box;
}
body{
	color:#000000;
	line-height:1.2;
	font-family:'Open Sans',Arial,sans-serif;
	font-size:16px;
}
h1,h2{
	font-family:'Montserrat',Arial,sans-serif;
}
h1{
	font-size:44px;
}
h2{
	font-size:40px;
}
h3{
	font-size:20px;
}
	h3 strong{
		display:block;
	}
a{
	text-decoration:underline;
	color:#e31e24;
}
section{
	display:block;
	margin-bottom:80px;
}

form{
	margin:3em 0 1em;
}
.field-line{
	margin:1em 0;
}
label{
	width:100%;
}
input[type="tel"],
.b-submit{
	display:block;
	width:100%;
	height:50px;
	border-radius:20px;
	padding:1em 2em;
}
input[type="tel"]{
	margin:7px 0;
	border:1px solid #111;
	outline:none;
}
	input[type="tel"]:active,input[type="tel"]:hover,input[type="tel"]:focus,input[type="tel"]:focus-visible{
		outline:none;
	}
input[type="checkbox"]{
	display:none;
}
	input[type="checkbox"] + span{
		float:left;
		display:block;
		width:1em;
		height:1em;
		margin-right:.5em;
		margin-bottom:1em;
		border:1px solid #959595;
		background-position:center;
		background-repeat:no-repeat;
		background-size:inherit;
		font-size:2em;
	}
	input[type="checkbox"]:checked + span{
		background-image:url(../images/check.png);
	}
input.name{
	display:none;
}
.b-submit{
	border:none;
	background-color:#e31e24;
	color:#fff;
	text-align:center;
	font-family:'Montserrat',Arial,sans-serif;
	font-weight:600;
}
a.b-submit{
	text-decoration:none;
}
.b-primary,
.b-seconary{
    border-radius:4em;
	border-width:1px;
	border-style:solid;
    padding:1.4em 2.5em;
    font-size:12px;
    font-weight:600;
	text-decoration:none;
}
.b-primary{
	border-color:#e31e24;
	background-color:#e31e24;
	color:#ffffff;
}
.b-seconary{
	border-color:#ffffff;
	background-color:transparent;
	color:#ffffff;
}
.a-phone,
.a-phone a{
	text-decoration:none;
	color:#000000;
	font-family:'Montserrat',Arial,sans-serif;
	font-size:20px;
	font-weight:700;
}

.bg-red{
	background-color:#e31e24;
	color:#fff;
}
.bg-gray{
	background-color:#f5f5f5;
	color:#111111;
}
.d-pad{
	position:relative;
	border-radius:20px;
}
	.d-pad h2{
		font-size:20px;
		font-weight:700;
	}
	.d-pad.bg-red{
		padding:0 20px 8em;
	}
	.d-pad.bg-gray{
		padding:1.2em;
	}
.ico-wrap{
	border-radius:3000px;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
}
	.ico-wrap img{
		width:100%;
	}

.footnotes{
	margin:1em 0;
    font-size:14px;
}
.hide{
	display:none !important;
}

.main-nav{
	padding:0;
	background-color:#fff;
	box-shadow:0px 8px 9px 0px rgba(0, 0, 0, 0.16);
	max-width:100%;
	overflow-x:clip;
}
	.main-nav .navbar{
		padding:0;
		flex-wrap:wrap;
		align-items:center;
		max-width:100%;
	}
	.main-nav .navbar-collapse .navbar-nav{
		flex-grow:1;
		justify-content:center;
	}
	.main-nav .navbar-collapse .nav-item+.nav-item{
		padding-left:3em;
	}
	.main-nav .nav-link{
		color:#000000;
	}
	.main-nav .a-phone,
	.main-nav .a-phone a{
		color:rgb(37, 37, 37);
	}
	.main-nav .k-phone{
		display:none;
	}
	.main-nav .b-primary{
		margin-left:3em;
	}
	.main-nav .about{
		display:none;
		font-size:20px;
	}
	.main-nav .d-toggle{
		display:none;
		color:#8c8c8c;
	}
	
.navbar-brand{
/*	background-color:#e31e24;*/
}
	.main-nav .navbar-brand{
		padding:.7em 1em;
	}
.mbl-brand{
	display:none;
}
	.main-brand,
	.mbl-brand{
		height:auto;
		max-height:168px;
		width:auto;
		max-width:min(680px, 74vw);
		object-fit:contain;
		vertical-align:middle;
		background:transparent;
	}
@media (min-width:1200px){
	.main-brand,
	.mbl-brand{
		max-height:188px;
		max-width:min(760px, 58vw);
	}
}
	.foot-nav .navbar-brand.foot-logo img{
		width:auto;
		height:auto;
		max-height:192px;
		max-width:min(100%, 720px);
		padding:0;
		background:transparent;
		border-radius:0;
		box-sizing:content-box;
		object-fit:contain;
	}
/* невидимая колонка = ширина бургера, чтобы логотип был по центру шапки на мобиле */
.navbar-balance{
	display:none;
}
.navbar-toggler,.navbar-toggler:hover,.navbar-toggler:active,.navbar-toggler:focus{
	border:none;
	box-shadow:none;
}
.navbar-toggler{
	padding-left:1em;
}
	.navbar-toggler span{
		display:block;
		width:28px;
		height:4px;
		background:#e31e24;
	}
	.navbar-toggler span+span{
		margin-top:5px;
	}
	.navbar-toggler:hover span+span{
		margin-top:4px;
	}

.section-title{
	margin-bottom:60px;
}
	.section-title h2{
		display:inline-block;
		position:relative;
		padding-left:5px;
		font-weight:700;
	}
	.section-title h2:after{
		content:" ";
		display:block;
		position:absolute;
		left:-5px;
		width:calc(100% + 10px);
		border-bottom:5px solid #e31e24;
	}

#top{
    margin-top:180px;
}
.top-wrap{
	background-position:right bottom;
	background-repeat:no-repeat;
	background-size:75%;
    background-image:url("../images/Gemini_Generated_Image_pn0s3npn0s3npn0s_cleaned-no-bg-HD (carve.photos).png");
}
	.top-wrap img{
		display:none;
	}
.top-panel{
	width:40%;
	padding:3em 1em 2em;
}
	.top-panel h1{
		margin-top:1em;
		line-height:32px;
		font-weight:700;
	}
	.top-panel h1 span{
		display:inline-block;
		margin-top:1em;
		font-size:32px;
	}
	.top-panel h1 span+span{
		margin-top:0;
	}
	.top-panel p{
		margin-top:1em;
		font-size:20px;
		font-weight:400;
	}
.top-call{
	display:none;
}
/*	.top-call{
		color:#fff;
	}*/
	
#advantages{
	margin-bottom:320px;
}
.since{
	display:flex;
	justify-content:center;
	align-items:center;
	padding-top: 12px;
}
	.since span{
		display:inline-block;
	}
	.since span+span{
		margin-left:20px;
	}
	.since .text{
		white-space:nowrap;
		font-size:25px;
		font-weight:700;
	}
	.since-first .since-brand-text{
		color:#fff;
		font-weight:700;
		font-size:clamp(0.9rem, 2.4vw, 1.1rem);
		letter-spacing:0.04em;
		flex:0 0 auto;
	}
	.since-second .image{
		width:70px;
	}
	.since .image img{
		width:100%;
		height:auto;
		display:block;
	}
.adv-list{
	position:absolute;
	top:5em;
	width:98%;
	left:-50%;
	margin-left:51%;
}
	.adv-list .d-pad{
		height:100%;
	}	
	.adv-list .ico-wrap{
		width:80px;
		height:80px;
		margin-top:1em;
		background-color:#e31e24;
	}
	.adv-list .ico-wrap.ico-stack{
		position:relative;
		overflow:hidden;
	}
	.adv-list .ico-wrap.ico-stack .ico-base,
	.adv-list .ico-wrap.ico-stack .ico-overlay{
		position:absolute;
		inset:0;
		width:100%;
		height:100%;
		object-fit:contain;
	}
	.adv-list .ico-wrap.ico-stack .ico-overlay{
		z-index:1;
		pointer-events:none;
	}
	.adv-list h3{
		min-height:2.5em;
		margin-top:2em;
		padding-right:2em;
		font-weight:700;
		line-height:1.2;
	}
	.adv-list p{
		margin:0;
		line-height:1.35;
	}
.club-link{
	display:inline-block;
	border-bottom:2px dashed #e31e24;
	padding-bottom:2px;
	color:#e31e24;
	text-decoration:none;
	font-family:'Montserrat',Arial,sans-serif;
	font-size:14px;
	font-weight:700;
}

.prices-about{
	display:flex;
	justify-content:space-between;
	margin-bottom:60px;
}
	.prices-about .item{
		margin:1em 0;
	}
	.prices-about .ico-wrap{
		float:left;
		width:60px;
		height:60px;
		margin-right:20px;
	}
	.prices-about .text{
		width:300px;
	}
	
.prices div[class^="col"]{
	margin:2em 0;
}
	.prices .d-pad{
		max-width:420px;
		height:100%;
		cursor:pointer;
	}
	.prices h3{
		position:relative;
		margin-top:1em;
	}
	.prices .note{
		display:block;
		position:absolute;
		right:20px;
		top:57%;
		width:24px;
		height:24px;
		border-radius:50%;
		border:2px solid #fff;
		background-color:rgb(161, 193, 224);
		color:#fff;
		text-align:center;
		font-size:16px;
	}
	.prices .note+span{
		display:none;
		position:absolute;
		bottom:50%;
		right:20px;
		z-index:100000;
		width:280px;
		padding:15px;
		border-radius:10px;
		background-color:#fff;
		box-shadow:0px 0px 15px 0px rgba(0,0,0,0.3);
		font-size:14px;
	}
	.prices .note+span.show,
	.prices .note:hover+span{
		display:block;
	}
	.prices .note+span i{
		display:block;
		margin-top:1em;
		font-size:12px;
	}
	.prices .image{
		position:relative;
		float:left;
		width:55%;
		padding:7px;
	}
	.prices .image:before{
		content:" ";
		display:block;
		position:absolute;
		left:0;
		top:0;
		width:30%;
		height:100%;
		border-radius:20px;
		background-color:rgb(161, 193, 224);
	}
	.prices .image img{
		position:relative;
		width:100%;
	}
	.prices .rub{
		position:absolute;
		right:20px;
		top:20px;
		font-family:'Montserrat',Arial,sans-serif;
		text-align:right;
		font-size:34px;
		font-weight:600;
	}
	.prices .arrow{
		margin-top:3em;
		text-align:right;
	}
	.prices .arrow:after{
		content:" ";
		display:block;
		clear:both;
		width:100%;
	}
	
.everything{
	margin-top:80px;
	text-align:right;
}
	.d-pad.bg-gray.everything{
		padding:3em 4em 3em 3em;
	}
	.everything h3{
		margin-top:2em;
		font-size:32px;
		font-weight:700;
	}
	.everything img{
		width:100%;
	}
	.everything .text{
		font-size:22px;
	}
	.everything .text + .text{
		margin-top:2em;
	}
	.everything .foot{
		margin-top:5em;
	}

.services{
}
	.services .d-pad{
		padding:3em 1em 3em;
	}
	.services h3{
		font-size:32px;
		font-weight:700;
	}
	.services p{
		font-size:22px;
	}
	.services .foot{
		margin-top:4em;
	}
	.services .b-prymary{
		display:inline-block;
	}
	
.reviews{
	margin-bottom:2rem;
}
.review-card{
	height:100%;
	display:flex;
	flex-direction:column;
}
.review-card__head{
	display:flex;
	align-items:center;
	gap:0.85em;
	margin-bottom:1em;
}
.review-card__icon{
	flex-shrink:0;
	width:48px;
	height:48px;
	border-radius:50%;
	background:#e31e24;
	color:#fff;
	font-weight:700;
	font-size:1.15rem;
	line-height:48px;
	text-align:center;
	font-family:'Montserrat',Arial,sans-serif;
}
.review-card__name{
	font-weight:700;
	font-size:1rem;
	font-family:'Montserrat',Arial,sans-serif;
}
.review-card__meta{
	font-size:0.8rem;
	color:#666;
	margin-top:0.15em;
}
.review-card__text{
	margin:0;
	font-size:0.95rem;
	line-height:1.45;
	color:#222;
	flex:1;
}
.contacts-form{
	padding:3em 5em 2em 3em;
}
	.contacts-form .title{
		font-size:40px;
		font-weight:700;
	}
	.contacts-form .text{
		margin-top:1em;
		font-size:20px;
		font-weight:400;
	}
.call-us{
	padding:2em 2em 2em 5em;
	font-size:30px;
	font-weight:700;
}
	.call-us a[href^="tel:"]{
		font-size:40px;
	}
	.call-us a+div{
		margin-top:1em;
	}
.tg-link{
	display:block;
	width:100px;
	height:100px;
	margin:10px 0;
}
	.tg-link img{
		width:100%;
	}
.details{
    list-style:none;
    padding:0;
    font-size:16px;
    font-weight:normal;
    margin:3em 0 0;
}

footer{
	border:1px solid rgb(5, 6, 6);
	background-color:rgb(26, 26, 26);
	color:#fff;
}
	footer a{
		color:#fff;
	}
.foot-nav{
	display:flex;
	justify-content:space-between;
	align-items:start;
	position:relative;
}
	.foot-nav .navbar-brand{
		padding:2em 1em;
	}
	.foot-nav .foot-contacts,
	.foot-nav .foot-menu{
		margin-top:2em;
		text-align:center;
	}
	.foot-nav .foot-menu{
		list-style:none;
		padding:0;
	}
	.foot-nav .a-phone{
		display:block;
		line-height:42px;
	}
	.foot-nav .a-phone,
	.foot-nav .a-phone a{
		font-size:27px;
		color:#fff;
	}
	.foot-nav .nav-link{
		font-size:20px;
	}
	.foot-nav .b-seconary{
		display:block;
		margin-top:1em;
		font-size:15px;
	}

.foot-bottom{
	margin:2em 0;
	font-size:14px;
}
	.foot-bottom a{
		display:block;
	}
	
.float-msg{
	display:none;
	z-index:111111111;
	position:fixed;
	left:max(0.5rem, env(safe-area-inset-left));
	right:max(0.5rem, env(safe-area-inset-right));
	top:5rem;
	max-width:min(100% - 1rem, 36rem);
	margin-left:auto;
	margin-right:auto;
	border:1px dotted #c8c8c8;
	border-radius:2px;
	padding:1em 2.25em 1em 1em;
	font-family:Arial;
	font-size:clamp(14px, 3.8vw, 16px);
	line-height:1.35;
	word-wrap:break-word;
	overflow-wrap:anywhere;
	text-align:left;
}
	.float-msg:after{
		content:"\D7";
		display:block;
		position:absolute;
		top:1px;
		right:5px;
		font-weight:bold;
	}
	.float-msg.error{
		background-color:#f95d51;
		color:#fff;
	}
	.float-msg.success{
		background-color:#c2eebe;
		color:#101010;
	}

.popup-wrap{
	z-index:9999999;
	overflow-y:auto;
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	padding:0 20px;
	background-color:rgba(0,0,0,.6);
	cursor:pointer;
	outline:none;
	-webkit-transition:opacity ease-in-out 0.3s;
	-moz-transition:opacity ease-in-out 0.3s;
	-o-transition:opacity ease-in-out 0.3s;
	transition:opacity ease-in-out 0.3s;
}
.popup-form{
	width:600px;
	margin:40px auto;
	padding-bottom:40px;
	background-color:#fff;
}
	.popup-form img.popup-head{
		width:100%;
	}
	.popup-form .title,
	.popup-form .text,
	.popup-form form{
		padding-left:40px;
		padding-right:40px;
	}
	.popup-form .title{
		margin-top:2em;
		text-align:center;
		font-size:24px;
		font-weight:700;
	}
	.popup-form .text{
		margin:1em 0;
		text-align:center;
	}
	.popup-form form{
		margin-top:2em;
	}
	.popup-callback{
		margin:1.4em 0 0.25em;
		text-align:center;
	}
	.popup-callback__hint{
		margin:0 0 0.35em;
		font-size:15px;
		font-weight:600;
		color:#333;
	}
	.popup-callback__tel{
		display:inline-block;
		margin:0;
		font-family:'Montserrat',Arial,sans-serif;
		font-size:22px;
		font-weight:700;
		letter-spacing:-0.02em;
		color:#e31e24;
		text-decoration:none;
	}
	.popup-callback__tel:hover,
	.popup-callback__tel:focus{
		text-decoration:underline;
	}
	.popup-callback__note{
		margin:0.5em 0 0;
		font-size:13px;
		color:#666;
	}
	@media (max-width:575.98px){
		.popup-callback__tel{
			font-size:clamp(18px,5vw,22px);
		}
	}
.d-toggle{
    position:absolute;
	top:40px;
	right:40px;
	font-size:40px;
	color:#fff;
	cursor:pointer;
}
	.d-toggle:after{
		content:'\2715';
	}

@font-face{
	font-family:ALSRubl;
	src:url(rouble.ttf);
}
.rub{
	white-space:nowrap;
}
.rub:after{
	content:"a";
	display:inline-block;
    font-family:ALSRubl;
}

.c404{
	font-family:'Montserrat',Arial,sans-serif;
	font-size:36px;
	font-weight:700;
}

@media (max-width:575.98px){  
	.top-panel{
		max-width:420px;
		width:auto;
	}
	.main-nav .b-primary{
		display:none;
	}
	#advantages{
		margin-bottom:1200px;
	}
	.since{
		flex-direction:column-reverse;
	}
	.since-first{
		margin-top:1em;
	}
	.since-first .text {
		font-size:19px;
	}
	.adv-list{
		top:9em;
	}
	.adv-list .col{
		display:flex;
		justify-content:center;
	}
	.prices-about{
		justify-content:center;
		flex-wrap:wrap;
	}
	.prices .note{
		width:40px;
		height:40px;
		font-size:30px;
	}
	.contacts-form,
	.call-us{
		padding:1em;
	}
}
@media (min-width:576px) and (max-width:767.98px){
	.foot-nav{
		margin-top:0;
		margin-left:128px;
	}	
	.foot-nav .navbar-brand{
		right:90%;
		margin-left:0;
	}
	.foot-bottom{
		margin-left:128px;
	}
}

@media (min-width:576px) and (max-width:1199.98px){
	.top-panel{
		width:48%;
		min-width:420px;
	}
	#advantages{
		margin-bottom:620px;
	}
	.adv-list .col:nth-child(2n+1){
		display:flex;
		justify-content:end;
	}
	.adv-list .col:nth-child(2n){
		display:flex;
		justify-content:begin;
	}
}

@media (min-width:576px) and (max-width:1399.98px){
	.contacts-form{
		padding-right:3em;
	}
	.call-us{
		padding-left:2em;
	}
}

@media (max-width:767.98px){
	.top-panel{
		display:none;
	}
	.top-call{
		display:block;
		text-align:center;
		margin-top:3em;
	}
	.top-call .b-primary{
		font-size:16px;
	}
	.since span + span {
		margin-left:7px;
	}
	.prices-about{
		flex-wrap:wrap;
	}
	.popup-form{
		width:auto;
		max-width:600px;
	}
	.foot-nav{
		flex-direction:column-reverse;
		align-items:center;
	}
	.foot-bottom{
		text-align:center;
	}
	.everything{
		text-align:center;
	}
	.d-pad.bg-gray.everything{
		padding:1.25rem 1rem 2rem;
	}
	.everything h3{
		margin-top:1rem;
		font-size:clamp(1.15rem,4.5vw,1.75rem);
	}
	.everything .text{
		font-size:clamp(1rem,3.8vw,1.125rem);
		line-height:1.35;
		max-width:100%;
		margin-left:auto;
		margin-right:auto;
	}
	.everything .foot{
		margin-top:2.25rem;
		text-align:center;
	}
	.since{
		flex-wrap:wrap;
		padding-left:0.5rem;
		padding-right:0.5rem;
	}
	.since .text{
		white-space:normal;
	}
	.prices-about .text{
		width:auto;
		max-width:100%;
		min-width:0;
	}
}

@media (max-width:991.98px){ 
	.navbar-collapse{
		position:absolute;
		top:0;
		background:#ebebeb;
		width:100%;
		left:0;
		padding:2em;
		text-align:center;
		font-size:24px;
	}
	.main-nav .navbar-collapse .nav-item+.nav-item{
		padding-left:0;
	}
	.main-nav .navbar-collapse .navbar-nav{
		padding-bottom:2em;
	}
	.main-nav .about,
	.main-nav .d-toggle{
		display:block;
	}
	.main-nav .navbar-brand{
		padding:0 1em;
	}
	.main-brand{
		display:none;
	}
	.mbl-brand{
		display:block;
		height:auto;
		max-height:150px;
		max-width:min(560px, 90vw);
		padding:4px 0;
	}
	.top-wrap{
		background-image:none;
	}
	.top-wrap img{
		display:block;
		width:100%;
		margin-top:2em;
	}	
	.top-panel{
		max-width:420px;
		margin:0 auto;
	}
	.since-first .text{
		font-size:19px;
	}
	.since-second .image{
		width:50px;
	}
	.since-second .text{
		font-size:16px;
	}
	.d-pad.bg-red{
		padding-bottom:9em;
	}
}

@media (max-width:1199.98px){ 
	body{
		font-size:14px;
	}
	.main-nav{
		padding-top:max(0.35rem, env(safe-area-inset-top));
		padding-bottom:0.45rem;
	}
	.main-nav .navbar{
		flex-wrap:nowrap;
		flex-direction:row;
		align-items:center;
		width:100%;
		min-width:0;
		min-height:3.75rem;
		padding-top:0.45rem;
		padding-bottom:0.45rem;
		padding-left:max(8px, env(safe-area-inset-left));
		padding-right:max(8px, env(safe-area-inset-right));
		column-gap:4px;
	}
	/* бургер | лого (сжимается) | телефон; меню — в конце, чтобы не выталкивало номер */
	.main-nav .navbar-toggler{
		order:0;
		flex:0 0 auto;
		padding:0.5rem 0.45rem;
		align-self:center;
	}
	.main-nav .navbar-brand{
		order:1;
		flex:1 1 0;
		min-width:0;
		max-width:100%;
		overflow:visible;
		padding:0.3rem 0.15rem !important;
		text-align:center;
	}
	/* только один логотип: общий img{display:block} ломал display:none у .main-brand/.mbl-brand */
	.main-nav .navbar-brand img.main-brand{
		display:none !important;
	}
	.main-nav .navbar-brand img.mbl-brand{
		display:block !important;
		margin:0 auto;
		width:auto;
		height:auto;
		/* floor по высоте, чтобы лого не исчезало на узких экранах; чуть крупнее на телефоне */
		min-height:62px;
		max-height:clamp(60px, 26vw, 100px);
		max-width:100%;
		object-fit:contain;
	}
	.main-nav .navbar-item.phone{
		order:2;
		flex:0 1 auto;
		min-width:0;
		max-width:min(12.5em, 48%);
		padding-left:0.15rem;
		padding-right:max(0.2rem, env(safe-area-inset-right));
		text-align:right;
		align-self:center;
	}
	.main-nav .navbar-collapse{
		order:3;
	}
	.main-nav .navbar-item.popup{
		display:none;
	}
	.main-nav .a-phone{
		display:block;
		line-height:1.2;
		text-align:right;
		width:100%;
		min-width:0;
	}
	.main-nav .a-phone .a-phone__num{
		display:inline-block;
		white-space:normal;
		font-size:clamp(10px, 0.2rem + 2.1vw, 17px);
		font-weight:700;
		letter-spacing:-0.04em;
		max-width:100%;
		text-align:right;
		word-wrap:break-word;
		overflow-wrap:break-word;
	}
	.main-nav .k-phone{
		display:none;
	}
	.top-panel h1{
		font-size:36px;
		line-height:1.12;
	}
	.top-panel h1 span{
		font-size:28px;
	}
	.top-panel p{
		font-size:17px;
	}
	.adv-list .d-pad{
		max-width:100%;
	}
	#advantages{
		margin-bottom:4rem;
	}
	#advantages .adv-list{
		position:relative;
		top:auto;
		left:auto;
		margin-left:0;
		width:100%;
	}
	#advantages .d-pad.bg-red{
		padding-bottom:1.5rem;
	}
	.top-wrap .top-panel{
		min-width:0;
		max-width:100%;
	}
	body.land{
		overflow-x:hidden;
	}
	.prices .col-md-6{
		display:flex;
		justify-content:center;
	}
	.contacts-form .title{
		font-size:32px;
	}
	.call-us{
		font-size:24px;
	}
	.call-us a[href^="tel:"]{
		font-size:30px;
	}
	.tg-link{
		width:80px;
		height:80px;
	}
}
/* Мобильные (до 992px): сетка «меню | лого (центр) | баланс», ниже — номер; лого крупнее и по центру ширины */
@media (max-width:991.98px){
	.main-nav .navbar{
		display:grid;
		grid-template-columns:3rem minmax(0,1fr) 3rem;
		grid-template-rows:auto auto;
		align-items:center;
		column-gap:0.2rem;
		row-gap:0.2rem;
		min-height:0;
		padding-top:0.45rem;
		padding-bottom:0.5rem;
	}
	.main-nav .navbar-toggler{
		grid-column:1;
		grid-row:1;
		justify-self:start;
		align-self:center;
		width:3rem;
		min-width:3rem;
		padding-left:0.4rem;
		padding-right:0.4rem;
		z-index:40;
		position:relative;
	}
	.main-nav .navbar-balance{
		display:block;
		grid-column:3;
		grid-row:1;
		width:3rem;
		min-width:3rem;
		height:0;
		overflow:hidden;
		pointer-events:none;
	}
	.main-nav .navbar-brand{
		grid-column:2;
		grid-row:1;
		justify-self:center;
		align-self:center;
		position:relative;
		z-index:1;
		width:100%;
		min-width:0;
		max-width:100%;
		margin:0 auto;
		padding:0.1rem 0.05rem !important;
		text-align:center;
	}
	.main-nav .navbar-brand img.mbl-brand{
		min-height:86px;
		max-height:clamp(86px, 30vw, 150px);
		margin-left:auto;
		margin-right:auto;
	}
	.main-nav .navbar-item.phone{
		grid-column:1 / -1;
		grid-row:2;
		width:100%;
		max-width:100%;
		padding:0.12rem 0.75rem 0.3rem;
		text-align:center;
	}
	/* выпадающее меню — поверх шапки; само положение из общего @991 (position: absolute) */
	.main-nav .navbar-collapse{
		z-index:30;
	}
	.main-nav .a-phone{
		text-align:center;
	}
	.main-nav .a-phone .a-phone__num{
		text-align:center;
		letter-spacing:-0.04em;
		font-size:clamp(12px, 0.1rem + 2.4vw, 18px);
	}
	#top{
		margin-top:min(255px, calc(130px + 22vw));
	}
}
/* Планшет 992–1199: мобильный логотип скрыт, десктопный — виден */
@media (min-width:992px) and (max-width:1199.98px){
	.main-nav .navbar-brand{
		min-width:0;
	}
	.main-nav .navbar-brand img.main-brand{
		display:block !important;
		margin:0 auto;
		max-height:clamp(48px, 10vw, 70px);
		max-width:100%;
		object-fit:contain;
	}
	.main-nav .navbar-brand img.mbl-brand{
		display:none !important;
	}
}
@media (min-width:1200px) and (max-width:1399.98px){
	.top-panel h1{
		font-size:36px;
		line-height:28px;
	}
	.top-panel h1 span{
		font-size:28px;
	}
	.contacts-form .title{
		font-size:36px;
	}
}

@media (max-width:1399.98px){
	.adv-list h3{
		padding-right:0;
	}
	.club-link{
		font-size:13px;
	}
}

/* Нижняя кнопка «Позвонить»: fixed на мобиле и десктопе, tel: */
.float-call-btn{
	display:inline-flex;
	align-items:center;
	gap:0.5rem;
	position:fixed;
	right:max(12px, env(safe-area-inset-right));
	bottom:max(16px, env(safe-area-inset-bottom));
	z-index:1025;
	max-width:calc(100vw - 24px);
	padding:0.65rem 1rem 0.65rem 0.75rem;
	border-radius:999px;
	background-color:#e31e24;
	color:#fff;
	font-family:'Montserrat',Arial,sans-serif;
	font-weight:700;
	font-size:clamp(12px, 3.2vw, 16px);
	line-height:1.15;
	text-decoration:none;
	box-shadow:0 4px 18px rgba(0,0,0,0.22);
	transition:background-color 0.15s ease, transform 0.15s ease;
}
body.land{
	padding-bottom:calc(4.5rem + env(safe-area-inset-bottom, 0px));
}
.float-call-btn:hover,
.float-call-btn:focus-visible{
	background-color:#c91920;
	color:#fff;
	text-decoration:none;
	outline:2px solid #fff;
	outline-offset:2px;
}
.float-call-btn:active{
	transform:scale(0.98);
}
.float-call-btn__icon{
	display:flex;
	flex-shrink:0;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	border-radius:50%;
	background:rgba(255,255,255,0.15);
}
.float-call-btn__icon img{
	display:block;
	width:26px;
	height:26px;
	filter:brightness(0) invert(1);
}
.float-call-btn__num{
	white-space:nowrap;
	letter-spacing:-0.02em;
}
@media (min-width:992px){
	.float-call-btn{
		padding:0.7rem 1.1rem 0.7rem 0.85rem;
		font-size:15px;
	}
	.float-call-btn__num{
		font-size:15px;
	}
	.float-call-btn__icon{
		width:42px;
		height:42px;
	}
	.float-call-btn__icon img{
		width:28px;
		height:28px;
	}
}
/* 521–575: чуть крупнее номер в шапке (двухстрочная вёрстка из блока 991) */
@media (max-width:575.98px) and (min-width:521px){
	.main-nav .a-phone .a-phone__num{
		font-size:clamp(12px, 0.2rem + 1.4vw, 18px);
	}
}
@media (max-width:575.98px){
	.float-call-btn{
		font-size:clamp(12px, 3.2vw, 16px);
		padding-left:0.65rem;
		padding-right:0.85rem;
	}
	.float-call-btn__num{
		font-size:clamp(12px, 3.4vw, 16px);
	}
}
/* Футер до 992px: меню и контакты сверху, логотип снизу — по центру, как в шапке (без старых absolute) */
@media (max-width:991.98px){
	footer .foot-nav{
		display:flex;
		flex-direction:column-reverse;
		align-items:center;
		justify-content:flex-end;
		margin:0 !important;
		padding:1.5rem 1rem 1.25rem;
		position:relative;
	}
	footer .foot-nav .foot-menu,
	footer .foot-nav .foot-contacts{
		margin-top:0;
		width:100%;
		max-width:min(36rem,100%);
		text-align:center;
	}
	footer .foot-nav .foot-menu{
		padding:0.25rem 0 0.5rem;
	}
	footer .foot-nav .foot-contacts{
		margin-top:0.5rem;
	}
	footer .foot-nav .navbar-brand.foot-logo{
		position:static !important;
		left:auto !important;
		right:auto !important;
		top:auto !important;
		margin:0.75rem auto 0;
		padding:1.25rem 0.5rem 0.25rem;
		text-align:center;
		width:100%;
		max-width:min(92vw,34rem);
	}
	footer .foot-nav .navbar-brand.foot-logo img{
		display:block;
		margin:0 auto;
		max-height:clamp(86px,30vw,150px);
		max-width:min(100%,100vw - 2rem);
		height:auto;
	}
	footer .foot-bottom{
		margin-left:0;
	}
}