@font-face{font-family:'Roboto';src:url(/assets/fonts/Roboto-VariableFont_wdth,wght.woff2) format('woff2') tech('variations');font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:'Roboto';src:url(/assets/fonts/Roboto-Italic-VariableFont_wdth,wght.woff2) format('woff2') tech('variations');font-style:italic;font-weight:100 900;font-display:swap}:root{--primary-color:#8B1538;--text-dark:#1a1a1a;--text-muted:#cacaca;--white-muted:#f8f8f8;--white:#fff;--container-width:1200px;--header-height:clamp(70px, 12vw, 90px);--p-transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);--p-shadow:0 4px 12px rgba(47, 79, 47, 0.15);--p-translate:translateY(-3px);--uni-radius:8px;--round-radius:50%}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth;font-size:100%;max-inline-size:100%}body{font-family:Roboto,sans-serif;font-optical-sizing:auto;line-height:1.6;color:var(--text-dark);background-color:var(--white-muted);font-size:100%;overflow-x:hidden;position:relative;max-inline-size:100%}.skip-to-content{position:absolute;transform:translateY(-100%);transition:transform 0.3s}.skip-to-content:focus{transform:translateY(0);z-index:9999;background:var(--primary-color);color:var(--white);padding:10px}h1,h2,h3{font-weight:700;line-height:1.3;margin-block-end:1.5rem;color:var(--primary-color);text-wrap:balance}h1{font-size:clamp(2rem, 5vw, 4rem)}h2{font-size:clamp(1.8rem, 3vw, 2.8rem)}h3{font-size:clamp(1.4rem, 2vw, 1.8rem)}p{margin-block-end:1.5rem;font-size:1.125rem;text-align:justify;hyphens:auto;-webkit-hyphens:auto;text-wrap:pretty}a{text-decoration:none;color:inherit;transition:var(--p-transition)}img,picture,video,iframe{max-inline-size:100%;block-size:auto}img{display:block}.container{max-inline-size:var(--container-width);margin-inline:auto;padding-inline:20px}section{padding-block:clamp(20px, 5vw, 90px)}.section-title{font-size:clamp(28px, 4vw, 42px);text-align:center;margin-block-end:60px;color:var(--text-dark);position:relative;&::after{content:'';display:block;inline-size:60px;block-size:4px;background:var(--primary-color);margin-block-start:20px;margin-inline:auto;border-radius:var(--uni-radius)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes wiggle{0%,100%{transform:rotate(0deg)}20%{transform:rotate(5deg)}40%{transform:rotate(-5deg)}60%{transform:rotate(3deg)}80%{transform:rotate(-3deg)}}.fade-in{opacity:0;transform:translateY(30px);transition:var(--p-transition);&.visible{opacity:1;transform:translateY(0)}}.feature-card::after,.tenant-logo::after,.hero__btn::after,.tk3ka-go-top::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:var(--p-shadow);opacity:0;transition:var(--p-transition);pointer-events:none;z-index:-1}.header{position:fixed;inset-block-start:0;inset-inline:0;background:var(--white);z-index:1000;&::after{content:'';position:absolute;inset:0;box-shadow:var(--p-shadow);transition:var(--p-transition);pointer-events:none;z-index:-1;opacity:0}&.header--scrolled::after{opacity:1}}.header__top{background:var(--white-muted);padding-block:10px;font-size:14px;@media (max-width:768px){display:none}}.header__top-inner{display:flex;justify-content:flex-end}.header__contacts{display:flex;gap:30px;@media (max-width:768px){display:none}}.header__contact{display:flex;gap:8px;color:var(--text-dark);&:hover{color:var(--primary-color)}& svg{inline-size:16px;block-size:16px;fill:var(--text-dark)}}.header__main{display:flex;justify-content:space-between;align-items:center;block-size:var(--header-height)}.header__logo{display:flex;align-items:center;gap:12px;max-inline-size:calc(100% - 60px);& svg{inline-size:calc(var(--header-height) * 0.75);block-size:auto;flex-shrink:0}}.header__logo-text{--logo-size:clamp(22px, 6vw, 30px);display:flex;flex-direction:column;align-items:center;max-inline-size:100%}.header__logo-main{font-size:var(--logo-size);font-weight:700;color:var(--primary-color);line-height:1.2;text-transform:uppercase;white-space:nowrap}.header__logo-sub{font-size:calc(var(--logo-size) * 0.5);line-height:1.2;color:var(--primary-color);letter-spacing:-.05em;white-space:nowrap;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis}.header__nav{display:flex;& ul{display:flex;list-style:none}& li{position:relative}@media (max-width:992px){position:fixed;inset-block-start:var(--header-height);inset-inline:0;background:var(--white);flex-direction:column;padding:20px;box-shadow:var(--p-shadow);gap:15px;transform:translateX(100%);transition:var(--p-transition);max-block-size:calc(100dvh - var(--header-height) - 40px);overflow-y:auto;-webkit-overflow-scrolling:touch;&.active{transform:translateX(0)}& ul{flex-direction:column}}}.header__link{display:block;padding-inline:20px;block-size:var(--header-height);line-height:var(--header-height);font-size:14px;font-weight:700;color:var(--text-dark);position:relative;&::after{content:'';position:absolute;inset-block-end:0;inset-inline-start:0;inline-size:100%;block-size:3px;background:var(--primary-color);transform:scaleX(0);transform-origin:left;transition:var(--p-transition)}&:hover{color:var(--primary-color);background:var(--white-muted);&::after{transform:scaleX(1)}}@media (max-width:992px){block-size:auto;line-height:2;padding:10px 20px}}.mobile-menu-btn{display:none;@media (max-width:992px){display:block;inline-size:36px;block-size:36px;outline:none;border:none;background:none;cursor:pointer;-webkit-appearance:none;-webkit-tap-highlight-color:#fff0;z-index:1001;svg{inline-size:100%;block-size:100%;display:block;stroke:var(--primary-color);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;fill:none;path{transition:stroke-dasharray 0.85s ease,stroke-dashoffset 0.85s ease;stroke-dasharray:26px 100px;stroke-dashoffset:126px;&:nth-child(2){transition-duration:0.7s;transition-timing-function:ease-in;stroke-dashoffset:100px;stroke-dasharray:26px 74px}&:nth-child(3){stroke-dashoffset:133px;stroke-dasharray:26px 107px}}}&[aria-expanded="true"] svg path{stroke-dashoffset:57px;&:nth-child(1),&:nth-child(3){transition-delay:0.15s;transition-timing-function:cubic-bezier(.2,.4,.2,1.1)}&:nth-child(2){transition-duration:0.4s;stroke-dashoffset:2px;stroke-dasharray:1px 74px}&:nth-child(3){stroke-dashoffset:58px}}&:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}}}.hero{position:relative;margin-block-start:var(--header-height);block-size:calc(100dvh - var(--header-height));min-block-size:600px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);&::before{content:'';position:absolute;inset:0;background:rgb(0 0 0 / .25);z-index:-1}}.hero-bg{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;z-index:-2}.hero__content{position:relative;z-index:1;max-inline-size:800px;padding-inline:20px;animation:fadeInUp 1s ease}.hero__title{font-size:clamp(28px, 6vw, 56px);color:var(--white);text-shadow:var(--p-shadow);line-height:1.2;margin-block-end:40px;text-transform:uppercase}.hero__btn{position:relative;display:inline-block;padding-block:clamp(14px, 3vw, 18px);padding-inline:clamp(30px, 5vw, 40px);background:var(--white);color:var(--primary-color);border-radius:var(--uni-radius);font-weight:700;font-size:16px;z-index:1;&:hover{transform:var(--p-translate);&::after{opacity:1}}}.stats{background:var(--primary-color);color:var(--white);padding-block:60px;& .stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;text-align:center;position:relative;z-index:1}& .stat-item{display:flex;flex-direction:column;gap:10px;& .stat-item__num{font-size:clamp(2.5rem, 5vw, 4rem);font-weight:900;line-height:1;font-variant-numeric:tabular-nums;min-width:5ch;display:inline-block}& .stat-item__label{font-size:1.125rem;font-weight:500;opacity:.9;text-transform:uppercase;letter-spacing:.05em}}}.video-wrapper{width:100%;max-width:1000px;margin:0 auto;border-radius:var(--uni-radius);overflow:hidden;box-shadow:var(--p-shadow);background:var(--text-dark);aspect-ratio:16 / 9}.native-video{width:100%;height:100%;object-fit:cover;display:block}.features{background:var(--white-muted)}.features__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;@media (max-width:768px){grid-template-columns:1fr}}.feature-card{background:var(--white);border-radius:var(--uni-radius);transition:var(--p-transition);position:relative;text-align:center;padding-block:40px;padding-inline:30px;z-index:1;&:hover{transform:var(--p-translate);&::after{opacity:1}& .feature-card__icon{background-color:#a01d44;& svg{animation:wiggle 0.5s ease-in-out}}}&:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}}.feature-card__icon{inline-size:80px;block-size:80px;margin-inline:auto;margin-block-end:20px;background:var(--primary-color);border-radius:var(--round-radius);display:flex;align-items:center;justify-content:center;transition:background-color 0.3s ease;svg{inline-size:40px;block-size:40px;fill:var(--white)}}.feature-card__title{font-size:18px;font-weight:700;margin-block-end:10px;color:var(--primary-color);text-transform:uppercase}.feature-card__text{font-size:16px;color:var(--text-dark);line-height:1.6;text-align:center}.tenants__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-block-start:40px}.tenant-logo{position:relative;inline-size:100%;aspect-ratio:2 / 1;background:var(--white);border-radius:var(--uni-radius);display:flex;align-items:center;justify-content:center;padding:10px;transition:var(--p-transition);z-index:1;img{max-inline-size:100%;max-block-size:100%;object-fit:contain}&:hover{transform:translateY(-3px);&::after{opacity:1}}}.rental-request{background:var(--white-muted);& .rental-request__inner{background:var(--white);border-radius:var(--uni-radius);box-shadow:var(--p-shadow);display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px, 5vw, 60px);padding:clamp(30px, 5vw, 60px);align-items:center;position:relative;z-index:1;@media (max-width:992px){grid-template-columns:1fr}}& .section-title--left{text-align:left;margin-block-end:20px;&::after{margin-inline:0}}& .rental-request__text{font-size:1.125rem;color:var(--text-dark);line-height:1.6;margin:0}}.rental-form{display:flex;flex-direction:column;gap:15px;& .form-control{width:100%;padding:16px 20px;border:1px solid var(--text-muted);border-radius:var(--uni-radius);font-family:inherit;font-size:16px;color:var(--text-dark);background-color:var(--white-muted);transition:box-shadow 0.3s ease,background-color 0.3s ease;&::placeholder{color:var(--text-muted)}&:focus{outline:none;box-shadow:inset 0 0 0 1px var(--primary-color);border-color:#fff0;background-color:var(--white)}}& .form-submit-btn{background:var(--primary-color);color:var(--white);border:none;padding:18px 30px;border-radius:var(--uni-radius);font-size:16px;font-weight:700;cursor:pointer;text-transform:uppercase;transition:var(--p-transition);margin-block-start:10px;&:hover{transform:var(--p-translate);box-shadow:var(--p-shadow)}&:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}}& .form-result{display:none;padding:15px;margin-top:15px;border-radius:8px;text-align:center;font-weight:700}}.footer{background:var(--text-dark);color:var(--white);padding-block-start:80px;padding-block-end:30px;& .footer__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-block-end:60px;@media (max-width:992px){grid-template-columns:1fr}}& .footer__contacts h3{font-size:24px;margin-block-end:30px;color:var(--white)}& .footer__contact-item{display:flex;align-items:flex-start;gap:15px;margin-block-end:20px;color:var(--text-muted);& svg{inline-size:20px;block-size:20px;fill:var(--text-muted);flex-shrink:0;margin-block-start:3px}& strong{display:block;margin-block-end:5px}& a:hover{color:var(--white)}}& .footer__map{border-radius:var(--uni-radius);overflow:hidden;aspect-ratio:3/2;max-width:100%;height:auto;background:var(--text-muted);display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-weight:700}.map-link{display:block;width:100%;height:100%;position:relative;text-decoration:none;overflow:hidden;border-radius:var(--uni-radius);& img{width:100%;height:100%;object-fit:cover;transition:var(--p-transition)}&:hover img{transform:scale(1.03)}}}.map-overlay{position:absolute;inset:0;background:rgb(0 0 0 / .5);display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--p-transition);@media (pointer:coarse){opacity:1}}.map-link:hover .map-overlay{opacity:1}.map-btn{background:var(--white);color:var(--primary-color);padding:10px 20px;border-radius:var(--uni-radius);font-weight:700;box-shadow:var(--p-shadow)}.footer__bottom{border-block-start:1px solid var(--primary-color);padding-block-start:30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;@media (max-width:768px){flex-direction:column;text-align:center}}& .footer__nav{display:flex;gap:30px;@media (max-width:768px){flex-wrap:wrap;justify-content:center}& .footer__link{color:var(--text-muted);font-size:.875rem;transition:var(--p-transition);&:hover{color:var(--white)}}}& .footer__copy{color:var(--text-muted);font-size:.875rem}.consent-dialog{margin:auto;padding:0;border:none;border-radius:var(--uni-radius);background:var(--white);box-shadow:0 10px 30px rgb(0 0 0 / .2);max-inline-size:90vw;width:500px;opacity:0;transform:translateY(20px);transition:var(--p-transition);[open]{opacity:1;transform:translateY(0)}&::backdrop{background:rgb(0 0 0 / .6);backdrop-filter:blur(3px)}}.consent-dialog__content{padding:30px;h3{margin-block-end:15px;color:var(--primary-color)}p{font-size:14px;color:var(--text-dark);margin-block-end:25px}a{color:var(--primary-color);text-decoration:underline}}.consent-dialog__actions{display:flex;justify-content:flex-end;gap:15px;flex-wrap:wrap;button{padding:10px 20px;border-radius:var(--uni-radius);font-size:14px;font-weight:700;cursor:pointer;transition:var(--p-transition);border:none}}.btn-decline{background:var(--white-muted);color:var(--text-dark);&:hover{background:var(--text-muted)}}.btn-accept{background:var(--primary-color);color:var(--white);&:hover{transform:var(--p-translate);box-shadow:var(--p-shadow)}}.tk3ka-go-top{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;background-color:var(--primary-color);color:var(--white);border:none;border-radius:var(--round-radius);cursor:pointer;align-items:center;justify-content:center;z-index:999;opacity:0;transition:var(--p-transition);display:flex;pointer-events:none;transform:translateZ(0);&.show{opacity:1;pointer-events:auto;&:hover{transform:var(--p-translate);&::after{opacity:1}}}@media (max-width:992px){inset-block-end:1.5rem;inset-inline-end:1.5rem;inline-size:45px;block-size:45px}}@media (hover:none) and (pointer:coarse){.feature-card:hover,.tenant-logo:hover,.hero__btn:hover,.header__link:hover,.footer__link:hover,.form-submit-btn:hover{transform:none!important;box-shadow:var(--p-shadow)!important;background:transparent!important;color:inherit!important}.header__link:hover::after{inline-size:0!important}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}.feature-card:hover,.tenant-logo:hover,.hero__btn:hover,.header__link:hover,.footer__link:hover,.tk3ka-go-top.show:hover .form-submit-btn:hover{transform:none!important}.header__link:hover::after{inline-size:0!important}}.bento-about{padding-block:5rem;padding-inline:1.5rem}.bento-about__container{max-inline-size:var(--container-width);margin-inline:auto;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(180px,auto)}.bento-card{background-color:var(--white-muted);border-radius:var(--uni-radius);padding:2.5rem;overflow:hidden;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--p-shadow);transition:var(--p-transition);&:hover{transform:translateY(-5px)}}.bento-card--text{grid-column:span 4;@media (min-width:992px){grid-column:span 2;grid-row:span 2}}.bento-card--image{grid-column:span 4;padding:0;position:relative;@media (min-width:992px){grid-column:span 2;grid-row:span 2}img{@media (min-width:992px){position:absolute;inset:0}inline-size:100%;block-size:100%;object-fit:cover}}.bento-card--stat{grid-column:span 2;background-color:var(--primary-color);color:var(--white);text-align:center;align-items:center;.stat-number{font-size:3rem;font-weight:900;line-height:1;margin-block-end:.5rem}}.photo-gallery{padding-block:4rem;padding-inline:1.5rem}.photo-gallery__container{max-inline-size:var(--container-width);margin-inline:auto;h2{text-align:center;margin-block-end:3rem}}.photo-gallery__grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-auto-rows:250px}.gallery-item{border-radius:calc(var(--uni-radius) / 2);overflow:hidden;display:block;inline-size:100%;block-size:100%;img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform 0.4s ease;&:hover{transform:scale(1.05)}}}.policy-page{padding-block-start:calc(var(--header-height) + 60px);padding-block-end:80px;background-color:var(--white)}.policy-content{max-inline-size:800px;margin-inline:auto;background:var(--white);border-radius:var(--uni-radius);padding:clamp(20px, 5vw, 40px);box-shadow:var(--p-shadow);h2{font-size:clamp(1.4rem, 2.5vw, 1.8rem);margin-block-start:40px;margin-block-end:20px;color:var(--primary-color)}ul{margin-block-end:1.5rem;padding-inline-start:25px;font-size:1.125rem;line-height:1.6}li{margin-block-end:10px}}
/* --- Интерактивная схема --- */
.complex-map {
	background-color: var(--white);
	position: relative;
}

.map-container {
	position: relative;
	background: var(--white-muted);
	border-radius: var(--uni-radius);
	box-shadow: var(--p-shadow);
	padding: 10px;
	overflow: hidden;
}

.map-hint {
	display: none;
	text-align: center;
	font-size: 14px;
	color: var(--text-muted);
	padding-block-end: 10px;
	animation: pulseHint 2s infinite;
}

@keyframes pulseHint {
	0%, 100% { opacity: 0.6; transform: translateX(0); }
	50% { opacity: 1; transform: translateX(5px); }
}

@media (max-width: 992px) {
	.map-hint {
		display: block;
	}
}

.map-scroll-wrapper {
	width: 100%;
	overflow-x: auto;
	/* Скрываем скроллбар для красоты, но оставляем функционал */
	scrollbar-width: thin;
	scrollbar-color: var(--primary-color) var(--white-muted);
	cursor: grab;
}

.map-scroll-wrapper:active {
	cursor: grabbing;
}

.map-scroll-wrapper::-webkit-scrollbar {
	height: 8px;
}

.map-scroll-wrapper::-webkit-scrollbar-track {
	background: var(--white-muted);
	border-radius: 4px;
}

.map-scroll-wrapper::-webkit-scrollbar-thumb {
	background-color: var(--primary-color);
	border-radius: 4px;
}

.interactive-map {
	display: block;
	min-width: 1000px; /* Фиксируем ширину, чтобы на мобилках схема не сжималась */
	width: 100%;
	height: auto;
	user-select: none;
}

/* --- Тултип (Попап) --- */
.map-tooltip {
	position: fixed; /* Fixed чтобы позиционировать относительно окна */
	top: 0;
	left: 0;
	background: var(--white);
	border-radius: var(--uni-radius);
	box-shadow: 0 10px 25px rgba(0,0,0,0.15);
	padding: 20px;
	width: max-content;
	max-width: 280px;
	pointer-events: none; /* Важно! Иначе мышь будет "застревать" на тултипе */
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px) scale(0.95);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
	z-index: 2000;
	border-left: 4px solid var(--primary-color);
}

.map-tooltip.active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}

.tooltip-header {
	margin-block-end: 12px;
}

.tooltip-header h4 {
	color: var(--text-dark);
	font-size: 18px;
	margin: 0 0 4px 0;
	line-height: 1.2;
}

.tooltip-room {
	font-size: 12px;
	color: var(--text-dark);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.tooltip-logo-wrap {
	display: none;
	margin-block-end: 12px;
	height: 40px;
}

.tooltip-logo-wrap img {
	height: 100%;
	width: auto;
	object-fit: contain;
}

.tooltip-desc {
	font-size: 14px;
	color: var(--text-dark);
	line-height: 1.4;
	margin: 0;
}

.tooltip-contacts {
	display: none;
	align-items: center;
	gap: 8px;
	margin-block-start: 12px;
	font-size: 14px;
	font-weight: 700;
	color: var(--primary-color);
}

.tooltip-contacts svg {
	width: 16px;
	height: 16px;
}
/* --- Адаптация попапа для мобильных устройств --- */
@media (max-width: 768px) {
	.map-tooltip {
		/* Переопределяем inline-стили JS с помощью !important */
		top: auto !important;
		left: 50% !important;
		bottom: 20px !important;
		
		/* Центрируем и прячем чуть ниже экрана для анимации */
		transform: translateX(-50%) translateY(30px) scale(0.95);
		width: calc(100% - 40px); /* Отступы по краям */
		max-width: 400px;
		
		/* Меняем левую полоску на верхнюю для красоты карточки */
		border-left: none;
		border-top: 4px solid var(--primary-color);
		box-shadow: 0 4px 25px rgba(0, 0, 0, 0.2);
	}

	.map-tooltip.active {
		transform: translateX(-50%) translateY(0) scale(1);
	}
}