/* ==========================================================================
   OPUS — подвал сайта (Tessellatum / remix_kimi_k3_pro)
   Строго на переменных var(--opus-*) / rgba(var(--opus-*-rgb), a) (C15).
   ========================================================================== */

.site-footer {
	position: relative;
	background: var(--opus-bg-deep);
	color: var(--opus-ivory);
	font-family: var(--opus-font-text);
	overflow: hidden;
}

.site-footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(
		90deg,
		var(--opus-sand) 0 17%,
		var(--opus-sage) 17% 32%,
		var(--opus-rust) 32% 39%,
		var(--opus-forest) 39% 72%,
		var(--opus-gold) 72%
	);
}

.footer-main {
	padding-top: 80px;
}

.footer-top {
	display: grid;
	grid-template-columns: 1.45fr 1fr 1fr 1fr;
	gap: 40px;
	align-items: start;
}

.footer-brand img {
	width: 126px;
	height: auto;
	display: block;
}

.footer-brand p,
.footer-brand__contacts {
	max-width: 300px;
	margin: 25px 0 0;
	font-size: 12px;
	color: rgba(var(--opus-ivory-rgb), 0.62);
	line-height: 1.9;
}

.footer-brand__line {
	display: block;
}

.footer-brand__legal {
	max-width: 340px;
	margin: 14px 0 0;
	font-size: 10px;
	color: rgba(var(--opus-ivory-rgb), 0.45);
	line-height: 1.6;
}

.footer-brand a,
.footer-col a,
.footer-bottom a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.footer-brand a:hover,
.footer-brand a:focus,
.footer-col a:hover,
.footer-col a:focus,
.footer-bottom a:hover,
.footer-bottom a:focus {
	color: var(--opus-sand);
}

.footer-col h3 {
	margin: 0 0 22px;
	font-family: var(--opus-font-text);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--opus-sand);
}

.footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 11px;
	font-size: 12px;
	color: rgba(var(--opus-ivory-rgb), 0.76);
}

.footer-col ul + ul {
	margin-top: 11px;
}

.footer-col li {
	margin: 0;
	color: inherit;
}

.footer-word {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 70px 0 45px;
	font-family: var(--opus-font-text);
	font-size: clamp(110px, 19.5vw, 290px);
	font-weight: 400;
	line-height: 0.75;
	letter-spacing: -0.09em;
	color: var(--opus-ivory);
	user-select: none;
}

.footer-word span {
	display: block;
}

.footer-word span:nth-child(2) {
	transform: translateY(10px);
}

.footer-word span:nth-child(3) {
	transform: translateY(-6px);
	font-family: var(--opus-font-display);
	font-style: italic;
	color: var(--opus-em-light);
}

.footer-word span:nth-child(4) {
	transform: translateY(7px);
}

.footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
	padding: 24px 0 28px;
	border-top: 1px solid rgba(var(--opus-ivory-rgb), 0.16);
	font-size: 9px;
	letter-spacing: 0.04em;
	color: rgba(var(--opus-ivory-rgb), 0.48);
}

.footer-legal-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.footer-legal-list li {
	margin: 0;
	color: inherit;
}

@media (max-width: 900px) {
	.footer-top {
		grid-template-columns: 1.5fr 1fr 1fr;
	}
	.footer-brand {
		grid-column: 1 / -1;
		margin-bottom: 25px;
	}
}

@media (max-width: 600px) {
	.footer-main {
		padding-top: 60px;
	}
	.footer-top {
		grid-template-columns: 1fr 1fr;
		gap: 35px 20px;
	}
	.footer-brand {
		grid-column: 1 / -1;
		margin-bottom: 0;
	}
	.footer-col:last-child {
		grid-column: 1 / -1;
	}
	.footer-word {
		margin: 60px 0 35px;
		font-size: 27vw;
	}
	.footer-bottom {
		display: block;
		font-size: 8px;
	}
	.footer-bottom > span {
		display: block;
		margin-top: 8px;
	}
	.footer-legal-list {
		margin-top: 8px;
	}
}

/* Фоновая антиква: тот же контурный приём, что у OPUS в hero. */
footer.site-footer {
 isolation: isolate;
 background:
  radial-gradient(ellipse at 83% 12%, rgba(var(--opus-pine-rgb), .75), transparent 65%),
  radial-gradient(ellipse at 9% 92%, rgba(var(--opus-sand-rgb), .09), transparent 52%),
  linear-gradient(135deg, var(--opus-deep), var(--opus-forest) 60%, var(--opus-deep));
}
footer.site-footer .footer-main { position:relative; }
footer.site-footer .footer-word {
 position:absolute;
 inset:auto 0 0;
 margin:0;
 height:.88em;
 display:flex;
 justify-content:space-between;
 align-items:baseline;
 font:400 clamp(150px,28vw,440px)/1 var(--serif);
 letter-spacing:-.065em;
 color:transparent;
 -webkit-text-stroke:1px rgba(var(--opus-ivory-rgb),.12);
 pointer-events:none;
 z-index:-1;
}
footer.site-footer .footer-word span:nth-child(n) {
 transform:none;
 font:inherit;
 color:transparent;
}
footer.site-footer .footer-top { padding-bottom:100px; }
footer.site-footer .footer-bottom { position:relative; }
@media(max-width:600px) {
 footer.site-footer .footer-word {font-size:32vw;bottom:55px;}
 footer.site-footer .footer-top {padding-bottom:65px;}
}
