/* USER VARIABLES SECTION */

:root {
    --accent: #c9b38a;        /* тёплый спокойный акцент */
    --accent-light: #d8c59a;
    --accent-dark: #b89f74;
	--gutter: 20px;
	--text: #333;
	--dark: #202328;
	--deep: #171A1A;
	--dark-header: #6F7A8B;
	--dark-div: #2D3038;
	--light-bg: #FAFAFA;
	--light-disabled: #E4E6E8;
	--light-div: #E7E7E8;
	--middle-gray: rgba(111, 122, 139, 0.75);
	--text-light: #999999;
	--regular-text: 16px;
	--small-text: 14px;
	--lineheight: 1.75;
	--userfont: raleway-wt, sans-serif;
	--systemfont: -apple-system, BlinkMacSystemFont, Arial, sans-serif;
	--radius: 5px;
	--radius-style: 0 5px;
	--transition: .25s ease-out;
	--address: #989DA5;
}

/* BOOTSTRAP SETTINGS SECTION */
/* gutter 20px (10px + 10px). Comment this code for default gutter start at 1.5rem (24px) wide. */
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { --bs-gutter-x: .625rem; }
.row, .row > * { --bs-gutter-x: 1.25rem; }

/* FONTS LOAD SECTION */
/* Важно: у тебя подключаются файлы raleway-*.woff2. Оставляю как есть. */

@font-face { src: url("/design/fonts/woff2/raleway/raleway-v22-cyrillic-300.woff2") format("woff2"); font-family: "raleway"; font-weight: 300; font-style: normal; font-display: swap; }
@font-face { src: url("/design/fonts/woff2/raleway/raleway-v22-cyrillic-500.woff2") format("woff2"); font-family: "raleway"; font-weight: 500; font-style: normal; font-display: swap; }
@font-face { src: url("/design/fonts/woff2/raleway/raleway-v22-cyrillic-600.woff2") format("woff2"); font-family: "raleway"; font-weight: 600; font-style: normal; font-display: swap; }
@font-face { src: url("/design/fonts/woff2/raleway/raleway-v22-cyrillic-700.woff2") format("woff2"); font-family: "raleway"; font-weight: 700; font-style: normal; font-display: swap; }
@font-face { src: url("/design/fonts/woff2/raleway/raleway-v22-cyrillic-800.woff2") format("woff2"); font-family: "raleway"; font-weight: 800; font-style: normal; font-display: swap; }
@font-face { src: url("/design/fonts/woff2/raleway/raleway-v22-cyrillic-900.woff2") format("woff2"); font-family: "raleway"; font-weight: 900; font-style: normal; font-display: swap; }
@font-face { src: url("/design/fonts/woff2/raleway/raleway-v22-cyrillic-regular.woff2") format("woff2"); font-family: "raleway"; font-weight: 400; font-style: normal; font-display: swap; }

@font-face { src: url("/design/fonts/woff2/roboto/roboto-v29-cyrillic-300.woff2") format("woff2"); font-family: "roboto"; font-weight: 300; font-style: normal; font-display: swap; }
@font-face { src: url("/design/fonts/woff2/roboto/roboto-v29-cyrillic-500.woff2") format("woff2"); font-family: "roboto"; font-weight: 500; font-style: normal; font-display: swap; }
@font-face { src: url("/design/fonts/woff2/roboto/roboto-v29-cyrillic-700.woff2") format("woff2"); font-family: "roboto"; font-weight: 700; font-style: normal; font-display: swap; }

/* GENERAL CSS SETTINGS */

::placeholder { color: #666; }
::selection { background-color: var(--accent); color: #fff; }

input, textarea { outline: none; }
input:focus, textarea:focus {
  border-color: rgba(201,179,138,.55);
  box-shadow: 0 0 0 3px rgba(201,179,138,.12);
}

body {
	font-family: var(--userfont);
	font-size: var(--regular-text);
	line-height: var(--lineheight);
	color: var(--text);
	min-width: 320px;
	position: relative;
	overflow-x: hidden;
}

/* BUTTONS */

.button {
	outline: none;
	border: none;
	background-color: var(--accent);
	color: #fff;
	border-radius: var(--radius-style);
	display: inline-block;
	padding: 10px 28px;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 14px;
	position: relative;
	letter-spacing: .25px;
	text-decoration: none;
	cursor: pointer;
}
.button:hover {
	color: #fff;
	text-decoration: none;
	background-color: var(--accent-light);
	box-shadow: 0 0 20px var(--accent);
}
.button:active { background-color: var(--accent-dark); }

.button__projects,
.button__price {
	outline: none;
	border: none;
	background-color: var(--accent);
	color: #fff;
	border-radius: var(--radius-style);
	display: inline-block;
	padding: 10px 28px;
	margin-top: 0;
	margin-bottom: 50px;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 14px;
	position: relative;
	letter-spacing: .25px;
	text-decoration: none;
	cursor: pointer;
}
.button__projects:hover,
.button__price:hover {
	color: #fff;
	text-decoration: none;
	background-color: var(--accent-light);
}
.button__projects:active,
.button__price:active { background-color: var(--accent-dark); }

.panel {
	display: none;
	overflow: hidden;
	padding: 0;
	color: var(--address);
	font-size: var(--small-text);
	font-weight: 700;
	white-space: normal;
	text-overflow: ellipsis;
	text-align: left;
}

/* NAVBAR */

.navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  padding: 15px 0 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background-color: var(--dark-div);
}

.logo__link {
	color: #fff;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: .75px;
	text-decoration: none;
	padding-left: 10px;
	padding-top: 5px;
	position: absolute;
	line-height: 1.3;
}
.logo__link span {
	display: block;
	font-size: 12px;
	text-transform: none;
	font-weight: 700;
	letter-spacing: 1px;
	opacity: 0.45;
}

.logo__link:hover,
.logo__link:focus,
.logo__link:active { color: #fff; }

.nav__phone,
.nav__phone-2 {
	display: inline-block;
	text-decoration: none;
	color: #fff;
	text-align: left;
	font-weight: 700;
}
.nav__phone:hover,
.nav__phone-2:hover {
	color: var(--accent);
	text-decoration: none;
	transition: var(--transition);
}

.top-menu {
	margin: 0;
	padding-top: 10px;
	text-align: center;
	transition: opacity var(--transition), visibility var(--transition);
}

.top-menu__item {
	padding: 0;
	list-style-type: none;
	display: inline-block;
	margin: 0 5px;
}

.top-menu__link {
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	padding: 7.5px 16px;
	border-radius: var(--radius-style);
	transition: background var(--transition);
}

.top-menu__link:hover,
.top-menu__link:focus,
span.top-menu__link {
	color: #fff;
	background-color: rgba(243, 133, 6, 0.70);
}

.menu-container { position: relative; }

/* Важно: это кнопка из твоего index с aria-label */
.menu-toggle {
	width: 25px;
	height: 25px;
	background-image: url(/design/icons/menu-white.svg);
	position: absolute;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	cursor: pointer;
	top: 20px;
	display: none;
	right: 0;
	border: none;
	background-color: transparent;
}

.menu-toggle_active { background-image: url(/design/icons/x.svg); }

.top-menu.top-menu_active {
	visibility: visible;
	opacity: 1;
	z-index: 100;
	padding: 0;
}

/* submenu - header */

.submenu {
	position: absolute;
	padding-left: 6px;
	padding-top: 5px;
	display: none;
	cursor: pointer;
	color: #fff;
}

.navbar li:hover > ul { display: block; }

.submenu-item {
	list-style-type: none;
	text-align: left;
	font-size: 14px;
	padding: 0;
	background-color: var(--dark-div);
	color: #fff;
}

.submenu-link {
	display: block;
	position: relative;
	text-decoration: none;
	color: #fff;
	padding: 10px 20px 10px 10px;
}

.submenu-link:hover {
	color: #fff;
	background-color: rgba(243, 133, 6, 0.80);
	transition: background var(--transition);
}
.submenu-item:hover {
	background-color: rgba(243, 133, 6, 0.80);
	transition: background var(--transition);
}

/* 1 - HOME */

.home {
	padding: 175px 0;
	min-height: 720px;
	position: relative;
}
.home-content {
	padding-top: 100px;
	max-width: 100%;
}
.home-heading,
.home-heading2 {
	color: #fff;
	font-size: 35px;
	font-weight: 800;
	text-shadow: 2px 2px 5px black;
	line-height: 1.3;
	z-index: 1;
	max-width: 900px;
}
.home-heading { margin-bottom: 35px; }
.home-heading2 { margin-bottom: 0; }

.home-text {
	font-size: 18px;
	color: #fff;
	max-width: 450px;
	font-weight: 500;
	line-height: 1.4;
	background-color: rgba(32, 35, 40, .6);
	border-radius: 5px;
	padding: 20px 20px 10px;
	text-shadow: 2px 2px 5px black;
}

.big-picture-1 {
	z-index: -1;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #6F7A8B;
}
.big-picture-1 img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	opacity: 0.9;
}

/* AUTO-CHANGE HEADING */

.rw-words span{
	position: absolute;
	max-width: 450px;
	opacity: 0;
	overflow: hidden;
	width: 100%;
	color: var(--accent);
	font-size: 35px;
}
.rw-words-1 span { animation: rotateWordsFirst 18s linear infinite 0s; }
.rw-words span:nth-child(2) { animation-delay: 3s; }
.rw-words span:nth-child(3) { animation-delay: 6s; }
.rw-words span:nth-child(4) { animation-delay: 9s; }
.rw-words span:nth-child(5) { animation-delay: 12s; }
.rw-words span:nth-child(6) { animation-delay: 15s; }

@keyframes rotateWordsFirst {
	0% { opacity: 1; animation-timing-function: ease-in; height: 0; }
	8% { opacity: 1; height: 60px; }
	19% { opacity: 1; height: 60px; }
	25% { opacity: 0; height: 60px; }
	100% { opacity: 0; }
}

/* 2 - OUR CHOISE */

.home-callback {
	background-color: var(--deep);
	padding: 50px 0;
	color: var(--dark-header);
	position: relative;
	z-index: 1;
}
.home-callback__header {
	font-size: 18px;
	font-weight: 900;
	text-transform: uppercase;
	margin-bottom: 30px;
	position: relative;
}
.home-callback__header::after {
	content: '';
	width: 30%;
	height: 1px;
	background-color: var(--dark-div);
	position: absolute;
	left: 0;
	bottom: -15px;
}
.home-callback__list {
	list-style-type: none;
	padding: 0;
	margin: 0;
	font-size: var(--small-text);
}
.home-callback__list > * {
	display: inline-block;
	width: 32%;
	margin-bottom: 7px;
}
.home-callback__list span {
	font-family: roboto, sans-serif;
	font-weight: 700;
}

.home-callback__text-right { text-align: right; }
.home-callback__text-right p { font-size: var(--small-text); line-height: 1.65; }

.phone-big {
	font-size: 28px;
	line-height: 1;
	color: var(--text);
	font-weight: 300;
	font-family: roboto, sans-serif;
	text-decoration: none;
}
.phone-big:hover { color: var(--text); }

.home-callback__phone,
.home-callback__phone:hover { color: #fff; }

.home-callback__button { margin-top: 20px; }

/* MODAL WINDOW */

.modal { position: relative; z-index: 10000; }

.modal__container {
	padding: 20px;
	width: 100%;
	max-width: 400px;
	border-radius: var(--radius);
}
.modal__title {
	text-align: center;
	width: 100%;
	color: #454545;
	font-weight: 700;
	text-transform: uppercase;
	margin: 10px 0 20px;
}
.modal__close {
	opacity: 1;
	transition: opacity var(--transition);
	position: relative;
	top: -5px;
}
.modal__close:hover { opacity: 1; }

.modal__footer { padding: 10px 0; text-align: center; }
.modal__footer__policy { font-size: 10px; margin-top: 10px; }

.policy-no-decoration,
.policy-no-decoration:after,
.policy-no-decoration:hover {
	color: var(--text);
	text-decoration: none;
}

form label { display: block; font-size: 12px; margin-top: 10px; }

form input,
form textarea {
	width: 100%;
	font-size: 14px;
	margin: 5px 0;
	padding: 8px 14px;
	border-radius: var(--radius-style);
	border: 1px solid var(--light-div);
}

/* 3 - PROJECTS */

.best-works { background-color: var(--light-bg); }

.best-works__top {
	background-color: var(--dark);
	color: #fff;
	padding-top: 65px;
	padding-bottom: 170px;
}
.best-works__top-wrapper { display: flex; align-items: center; }

.best-works__left,
.best-works__right {
	flex: 0 0 50%;
	margin-bottom: var(--gutter);
}
.best-works__left {
	font-size: var(--small-text);
	text-align: right;
	padding-right: 40px;
	padding-top: 5px;
	padding-bottom: 5px;
	border-right: var(--dark-div) 1px solid;
}
.best-works__right { padding-left: 40px; }

.best-works__bottom { margin-top: -130px; }
.best-works__item-wrapper { overflow: hidden; margin-bottom: var(--gutter); }
.best-works__button-wrapper { text-align: center; margin-top: 25px; }

/* SECTION TITLES */

.section-title__name {
	color: var(--accent);
	font-weight: 800;
	text-transform: uppercase;
}
.section-title__name::before {
	content: '\\';
	margin-right: 5px;
}
.section-title__desc {
	line-height: 1.2;
	font-size: 29px;
	margin: 5px 0 0;
	font-weight: 800;
}
.section-title__paragraph {
	font-size: var(--small-text);
	margin: 0 0 40px;
	text-decoration: none;
}

.section-title--dotted .section-title__desc { margin-bottom: 25px; }
.section-title--dotted .section-title__desc::after {
	content: '';
	display: block;
	height: 5px;
	width: 40px;
	background-image: url(/design/icons/ellipse-accent.svg);
	background-repeat: repeat-x;
	margin-top: 28px;
}

/* BEST ITEM */

.best-item__img-wrapper { position: relative; }
.best-item__img-wrapper img { width: 100%; }
.best-item__content { padding: 10px; color: var(--text); }
.best-item__desc {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.28;
	position: relative;
	padding-left: 20px;
	margin: 5px 0;
}

/* ADDRESS LINE */

.address-line {
	color: var(--address);
	font-size: var(--small-text);
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.address-line::before {
	content: '';
	display: inline-block;
	width: 12px;
	height: 15px;
	background-image: url(/design/icons/mapmarker.svg);
	background-repeat: no-repeat;
	background-position: center;
	margin-right: 8px;
	position: relative;
	top: 1.4px;
}

/* ADVANTAGES */

.advantages { padding: 40px 0 0; }
.advantages__item-wrapper { margin-bottom: var(--gutter); }

.advantages-slider-wrapper { text-align: center; padding-top: 30px; }

.advantages-slider {
	width: 100%;
	position: relative;
	display: inline-block;
	max-width: 550px;
}
.advantages-slider img { width: 100%; border-radius: var(--radius-style); }
.advantages-slider::before {
	content: '';
	width: 50%;
	height: 50%;
	top: -15px;
	left: -15px;
	background-color: var(--dark);
	position: absolute;
	border-radius: var(--radius-style);
	opacity: 0.1;
}
.advantages-slider__caption {
	position: absolute;
	bottom: 60px;
	z-index: 1;
	color: #fff;
	right: -25px;
	padding: 2px 50px 2px 25px;
	border-radius: var(--radius-style);
	font-family: roboto, sans-serif;
	font-weight: 700;
	font-size: 52px;
	overflow: hidden;
}
.advantages-slider__caption::before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--dark);
	opacity: 0.9;
	z-index: -1;
}
.advantages-slider__caption span {
	font-size: 21px;
	font-family: raleway, sans-serif;
	font-weight: 300;
	max-width: 100px;
	display: inline-block;
	line-height: 1.2;
	text-align: left;
	padding-left: 2px;
}

.item-advantages { height: 100%; position: relative; }

.item-advantages__heading {
	text-decoration: none;
	color: var(--text);
	font-size: 15px;
	font-weight: 600;
	display: flex;
	align-items: center;
}
.item-advantages__heading:hover,
.item-advantages__heading:active {
	color: var(--text);
	text-decoration: underline;
}
.item-advantages__heading img {
	max-width: 70px;
	max-height: 48px;
	margin-right: 15px;
}

/* VIDEO + LAZY */

.video__about__us {
	position: relative;
	display: block;
	margin: 50px 0;
	text-align: center;
}
.video__block { display: inline-block; margin-top: 5px; }

.video {
	position: relative;
	margin: 15px;
	max-width: 250px;
	background-color: #000;
	display: inline-flex;
}

iframe {
	width: 100%;
	height: 100%;
	display: inline-block;
	object-fit: cover;
	border: none;
}

.video-ytimg {
	width: 100%;
	height: 100%;
	display: inline-block;
	object-fit: cover;
	border: none;
}

.btn-reset { border: none; background: transparent; cursor: pointer; }

.video-play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.video-play-shape { fill: #212121; fill-opacity: 0.8; }
.video-play-icon { fill: #ffffff; }

.video-play:focus { outline: none; }

.video:hover .video-play-shape,
.video:focus .video-play-shape { fill: #ff0000; fill-opacity: 1; }

/* EQUIPMENT */

.oborydovanie {
	margin: 50px 0;
	text-align: center;
}
.oborydovanie-wrapper { overflow: hidden; margin-bottom: var(--gutter); }
.oborydovanie_img { position: relative; }
.oborydovanie_img img { width: 100%; }
.oboryd__content { padding: 10px; color: var(--text); }

.oboryd__desc {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.28;
	position: relative;
	padding-left: 20px;
	margin: 5px 0;
	text-align: left;
}

.section-oborydovanie,
.section-video__desc {
	line-height: 1.2;
	font-size: 29px;
	padding-bottom: 25px;
	margin-top: 70px;
	font-weight: 800;
}
.section-video__desc { margin: 0 0 30px; padding-bottom: 0; }

.oboryd__name {
	color: var(--address);
	font-size: var(--small-text);
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* PRICE-LIST */

.best-works__top__price {
	background-color: var(--dark);
	color: #fff;
	padding-top: 65px;
	padding-bottom: 30px;
	margin-bottom: 20px;
}

.price { margin-bottom: 50px; }
.price__name { text-align: center; }

.table {
	margin-top: 25px;
	line-height: 2;
	width: 100%;
	background: rgb(111,122,139, 0.09);
	text-align: center;
}
.table__header { font-size: 15px; text-align: center; padding: 20px; }

.section-price__paragraph,
.section-price__paragraph_sell {
	font-size: var(--small-text);
	margin: 15px 0;
}

.section-price__paragraph span { font-weight: 700; }
.table-hover tbody tr:hover { background-color: rgb(111,122,139, 0.35); }

.small-seo-block-header { font-size: 16px; text-align: center; color: rgba(111, 122, 139, 0.95); }
.small-seo-block-text { font-size: 14px; color: rgba(111, 122, 139, 0.95); }

/* FOOTER */

.footer-container {
	background-color: var(--deep);
	padding: 50px 0;
	color: var(--dark-header);
	position: relative;
	z-index: 1;
}
.footer__header {
	font-size: 18px;
	font-weight: 900;
	text-transform: uppercase;
	margin-bottom: 30px;
	text-align: left;
}
.footer__text {
	list-style-type: none;
	text-align: left;
	text-decoration: none;
	padding-left: 0;
}
.fotie { font-size: 14px; color: #fff; }
.fotie:after, .fotie:hover { text-decoration: none; color: var(--accent); }

.phone-footer {
	font-size: 20px;
	line-height: 2;
	font-weight: 400;
	font-family: roboto, sans-serif;
	text-decoration: none;
}

/* CONTACTS */

.contacts-list {
	font-weight: 700;
	list-style-type: none;
	padding-left: 0;
}
.contacts-number { font-weight: normal; font-size: 14px; }
.section-title-contacts { padding-top: 60px; }

/* BREADCRUMB */

ul.breadcrumb {
	padding: 10px 16px;
	list-style: none;
	background-color: #eee;
}
ul.breadcrumb li { display: inline; font-size: 15px; }
ul.breadcrumb li+li:before {
	padding: 8px;
	color: #000;
	content: "/\00a0";
}
ul.breadcrumb li a { color: var(--accent); text-decoration: none; }
ul.breadcrumb li a:hover { color: #000; text-decoration: underline; }

/* PROBLEM-SOLUTION */

.problem-image { text-align: center; padding-top: 50px; }
.problem-image img { width: 150px; height: 150px; }

.director-image { text-align: center; padding-top: 30px; }
.director-image img { box-shadow: 2px 2px 5px var(--accent); max-width: 320px; }

.title-sections-problem { padding-top: 20px; }

.problem-title {
	line-height: 1.2;
	font-size: 20px;
	margin-top: 20px;
	font-weight: 800;
}

.problem-solution-section-last { padding-bottom: 80px; }

/* ===== HERO CTA (premium minimal) ===== */
.hero-cta{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-top: 32px;
  padding: 16px 40px;

  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);

  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.06));
  backdrop-filter: blur(6px);

  color: #fff;
  font-size: 14px;
  letter-spacing: .14em;
  text-transform: uppercase;

  box-shadow:
    0 12px 30px rgba(0,0,0,.28),
    0 0 0 1px rgba(248,133,0,.18);

  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.hero-cta:hover{
  transform: translateY(-1px);
  border-color: rgba(248,133,0,.35);
  box-shadow:
    0 16px 38px rgba(0,0,0,.32),
    0 0 0 1px rgba(248,133,0,.28);
}

.hero-cta:active{
  transform: translateY(0);
}

/* медленный "блик" */
.hero-cta::after{
  content: "";
  position: absolute;
  inset: 0;                 /* ✅ строго по кнопке */
  border-radius: inherit;
  pointer-events: none;

  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,0) 35%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,0) 65%,
    transparent 100%
  );

  transform: translateX(-100%);
  animation: heroSheen 5.5s ease-in-out infinite;
}

@keyframes heroSheen{
  0%, 60% { transform: translateX(-100%); }
  100%    { transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce){
  .hero-cta::after{ animation: none; }
}

.problem-solution-section {
  background-color: #000000; /* RGB(6,4,8) */
}

.problem-solution-section-last {
  background-color: #000000; /* RGB(6,4,8) */
}

/* ---- Embed page ---- */
.embedBox {
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  padding: 12px;
  overflow: hidden;
}
.embedBox iframe {
  display: block;
  width: 100%;
  border: 0;
}

.footer-container{
  background: #060408;
  color: rgba(255,255,255,.85);
  padding: 56px 0 26px;
}

.footer-grid{
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1.2fr 1fr;
  gap: 26px;
}

.footer-title{
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(255,255,255,.62);
  margin-bottom: 12px;
}

.footer-text{
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255,255,255,.82);
}

.footer-list{
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-list li{
  margin: 8px 0;
}

.footer-link{
  color: rgba(255,255,255,.86);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.5;
  display: inline-block;
  transition: opacity .2s ease, transform .2s ease;
}

.footer-link:hover{
  opacity: .92;
  transform: translateX(2px);
  text-decoration: none;
}

.footer-link--strong{
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 8px;
}

.footer-cta{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-button{
  margin-top: 10px;
  width: 100%;
}

/* нижняя строка */
.footer-bottom{
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-note{
  font-size: 12px;
  color: rgba(255,255,255,.55);
}

/* адаптив */
@media (max-width: 1200px){
  .footer-grid{
    grid-template-columns: 1.2fr 1fr 1fr;
  }
}

@media (max-width: 768px){
  .footer-grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .footer-button{
    width: auto;
    align-self: flex-start;
  }
}
/* =========================
   FOOTER: compact version for tablet/mobile
   ========================= */

/* Wrapper toggles */
.footer-full { display: block; }
.footer-compact { display: none; }

/* Compact layout */
.footer-compact__top{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 18px 22px;
  align-items: start;
}

.footer-compact__brand .footer-text{
  font-size: 13px;
  line-height: 1.55;
  color: rgba(255,255,255,.78);
}

.footer-compact__links{
  grid-column: 1 / -1;
}

.footer-compact__links .footer-list li{
  margin: 6px 0;
}

.footer-compact__contacts .footer-link--strong{
  font-size: 14px;
}

/* Tablet & below: show compact, hide full, tighten spacing */
@media (max-width: 992px){
  .footer-full { display: none; }
  .footer-compact { display: block; }

  .footer-container{
    padding: 34px 0 18px; /* меньше высота футера */
  }

  .footer-title{
    margin-bottom: 10px;
  }

  .footer-bottom{
    margin-top: 18px;
    padding-top: 14px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* Phone: single column, even tighter */
@media (max-width: 560px){
  .footer-compact__top{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .footer-link{
    font-size: 13px;
  }
  .footer-compact__brand .footer-text{
    font-size: 12.5px;
  }
}


/* =========================
   FOOTER: force desktop/tablet wide (fix override)
   If another stylesheet sets .footer-full/.footer-compact globally,
   these rules keep the correct version on wide screens.
   ========================= */
@media (min-width: 993px){
  .footer-grid.footer-full{ display: grid !important; }
  .footer-full{ display: block !important; } /* fallback for inner blocks */
  .footer-compact{ display: none !important; }
}

