/* ==========================================================================
   partners.css — страница «Партнёры», /partners/.

   КОНЦЕПТА У ЭТОЙ СТРАНИЦЫ НЕТ. Среди одиннадцати макетов в html_flat/
   файла про партнёров не существует, и в migrate/css_draft/ заготовки для
   неё тоже нет — не ищите. Страница собрана из уже принятого языка темы,
   поэтому файл нарочно короткий: шапка повторяет /video/ и /info/ (меняется
   только слово-призрак), кнопки, .eyebrow, .container и .empty-state
   приходят из base.css, а плитка партнёров устроена как сетка альбомов.

   Если концепт когда-нибудь появится — этот файл переписывается целиком,
   ломать здесь нечего.
   ========================================================================== */

/* ------------------------------------------------- общая типографика --- */
/* Дубль: .section-title/.section-copy есть во всех концептах и должны жить
   в base.css. Пока их там нет — копия в каждом постраничном файле. */
.section-title {
	font-size: clamp(38px, 4.5vw, 64px);
	line-height: .96;
	letter-spacing: -.05em;
	margin: 15px 0 22px;
	font-weight: 950;
	text-transform: uppercase;
	text-wrap: balance;
	word-break: normal;
	hyphens: none;
}
.section-copy { font-size: 18px; line-height: 1.72; color: #536176; max-width: 800px; }

h1, h2, h3 { word-break: normal; overflow-wrap: normal; hyphens: none; text-wrap: balance; }

/* ------------------------------------------------------------- шапка -- */
.hero {
	padding: 145px 0 56px;
	background:
		radial-gradient(circle at 84% 18%, rgba(230, 192, 76, .12), transparent 18%),
		radial-gradient(circle at 14% 80%, rgba(217, 8, 18, .11), transparent 23%),
		linear-gradient(128deg, var(--navy2), var(--navy) 52%, #0a518f);
	color: #fff;
	position: relative;
	overflow: hidden;
}
.hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(118deg, transparent 0 88px, rgba(255, 255, 255, .025) 89px 90px);
}
.hero:after {
	content: "PARTNERS";
	position: absolute;
	right: -18px;
	bottom: -56px;
	font-size: clamp(110px, 13vw, 220px);
	font-weight: 950;
	line-height: .76;
	letter-spacing: -.09em;
	color: transparent;
	-webkit-text-stroke: 2px rgba(255, 255, 255, .05);
}
.hero-content { position: relative; z-index: 2; max-width: 900px; }

.hero-kicker {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #cce6ff;
}
.hero-kicker strong { background: var(--red); padding: 8px 12px; border-radius: 999px; color: #fff; }

.hero h1 {
	font-size: clamp(54px, 6.4vw, 92px);
	line-height: .84;
	letter-spacing: -.065em;
	text-transform: uppercase;
	margin: 25px 0 20px;
	font-weight: 950;
}
.hero h1 span {
	display: block;
	color: var(--gold);
	font-size: .42em;
	line-height: 1;
	margin-top: 18px;
	letter-spacing: .025em;
}

/* .hero-lead — обёртка вокруг $page->body с готовыми <p> внутри. */
.hero p,
.hero-lead {
	font-size: 18px;
	line-height: 1.65;
	color: rgba(255, 255, 255, .72);
	max-width: 740px;
	margin: 0;
}
.hero-lead p { margin: 0 0 14px; }
.hero-lead p:last-child { margin-bottom: 0; }

/* ------------------------------------------------------ сетка партнёров */
.partners-section { padding: 56px 0 92px; background: linear-gradient(180deg, #fff, #f7fafc); }

.partner-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
}
.partner-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 26px;
	border: 1px solid var(--line);
	border-radius: 25px;
	background: #fff;
	transition: .3s;
}
.partner-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }

/* Логотипы у партнёров разной формы и пропорций, поэтому фиксируется не
   картинка, а место под неё: contain по высоте, слева. */
.partner-logo {
	height: 72px;
	display: flex;
	align-items: center;
	margin-bottom: 6px;
}
.partner-logo img { max-height: 72px; width: auto; object-fit: contain; }
.partner-initial {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: #edf5fb;
	color: var(--blue);
	font-size: 24px;
	font-weight: 950;
}

.partner-role {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .13em;
	font-weight: 950;
	color: var(--red);
}
.partner-card h2 { font-size: 22px; line-height: 1.08; margin: 0; letter-spacing: -.035em; }
.partner-card p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--muted); }

.partner-link { margin-top: auto; padding-top: 8px; font-size: 13px; font-weight: 900; color: var(--blue); }
.partner-link:hover { color: var(--red); }

/* Заглушка пустой группы: не пустая сетка, а внятный текстовый блок. */
.partner-empty { padding: 20px 0 8px; }

/* ------------------------------------------------------------ призыв --- */
.partner-cta {
	padding: 78px 0;
	background: linear-gradient(125deg, var(--blue), #0b5fa7 56%, #071d35);
	color: #fff;
}
.partner-cta-grid { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; }
.partner-cta h2 {
	font-size: clamp(34px, 4.4vw, 60px);
	line-height: .94;
	letter-spacing: -.055em;
	text-transform: uppercase;
	margin: 0 0 14px;
}
.partner-cta p { margin: 0; max-width: 720px; color: rgba(255, 255, 255, .72); font-size: 17px; line-height: 1.6; }

/* ------------------------------------------------------- брейкпоинты --- */
@media (max-width: 820px) {
	.hero { padding: 130px 0 48px; }
	.hero h1 { font-size: 64px; }
	.partner-cta-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
	.hero { padding: 120px 0 42px; }
	.hero h1 { font-size: 50px; }
	.hero p, .hero-lead { font-size: 16px; }
}
