

/* Start:/css/style.css?17879166656899*/
/* Наследие вёрстки до редизайна 2026. Здесь остались только правила, которые
   ещё кем-то используются: типографическая база, обёртки страницы, блок
   авторизации и закомментированные на страницах блоки голосования и FAQ.
   Всё новое — в css/ui.css, он подключается после этого файла.
   Палитра: старые имена --green/--orange/--pastel оставлены алиасами
   на токены редизайна, значения совпадают с ui.css. */
:root {
--green:#41501F;
--dgreen:#2C3717;
--orange:#DD7A52;
--pastel:#F2E9D8;
--white:#ffffff;
--fontsize:24px;
}

h1, h2, h3, h4 {
font-family: var(--font-display);
letter-spacing: -0.01em;
}

h2 {
font-size: 3.56rem;
}

* {
font-family: var(--font-body);
font-size: var(--fontsize);
color: var(--green);
}

html, body {
max-width: 100%;
overflow-x: hidden;
}

a {
color: var(--green);
text-decoration: none;
transition: 300ms;
}

a:hover {
color: var(--orange);
}

@media (max-width:1680px) {
	:root {
	--fontsize:21px;
	}
}

@media (max-width:1570px) {
	:root {
	--fontsize:19px;
	}
}

@media (max-width:1440px) {
	:root {
	--fontsize:18px;
	}
}

@media (max-width:1280px) {
	:root {
	--fontsize:16px;
	}
}

@media (max-width:1170px) {
	:root {
	--fontsize:14px;
	}
}

.ancor {
top: -5rem;
position: relative;
}

.wrapper {
margin:0 2.22rem;
position: relative;
}

/* Обёртка страницы. Фон и отступы теперь у самих секций (см. ui.css),
   здесь остался только контейнер под шапку. */
.fs-wrap {
padding: 0;
}

/* Левые боковые картинки */
/* Базовые стили остаются без изменений */

.anom__block-item {
max-width: 60rem;
display: flex;
align-content: center;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
margin: 0 auto;
}

.anom__block-item-pic {
width: 19.44rem;
height: 19.44rem;
border-radius: 1.67rem;
transform: rotate(-10deg);
background: var(--white);
position: relative;
z-index: 1;
}

.anom__block-item-pic-src {
transform: rotate(15deg);
border-radius: 1.67rem;
width: 19.44rem;
height: 19.44rem;
}

.anom__block-item-pic-icon {
font-size:7.11rem;
position: absolute;
z-index: 3;
right: 3.72rem;
bottom: -5rem;
transform: rotate(10deg);
}

.anom__block-item-text {
width: calc(100% - 30rem);
z-index: 1;
position: relative;
}

.anom__block-item-text_vote {
width: 100%;
}

.anom__block-item-text-tags {
display: flex;
align-content: center;
align-items: center;
flex-wrap: wrap;
margin-bottom: 0.78rem;
}

.anom__block-item-text-tags-item {
background: var(--white);
height: 1.44rem;
color: var(--orange);
padding: 0 0.56rem;
display: flex;
align-content: center;
align-items: center;
border-radius: 0.22rem;
margin-right: 0.56rem;
}

.anom__block-item-text-tags-item_alt {
background: #F2E8DF;
}

.anom__block-item-text-title {
color: var(--green);
font-size: 1.67rem;
}

.anom__block-item-text-val {
color: var(--green);
padding-top: 0.83rem;
padding-bottom: 2.22rem;
}

.anom__block-item-button {
display: inline-flex;
}

.aopen-vote {
margin-top: 6rem;
}

.aopen-vote__title {
font-size: 3.56rem;
text-align: center;
color: var(--orange);
line-height: 1;
padding-bottom: 1.67rem;
}

.anom__list-item {
display: flex;
flex-wrap: wrap;
align-content: center;
align-items: center;
background: var(--pastel);
padding: 1.67rem;
border-radius: 30px;
margin-bottom: .5rem;
}

.anom__list-item-show-text {
display: flex;
align-content: center;
align-items: center;
flex-wrap: wrap;
width: calc(100% - 9.47rem);
}

.anom__list-item-num {
font-size: 1.67rem;
width: 2rem;
}

.anom__list-item-name {
font-size: 1.33rem;
width: 20%;
}

.anom__list-item-descr {
width: calc(60% - 1rem);
margin-left: 0.5rem;
margin-right: 0.5rem;
}

.anom__list-item-link {
text-decoration: underline;
margin-top: 0.5rem;
cursor: pointer;
}

.anom__list-item-link:hover {
text-decoration: none;
}

.anom__list-item-votes {
width: calc(20% - 2.5rem);
background: var(--white);
height: 1.44rem;
color: var(--orange);
padding: 0 0.56rem;
display: flex;
align-content: center;
justify-content: center;
align-items: center;
border-radius: 30px;
margin-right: 0.5rem;
}

.anom__list-item-vote-button {

}

.anom__list-item-full-bio {
background: var(--pastel);
padding: 1.67rem;
border-radius: 30px;
display: none;
max-width: 500px;
}

.anom__list-item-full-bioname {
font-size: 1.67rem;
margin-bottom: 1rem;
}

.aregister {
display: none;
background: var(--pastel) !important;
padding: 1.67rem !important;
border-radius: 30px !important;
}

.bstl-form-title {
text-align: center;
margin-bottom: 1rem;
}

.bstl-form__social-item_yandex {
background: #000000;
margin-bottom: 0.5rem;
}

.bstl-form__social-item_vkontakte {
background: #0976FF;
}

.bstl-form__social-item-text {
color: var(--white);
margin-left: .7rem;
}

.bstl-form__social-footer, .aregister form, .aregister noindex {
display: none;
}

.afaq {
background: var(--orange);
padding-bottom: 6.67rem;
padding-top: 7.22rem;
position: relative;
margin-top: 5rem;
margin-bottom: 6rem;
}

.afaq__title {
font-size: 3.56rem;
text-align: center;
color: var(--white);
line-height: 1;
padding-bottom: 5rem;
}

.faq {
max-width: 60rem;
margin: 0 auto;
}

.faq-item {
background: var(--white);
overflow: hidden;
border-radius: 1.67rem;
padding: 1rem 3.06rem;
margin-bottom: 1.11rem;
}

.faq-question {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
cursor: pointer;
}

.faq-question span {
font-size: 1.67rem;
font-weight: 600;
color: var(--green);

}

.faq-question:hover {
color: var(--orange);
}

.faq-answer {
display: none; /* Скрыто по умолчанию */
color: var(--green);
}

.faq-toggle {
transition: transform 0.3s ease;
}

.faq-item.active .faq-toggle {
transform: rotate(45deg); /* Поворот иконки */
}

.faq-toggle__cross {
width: 2.67rem;
height: 2.67rem;
fill:var(--orange);
}

@media (max-width:990px) {
	h2 {
	font-size: 2.2rem;
	}

	.wrapper {
	margin-left: 1.43rem;
	margin-right: 1.43rem;
	}

	.anom__block-item-pic {
	width: 100%;
	background: transparent;
	margin-bottom: 2rem;
	}

	.anom__list-item-show-text {
	width: 100%;
	justify-content: space-between;
	}

	.anom__block-item-text {
	width: 100%;
	}

	.anom__list-item-name {
	width: calc(100% - 2rem);
	}

	.anom__list-item-descr {
	width: 100%;
	margin: 0;
	margin-top: 1rem;
	}

	.anom__list-item-votes {
	width: 8rem;
	margin: 1rem 0;
	}

	.afaq {
	padding-bottom: 10rem;
	padding-top: 0;
	}

	.afaq__title {
	font-size: 2.2rem;
	color: var(--green);
	padding-bottom: 2rem;
	}

	.faq-item {
	padding: 1rem 2.06rem;
	}

	.faq-question span {
	font-size: 1.33rem;
	}
}

/* End */


/* Start:/css/reset.css?17539553523865*/
/* ----------------------------------------------------------------------------------------------------
Super Form Reset
A couple of things to watch out for:
- IE8: If a text input doesn't have padding on all sides or none the text won't be centered.
- The default border sizes on text inputs in all UAs seem to be slightly different. You're better off using custom borders.
- You NEED to set the font-size and family on all form elements
- Search inputs need to have their appearance reset and the box-sizing set to content-box to match other UAs
- You can style the upload button in webkit using ::-webkit-file-upload-button
- ::-webkit-file-upload-button selectors can't be used in the same selector as normal ones. FF and IE freak out.
- IE: You don't need to fake inline-block with labels and form controls in IE. They function as inline-block.
- By turning off ::-webkit-search-decoration, it removes the extra whitespace on the left on search inputs
----------------------------------------------------------------------------------------------------*/
html,
body,
p,
div,
ul,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

:active, :hover, :focus {
    outline: 0;
    outline-offset: 0;
}


ul {
  list-style-type: none;
}
    input:not([type=checkbox]):not([type=radio]),
    textarea, 
    select {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
    }

input,
label,
select,
button,
textarea
{
	margin:0;
	border:0;
	padding:0;
	display:inline-block;
	vertical-align:middle;
	white-space:normal;
	background:none;
	line-height:1;
	
	/* Browsers have different default form fonts */
	font-size:14px;
}

/* Remove the stupid outer glow in Webkit */
input:focus
{
	outline:0;
}

/* Box Sizing Reset
-----------------------------------------------*/

/* All of our custom controls should be what we expect them to be */
input,
textarea
{
	-webkit-box-sizing:content-box;
	-moz-box-sizing:content-box;
	box-sizing:content-box;
}

/* These elements are usually rendered a certain way by the browser */
button,
input[type=reset],
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
select
{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

/* Text Inputs
-----------------------------------------------*/

input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=range],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week]
{
}

/* Button Controls
-----------------------------------------------*/

input[type=checkbox],
input[type=radio]
{
	width:13px;
	height:13px;
}

/* File Uploads
-----------------------------------------------*/

input[type=file]
{

}

/* Search Input
-----------------------------------------------*/

/* Make webkit render the search input like a normal text field */
input[type=search]
{
	-webkit-appearance:textfield;
	-webkit-box-sizing:content-box;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration
{
	display:none;
}

/* Buttons
-----------------------------------------------*/

button,
input[type="reset"],
input[type="button"],
input[type="submit"]
{
	/* Fix IE7 display bug */
	overflow:visible;
}

/* IE8 and FF freak out if this rule is within another selector */
::-webkit-file-upload-button
{	
	padding:0;
	border:0;
	background:none;
}

/* Textarea
-----------------------------------------------*/

textarea 
{
	/* Move the label to the top */
	vertical-align:top;
	
	/* Turn off scroll bars in IE unless needed */
	overflow:auto;
}

/* Selects
-----------------------------------------------*/

select
{

}

select[multiple] 
{
	/* Move the label to the top */
	vertical-align:top;
}
/* End */


/* Start:/css/ui.css?178799229376679*/
/* ============================================================================
   ui.css — слой дизайн-системы редизайна 2026.
   Подключается ПОСЛЕ style.css и reset.css, поэтому при равной специфичности
   выигрывает он. По мере переверстки секций их старые правила уезжают из
   style.css сюда — к концу работы здесь один источник правды.

   Важно про наследство style.css:
   `* { font-size: var(--fontsize); color: var(--green) }` красит и масштабирует
   ВСЁ, у чего нет своего правила. Поэтому каждому новому элементу цвет и кегль
   задаём явно — иначе прилетит 24px зелёным.
   Сетка старого CSS живёт в rem при rem = 16px, наш слой пишем в px/clamp():
   конфликта нет, значения абсолютные.
   ========================================================================= */

/* ---------- 1. Токены ---------- */
:root {
	/* палитра */
	--forest:#41501F;
	--forest-deep:#2C3717;
	--forest-hero1:#3C4A22;
	--forest-hero2:#28331A;
	--terra:#DD7A52;
	--terra-deep:#C15733;
	--terra-tint:#E89873;
	--terra-flat:#C9603A;
	--ochre:#C69A3C;
	--cream:#F2E9D8;
	--paper:#FBF7EF;
	--ink:#2B2318;
	--muted:#6B6050;
	--muted-on-dark:rgba(240,238,224,.82);

	/* шрифтовая пара */
	--font-display:'Rubik',system-ui,-apple-system,'Segoe UI',sans-serif;
	--font-body:'Nunito Sans',system-ui,-apple-system,'Segoe UI',sans-serif;

	/* типо-шкала: clamp вместо медиазапросов — одна лестница на все ширины */
	--fz-h1:clamp(38px,6vw,72px);
	--fz-h2:clamp(30px,4.4vw,54px);
	--fz-h3:clamp(19px,2.2vw,25px);
	--fz-lead:clamp(16px,1.5vw,19px);
	--fz-base:16px;
	--fz-sm:13.5px;
	--fz-xs:12px;

	/* геометрия и тени */
	--radius:22px;
	--radius-sm:14px;
	--radius-pill:30px;
	--maxw:1180px;
	--pad-x:clamp(18px,4vw,40px);
	--sec-y:clamp(52px,7vw,96px);
	--card-shadow:0 10px 30px -12px rgba(40,45,20,.28);
	--card-shadow-hover:0 20px 40px -16px rgba(40,45,20,.4);
}

/* ---------- 2. База ---------- */
body {
	background: var(--paper);
	font-family: var(--font-body);
	color: var(--ink);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

/* reset.css гасит любой outline (`:focus{outline:0}`) — возвращаем видимый фокус
   только для клавиатуры, чтобы мышь не таскала рамку по кнопкам. */
:focus-visible {
	outline: 3px solid var(--terra);
	outline-offset: 2px;
	border-radius: 6px;
}

/* на тёмных и терракотовых подложках терракотовая рамка не видна — белая */
.header :focus-visible,
.hero :focus-visible,
.themes :focus-visible,
.teaser :focus-visible,
.footer :focus-visible {
	outline-color: #fff;
}

/* видно только скринридеру: текст, вынесенный из потока в графику */
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- 3. Контейнер и ритм секций ---------- */
.ui-wrap {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 var(--pad-x);
}

/* ---------- 4. Заголовки секций ---------- */
.ui-h2 {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: var(--fz-h2);
	line-height: 1.06;
	letter-spacing: -.01em;
	color: var(--forest);
	margin: 0;
}

.themes .ui-h2 { color: #fff; }

.ui-lead {
	font-family: var(--font-body);
	font-size: var(--fz-lead);
	line-height: 1.55;
	color: var(--muted);
}

.themes .ui-lead { color: var(--muted-on-dark); }

/* ---------- 5. Кнопки ---------- */
/* Одна система на весь сайт. `display:flex` (а не inline-flex) — сохраняем прежнее
   поведение `.button`: вокруг него построены `margin:0 auto` и растяжки во flex-рядах. */
.button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: 48px;
	padding: 13px 26px;
	border: 1.5px solid transparent;
	border-radius: var(--radius-sm);
	background: var(--terra);
	color: #fff;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	text-align: center;
	text-transform: none;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 10px 24px -12px rgba(193,87,51,.85);
	transition: background-color .2s ease, color .2s ease, transform .15s ease, box-shadow .2s ease;
}

.button:hover {
	background: var(--terra-deep);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 14px 28px -12px rgba(193,87,51,.9);
}

.button:active {
	transform: translateY(0);
	box-shadow: none;
}

/* ghost — вторичное действие: на тёмных и терракотовых подложках */
.button_i,
.button_ghost {
	background: transparent;
	border-color: rgba(255,255,255,.5);
	color: #fff;
	box-shadow: none;
	font-weight: 600;
}

.button_i:hover,
.button_ghost:hover {
	background: rgba(255,255,255,.14);
	border-color: #fff;
	color: #fff;
}

/* белая на цветном — «Подать заявку» в шапке премии, «На сайт премии» в тизере */
.button_light,
.button_apply {
	background: #fff;
	color: var(--terra-deep);
	box-shadow: 0 8px 20px -8px rgba(0,0,0,.35);
}

.button_light:hover,
.button_apply:hover {
	background: var(--cream);
	color: var(--terra-deep);
}

/* неактивное состояние: приём заявок закрыт — кнопка остаётся на месте, но не зовёт нажать */
.button_apply-closed,
.button_apply-closed:hover {
	background: rgba(255,255,255,.28);
	border-color: rgba(255,255,255,.4);
	color: rgba(255,255,255,.9);
	box-shadow: none;
	transform: none;
	cursor: default;
	font-weight: 600;
	font-size: 13.5px;
}

/* зелёная — действие в «лесных» секциях (документы, почта аккредитации) */
.button_forest {
	background: var(--forest);
	box-shadow: 0 10px 24px -12px rgba(65,80,31,.8);
}

.button_forest:hover {
	background: var(--forest-deep);
}

@media (max-width: 560px) {
	.button {
		min-height: 44px;
		padding: 11px 18px;
		font-size: 14px;
	}
}

/* ---------- 6. Карточки ---------- */
.ui-card {
	display: flex;
	flex-direction: column;
	background: var(--paper);
	border: 1px solid rgba(65,80,31,.06);
	border-radius: var(--radius);
	box-shadow: var(--card-shadow);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}

.ui-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--card-shadow-hover);
}

/* картинка карточки: фиксированная пропорция, чтобы у соседей совпадала линия текста */
.ui-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	background: var(--cream);
	overflow: hidden;
}

.ui-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}

.ui-card:hover .ui-card__media img {
	transform: scale(1.04);
}

/* flex:1 у тела — карточки в ряду равной высоты, кнопка прижата к низу */
.ui-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 10px;
	padding: 20px 22px 24px;
}

.ui-card__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.18;
	color: var(--ink);
	margin: 0;
}

.ui-card__text {
	flex: 1;
	font-family: var(--font-body);
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--muted);
}

.ui-card__foot {
	margin-top: auto;
	padding-top: 4px;
}

/* ---------- 7. Бейджи, теги, чипы ---------- */
/* «Новинка 2026» — всегда терракота, на любой подложке (п.4 ТЗ) */
.ui-badge-new {
	display: inline-block;
	background: var(--terra-deep);
	color: #fff;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 11.5px;
	line-height: 1.2;
	letter-spacing: .02em;
	padding: 6px 13px;
	border-radius: var(--radius-pill);
	box-shadow: 0 4px 10px -3px rgba(0,0,0,.35);
	white-space: nowrap;
}

.ui-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.ui-tag {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 12px;
	line-height: 1.3;
	color: var(--forest);
	background: rgba(63,75,35,.09);
	padding: 4px 11px;
	border-radius: var(--radius-pill);
}

.ui-tag_kind {
	color: var(--terra-deep);
	background: rgba(193,87,51,.1);
}

/* чип-статус: «Спикеры — скоро», роль модератора и т.п. */
.ui-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	align-self: flex-start;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 12.5px;
	line-height: 1.3;
	color: var(--muted);
	background: var(--cream);
	padding: 5px 12px;
	border-radius: var(--radius-pill);
}

.ui-chip::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ochre);
}

/* ссылка-«дальше» в подвале карточки */
.ui-go {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 14.5px;
	color: var(--terra-deep);
	text-decoration: none;
}

.ui-go__arrow {
	transition: transform .18s ease;
}

.ui-card:hover .ui-go__arrow,
.ui-go:hover .ui-go__arrow {
	transform: translateX(4px);
}

/* ---------- 8. Шапка ---------- */
/* Шапка фиксированная, а не sticky: у html/body стоит overflow-x:hidden, и sticky
   внутри такого контейнера ведёт себя непредсказуемо. .header_wrap — распорка
   ровно на её высоту. Классы оставлены прежними: на них завязан js/js.js. */
.header_wrap {
	height: 74px;
	margin: 0;
}

.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 40;
	margin: 0;
	padding: 0;
	width: auto;
	border-radius: 0;
	background: var(--forest-deep);
	box-shadow: 0 1px 0 rgba(0,0,0,.14);
	color: #fff;
}

.fs-wrap__premia .header {
	/* глубокая терракота, а не светлая: белый текст меню 13.5px на светлой
	   давал 2.8:1, здесь — 4.5:1 (AA для обычного текста) */
	background: var(--terra-deep);
}

.header__inner {
	display: flex;
	align-items: center;
	gap: 20px;
	min-height: 74px;
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 var(--pad-x);
}

/* --- логотип --- */
.header__logo {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 250px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	color: #fff;
	text-decoration: none;
	transition: opacity .2s ease;
}

.header__logo:hover { opacity: .85; }

/* логотип премии — в две строки, бейдж-пилюля под ними */
.fs-wrap__premia .header__logo {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	max-width: 230px;
	font-size: 14.5px;
	line-height: 1.15;
}

.header__logo_lockup {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.header__logo-name {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.15;
	color: #fff;
	white-space: nowrap;
}

.header__logo-sub {
	display: block;
	margin-top: 4px;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 10.5px;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--muted-on-dark);
}

.header__badge {
	display: inline-block;
	background: var(--terra);
	border: 0;
	border-radius: var(--radius-pill);
	padding: 3px 10px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 11.5px;
	line-height: 1.2;
	color: #fff;
	white-space: nowrap;
}

/* на терракотовой шапке премии терракотовый бейдж не читается — прозрачная пилюля */
.fs-wrap__premia .header__badge {
	background: rgba(255,255,255,.16);
	border: 1px solid rgba(255,255,255,.42);
}

/* --- меню и правая часть --- */
.header__right {
	margin-left: auto;
	width: auto;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: nowrap;
}

.header__menu {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: nowrap;
}

.header__menu-item {
	position: relative;
	padding: 7px 2px;
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 13.5px;
	line-height: 1.2;
	text-transform: none;
	color: var(--muted-on-dark);
	white-space: nowrap;
	transition: color .2s ease;
}

.header__menu-item:hover,
.header__menu-item_active {
	color: #fff;
}

.header__menu-item_active::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2.5px;
	border-radius: 2px;
	background: var(--terra);
}

.fs-wrap__premia .header__menu-item_active::after {
	background: #fff;
}

.header__soc-button {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: nowrap;
}

.header__mail {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: auto;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 13.5px;
	line-height: 1.2;
	text-transform: none;
	white-space: nowrap;
	color: #fff;
	opacity: .92;
	transition: opacity .2s ease;
}

.header__mail span {
	font-size: 13.5px;
	color: #fff;
}

.header__mail:hover {
	background: transparent;
	color: #fff;
	opacity: 1;
}

.header__mail .header__soc-item-icon {
	width: 17px;
	height: 15px;
	fill: #fff;
}

/* кнопка «Подать заявку» с подписью-статусом: обе строки в высоту шапки */
.header__apply {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
}

.header__apply .button {
	min-height: 40px;
	padding: 9px 18px;
	font-size: 13.5px;
}

.header__apply-note {
	font-family: var(--font-body);
	font-size: 10.5px;
	line-height: 1.2;
	color: rgba(255,255,255,.85);
	text-align: center;
	white-space: nowrap;
}

/* --- бургер --- */
.header__mm {
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 40px;
	height: 40px;
	margin-left: auto;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.header__mm-stripe {
	display: block;
	width: 26px;
	height: 2px;
	border-radius: 2px;
	background: #fff;
	transition: transform .25s ease;
}

.header__mm_active .header__mm-stripe:nth-child(1) {
	transform: translateY(4.5px) rotate(45deg);
}

.header__mm_active .header__mm-stripe:nth-child(2) {
	transform: translateY(-4.5px) rotate(-45deg);
}

/* до 1100px строка шапки премии уже не держится — уходим в бургер */
@media (max-width: 1100px) {
	.header_wrap { height: 64px; }

	.header__inner {
		min-height: 64px;
		gap: 14px;
	}

	.header__logo,
	.header__logo_lockup {
		max-width: calc(100% - 60px);
	}

	.header__logo-name {
		white-space: normal;
		font-size: 15px;
	}

	.header__mm { display: flex; }

	/* выпадающая панель — в цвет шапки, не белая: на белой терялись белые пункты */
	.header__right {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		margin: 0;
		padding: 14px var(--pad-x) 24px;
		background: var(--forest-deep);
		box-shadow: 0 18px 30px -18px rgba(0,0,0,.65);
		max-height: calc(100vh - 64px);
		overflow-y: auto;
	}

	.fs-wrap__premia .header__right { background: var(--terra-deep); }

	.fs-wrap__premia .header__logo {
		max-width: calc(100% - 60px);
		font-size: 15px;
	}

	.header__right.header__right_visible { display: flex; }

	.header__menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.header__menu-item {
		width: 100%;
		padding: 13px 0;
		font-size: 18px;
		text-align: center;
		color: #fff;
	}

	.header__menu-item_active::after {
		left: 50%;
		right: auto;
		width: 46px;
		transform: translateX(-50%);
	}

	.header__soc-button {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
		margin-top: 18px;
	}

	.header__mail {
		justify-content: center;
		font-size: 16px;
	}

	.header__mail span { font-size: 16px; }

	.header__apply { width: 100%; }
	.header__apply .button { width: 100%; }
	.header__apply-note { font-size: 12px; }
}

/* ---------- 9. Подвал ---------- */
.footer-wrap {
	background: var(--forest-deep);
}

.footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 30px;
	margin: 0 auto;
	padding: 26px var(--pad-x);
	border-top: 0;
}

.footer-col {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	width: auto;
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 1.5;
	color: rgba(237,231,214,.62);
}

.footer-col a {
	font-size: 13px;
	color: rgba(237,231,214,.82);
	text-decoration: none;
	transition: color .2s ease;
}

.footer-col a:hover { color: #fff; }

@media (max-width: 760px) {
	.footer {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
}

/* ---------- 10. Первый экран (общий компонент форума и премии) ---------- */
.hero {
	position: relative;
	overflow: hidden;
	color: #fff;
}

.hero_forum {
	background: linear-gradient(160deg, var(--forest-hero1), var(--forest-hero2));
}

/* тёплый терракотовый подсвет справа — связка с брендом премии */
/* грид отдаёт часть нижнего отступа полосе фактов; у премии полосы нет,
   поэтому правило под модификатором, а не на общем .hero__inner */
.hero_forum .hero__inner {
	padding-bottom: clamp(30px, 4vw, 52px);
}

.hero_forum::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(600px 400px at 85% 15%, rgba(221,122,82,.18), transparent 60%);
	pointer-events: none;
}

.hero__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1.12fr .88fr;
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
	padding-top: clamp(40px, 6vw, 78px);
	padding-bottom: clamp(48px, 7vw, 88px);
}

.hero__eyebrow {
	display: inline-flex;
	align-items: center;
	margin-bottom: 22px;
	padding: 8px 16px;
	border-radius: var(--radius-pill);
	background: var(--terra);
	color: #fff;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 13.5px;
	line-height: 1.2;
	letter-spacing: .02em;
}

.hero__title {
	margin: 0 0 20px;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: var(--fz-h1);
	line-height: 1.06;
	letter-spacing: -.01em;
	color: #fff;
}

.hero__year {
	color: var(--terra-tint);
	font-size: inherit;
	font-family: inherit;
}

.hero__sub {
	max-width: 40ch;
	margin-bottom: 30px;
	font-family: var(--font-body);
	font-size: var(--fz-lead);
	line-height: 1.5;
	color: var(--muted-on-dark);
}

.hero__sub p {
	font-size: inherit;
	color: inherit;
	margin: 0 0 10px;
}

.hero__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

/* кнопка регистрации приезжает из инфоблока с классом .fs__item-buttons-item,
   который раньше растягивал её на всю колонку — в ряду CTA растяжка не нужна */
.hero__cta .button,
.hero__cta .fs__item-buttons-item {
	flex: 0 0 auto;
	width: auto;
}

.hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-top: 32px;
}

.hero__meta-value {
	display: block;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 19px;
	line-height: 1.2;
	color: #fff;
}

.hero__meta-label {
	display: block;
	margin-top: 2px;
	font-family: var(--font-body);
	font-size: 13.5px;
	line-height: 1.3;
	color: var(--muted-on-dark);
}

.hero__docs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-start;
	margin-top: 26px;
}

/* нижний ярус первого экрана: факты слева, документ прижат к правому краю.
   Вынесен из левой колонки, чтобы текст и коллаж кончались на одной высоте. */
.hero__strip {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(20px, 3vw, 44px);
	padding-top: 26px;
	padding-bottom: clamp(30px, 4.5vw, 56px);
	border-top: 1px solid rgba(255,255,255,.16);
}

.hero__strip .hero__meta,
.hero__strip .hero__docs {
	margin: 0;
}

.hero__strip .hero__meta {
	gap: clamp(20px, 3vw, 44px);
}

.hero__strip .hero__docs {
	margin-left: auto;
}

/* коллаж 2×2: четыре равных блока, пропорция задана aspect-ratio,
   поэтому ряды не разъезжаются при разной высоте исходников */
.hero__collage {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.hero__collage-item {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: var(--radius);
	overflow: hidden;
	background: rgba(255,255,255,.08);
}

.hero__collage-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.hero__collage-item:hover img {
	transform: scale(1.04);
}

@media (max-width: 900px) {
	.hero__inner {
		grid-template-columns: 1fr;
	}

	.hero__collage {
		gap: 10px;
	}

	.hero__collage-item {
		aspect-ratio: 4 / 3;
	}

	.hero__sub {
		max-width: none;
	}

	/* на узком экране полоса складывается в столбик, прижим вправо теряет смысл */
	.hero__strip {
		gap: 22px;
		padding-top: 22px;
	}

	.hero__strip .hero__docs {
		margin-left: 0;
	}
}

/* «Положение о форуме/премии» — вторичная ссылка-документ на тёмном */
.aabout__buttons-item {
	height: auto;
	min-height: 42px;
	padding: 9px 16px;
	border: 1.5px solid rgba(255,255,255,.5);
	border-radius: var(--radius-sm);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.2;
	color: #fff;
	transition: background-color .2s ease, border-color .2s ease;
}

.aabout__buttons-item:hover {
	background: rgba(255,255,255,.14);
	border-color: #fff;
	color: #fff;
}

.aabout__buttons-item-icon-01 {
	width: 15px;
	height: 17px;
	margin-right: 8px;
	fill: #fff;
}

/* в полосе первого экрана «Положение» — ссылка, а не кнопка: рамка спорила
   с «Регистрацией» и оставляла в правом углу пустой прямоугольник.
   Правило локальное — на странице премии тот же класс остаётся кнопкой. */
.hero__strip .aabout__buttons-item {
	display: inline-flex;
	align-items: center;
	min-height: 0;
	padding: 0 0 3px;
	border: 0;
	border-bottom: 1px solid rgba(255,255,255,.4);
	border-radius: 0;
	font-size: 15px;
	color: rgba(255,255,255,.9);
	transition: color .2s ease, border-color .2s ease;
}

.hero__strip .aabout__buttons-item:hover {
	background: transparent;
	border-bottom-color: #fff;
	color: #fff;
}

/* fill: currentColor тут не работает: наследие style.css `* { color: var(--green) }`
   красит сам <svg>, и currentColor берёт зелёный, а не цвет ссылки-родителя */
.hero__strip .aabout__buttons-item-icon-01 {
	fill: #fff;
}

/* «скоро» — не ссылка, поэтому без подчёркивания и тише по цвету */
.hero__strip .aabout__buttons-item_soon {
	border-bottom-color: transparent;
	color: var(--muted-on-dark);
}

/* ---------- 11. Полоса «патрон» ---------- */
.patron {
	background: var(--cream);
}

.patron__inner {
	display: grid;
	grid-template-columns: minmax(240px, 360px) 1fr;
	gap: clamp(20px, 3vw, 44px);
	align-items: center;
	padding-top: clamp(28px, 4vw, 48px);
	padding-bottom: clamp(28px, 4vw, 48px);
}

/* исходник 16:9 — держим близкую пропорцию, чтобы кадр не резался и не тянулся */
.patron__photo {
	aspect-ratio: 16 / 10;
	border-radius: var(--radius);
	overflow: hidden;
	background: rgba(65,80,31,.08);
}

.patron__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.patron__quote {
	margin: 0 0 12px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(18px, 2vw, 24px);
	line-height: 1.3;
	color: var(--forest);
}

.patron__quote::before { content: "«"; }
.patron__quote::after  { content: "»"; }

.patron__cite {
	font-family: var(--font-body);
	font-style: normal;
	font-size: 14px;
	line-height: 1.4;
	color: var(--muted);
}

@media (max-width: 760px) {
	.patron__inner {
		grid-template-columns: 1fr;
	}
}

/* ---------- 12. Темы дискуссий ---------- */
/* Горизонтальный GSAP-скролл .themes__list-inner оставлен как был: ширина в vw
   и flex-ряд — на них завязана анимация в index.php. Меняются только цвета и типографика. */
.themes {
	background: var(--forest-deep);
	padding: var(--sec-y) 0;
	overflow: hidden;
}

.themes__head {
	margin-bottom: clamp(24px, 3.5vw, 40px);
}

.themes__title {
	color: #fff;
	padding-bottom: 0;
}

/* лента начинается ровно от левого края контейнера, а уезжает за правый край экрана */
.themes__list {
	padding-left: max(var(--pad-x), calc((100% - var(--maxw)) / 2 + var(--pad-x)));
}

.themes__list-inner {
	display: flex;
	width: 146vw;
	gap: 18px;
}

.themes__list-item {
	position: relative;
	flex: 0 0 auto;
	width: calc(20vw - 18px);
	min-height: 330px;
	padding: 22px 24px;
	border-radius: var(--radius);
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	align-content: space-between;
	margin-right: 0;
}

.themes__list-item-pic {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.themes__list-item-pic-bg {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(28,34,14,0) 30%, rgba(28,34,14,.72) 100%);
}

.themes__list-item-num {
	position: relative;
	z-index: 2;
	width: 100%;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 56px;
	line-height: 1;
	color: var(--terra-tint);
}

.themes__list-item-text {
	position: relative;
	z-index: 2;
	width: 100%;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 17px;
	line-height: 1.25;
	color: #fff;
	text-shadow: 0 1px 8px rgba(0,0,0,.4);
}

@media (max-width: 990px) {
	.themes__list {
		padding-left: 0;
	}

	.themes__list-inner {
		width: 100%;
		flex-wrap: wrap;
		gap: 16px;
		padding: 0 var(--pad-x);
	}

	.themes__list-item {
		width: 100%;
		min-height: 240px;
	}
}

/* ---------- 12. Темы дискуссий ---------- */
/* Горизонтальный GSAP-скролл .themes__list-inner оставлен как был: ширина в vw
   и flex-ряд — на них завязана анимация в index.php. Меняются только цвета и типографика. */
.themes {
	background: var(--forest-deep);
	padding: var(--sec-y) 0;
	overflow: hidden;
}

.themes__head {
	margin-bottom: clamp(24px, 3.5vw, 40px);
}

.themes__title {
	color: #fff;
	padding-bottom: 0;
}

/* лента начинается ровно от левого края контейнера, а уезжает за правый край экрана */
.themes__list {
	padding-left: max(var(--pad-x), calc((100% - var(--maxw)) / 2 + var(--pad-x)));
}

.themes__list-inner {
	display: flex;
	width: 146vw;
	gap: 18px;
}

.themes__list-item {
	position: relative;
	flex: 0 0 auto;
	width: calc(20vw - 18px);
	min-height: 330px;
	margin-right: 0;
	padding: 22px 24px;
	border-radius: var(--radius);
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	align-content: space-between;
}

.themes__list-item-pic {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.themes__list-item-pic-bg {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(28,34,14,0) 30%, rgba(28,34,14,.72) 100%);
}

.themes__list-item-num {
	position: relative;
	z-index: 2;
	width: 100%;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 56px;
	line-height: 1;
	color: var(--terra-tint);
}

.themes__list-item-text {
	position: relative;
	z-index: 2;
	width: 100%;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 17px;
	line-height: 1.25;
	color: #fff;
	text-shadow: 0 1px 8px rgba(0,0,0,.4);
}

@media (max-width: 990px) {
	.themes__list { padding-left: 0; }

	.themes__list-inner {
		width: 100%;
		flex-wrap: wrap;
		gap: 16px;
		padding: 0 var(--pad-x);
	}

	.themes__list-item {
		width: 100%;
		min-height: 240px;
	}
}

/* ---------- 13. Программа форума ---------- */
.program {
	background: var(--paper);
	padding: var(--sec-y) 0;
}

.program__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 8px;
}

.program__title {
	text-align: left;
	margin: 0;
}

.program__place {
	text-align: right;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.35;
	color: var(--muted);
}

.program__place-date {
	display: block;
	font-size: 15px;
	color: var(--terra-deep);
}

.program__place-name {
	display: block;
	font-size: 15px;
	color: var(--muted);
}

/* --- вкладки-фильтр по залам --- */
.program__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 26px 0 30px;
}

.program__tabs-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1.5px solid rgba(65,80,31,.2);
	border-radius: var(--radius-pill);
	background: transparent;
	color: var(--forest);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.program__tabs-item:hover { border-color: var(--forest); }

.program__tabs-item.active {
	background: var(--forest);
	border-color: var(--forest);
	color: #fff;
}

.program__tabs-item.active .program__dot { outline: 2px solid rgba(255,255,255,.5); }

.program__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--forest);
}

/* цвет назначается по порядковому номеру зала — см. $hallTone в index.php */
.program__tabs-item_t1 .program__dot { background: var(--forest); }
.program__tabs-item_t2 .program__dot { background: var(--terra); }
.program__tabs-item_t3 .program__dot { background: var(--ochre); }

/* --- сетка треков: залы — колонки, время — левая шкала ---
   Параллельные сессии стоят в одном ряду, поэтому карточки не нужны:
   структуру держат колонка и линейка. Цвет зала объявлен один раз в шапке. */
.program__grid {
	--halls: var(--halls-all, 3);
	--time-col: 84px;
	margin-top: 6px;
	border-top: 1.5px solid var(--forest);
}

/* при фильтре по одному залу сетка схлопывается в «время + один зал» */
.program__grid_single { --halls: 1; }

.program__grid [hidden] { display: none !important; }

.program__grid-head,
.program__row {
	display: grid;
	grid-template-columns: var(--time-col) repeat(var(--halls), minmax(0, 1fr));
	gap: 0 20px;
	align-items: stretch;
}

.program__hallhead {
	grid-column: var(--col, 2);
	margin-top: -1.5px;
	padding: 11px 0 13px;
	border-top: 3px solid var(--forest);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 12.5px;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--forest);
}

.program__hallhead_t2 { border-top-color: var(--terra); color: var(--terra-deep); }
.program__hallhead_t3 { border-top-color: var(--ochre); color: #9A750F; }

.program__grid_single .program__hallhead { grid-column: 2; }

.program__row { border-top: 1px solid rgba(65,80,31,.16); }

.program__time {
	grid-column: 1;
	padding: 18px 0 24px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 14px;
	line-height: 1.3;
	color: var(--forest);
	white-space: nowrap;
}

.program__time-start,
.program__time-end { display: block; }

.program__time-end {
	font-weight: 500;
	font-size: 13px;
	color: var(--muted);
}

/* --- сессия в колонке зала --- */
.program__cell {
	grid-column: var(--col, 2);
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px 0 24px;
}

.program__grid_single .program__cell { grid-column: 2; }

/* зал напечатан в шапке колонки — в ячейке он нужен только на мобильном */
.program__cell-hall {
	display: none;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--forest);
}

.program__cell_t2 .program__cell-hall { color: var(--terra-deep); }
.program__cell_t3 .program__cell-hall { color: #9A750F; }

.program__cell-title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 16.5px;
	line-height: 1.3;
	color: var(--ink);
}

.program__cell-text,
.program__cell-text p {
	font-family: var(--font-body);
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--muted);
}

.program__cell-text p { margin: 0 0 6px; }

/* --- пленарное: общее для всех залов, поэтому во всю ширину сетки --- */
.program__plenar {
	grid-column: 2 / -1;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 14px 0 20px;
	padding: clamp(20px, 2.6vw, 28px);
	border-radius: var(--radius);
	background: linear-gradient(150deg, var(--forest-hero1), var(--forest-hero2));
	color: #fff;
}

.program__plenar-kicker {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 12.5px;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--muted-on-dark);
}

.program__plenar-title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(20px, 2.3vw, 27px);
	line-height: 1.25;
	color: #fff;
}

.program__plenar .program__people-role { color: var(--muted-on-dark); }
.program__plenar .program__person-name { color: #fff; }
.program__plenar .program__person_has-link:hover .program__person-name { color: var(--terra-tint); }

/* --- перерывы: тонкая строка на всю ширину, не карточка --- */
.program__row_pause {
	grid-template-columns: var(--time-col) minmax(0, 1fr);
	align-items: baseline;
	padding: 10px 0;
	background: rgba(242,233,216,.5);
	font-family: var(--font-display);
	font-weight: 600;
}

.program__pause-time {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 13px;
	line-height: 1.3;
	color: var(--forest);
	white-space: nowrap;
}

.program__pause-name {
	font-size: 13px;
	line-height: 1.3;
	color: var(--muted);
}

/* --- персоны сессии --- */
.program__people {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
}

.program__people-role {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 12.5px;
	line-height: 1.2;
	color: var(--muted);
}

.program__person {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.program__person_has-link { cursor: pointer; }

.program__person-pic {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 auto;
}

.program__person-name {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.3;
	color: var(--ink);
}

.program__person_has-link .program__person-name {
	text-decoration: underline;
	transition: color .2s ease;
}

.program__person_has-link:hover .program__person-name {
	color: var(--terra-deep);
	text-decoration: none;
}

/* --- финал: акцентная терракотовая плашка (ТЗ п.26) --- */
.program__row_full { border-top: 1px solid rgba(65,80,31,.16); }

.program__finale {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 20px;
	margin: 16px 0 0;
	padding: 24px 28px;
	border-radius: var(--radius);
	background: linear-gradient(150deg, var(--terra), var(--terra-deep));
	color: #fff;
}

.program__finale-time {
	padding: 6px 14px;
	border-radius: var(--radius-pill);
	background: rgba(255,255,255,.2);
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 15px;
	line-height: 1.2;
	color: #fff;
}

.program__finale-kicker {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.2;
	color: #fff;
}

.program__finale-title {
	flex-basis: 100%;
	margin: 2px 0 0;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: clamp(19px, 2.2vw, 25px);
	line-height: 1.15;
	color: #fff;
}

/* одна строка на всю программу вместо чипа «Спикеры — скоро» в каждой сессии */
.program__soon {
	margin: 18px 0 0;
	font-family: var(--font-body);
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--muted);
}

@media (max-width: 1000px) {
	.program__grid { --time-col: 72px; }

	.program__grid-head,
	.program__row { gap: 0 14px; }

	.program__cell-title { font-size: 15.5px; }
}

/* Мобильный: колонки залов не помещаются — сетка становится одним столбцом,
   зал переезжает из шапки в саму сессию, цвет держит левая линия. */
@media (max-width: 860px) {
	.program__head { align-items: flex-start; }

	.program__place { text-align: left; }

	.program__grid-head { display: none; }

	.program__grid-head,
	.program__row,
	.program__row_pause {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.program__time {
		grid-column: 1;
		display: flex;
		gap: 6px;
		align-items: baseline;
		padding: 16px 0 8px;
	}

	.program__time-start,
	.program__time-end { display: inline; }

	.program__time-end::before { content: "– "; }

	.program__cell,
	.program__grid_single .program__cell {
		grid-column: 1;
		padding: 12px 0 16px 14px;
		border-left: 3px solid var(--forest);
	}

	.program__cell + .program__cell { margin-top: 8px; }

	.program__cell_t2 { border-left-color: var(--terra); }
	.program__cell_t3 { border-left-color: var(--ochre); }

	.program__cell-hall { display: block; }

	.program__plenar {
		grid-column: 1;
		margin: 6px 0 18px;
	}

	.program__row_pause { padding: 9px 0 9px 14px; }

	.program__pause-time { display: block; }

	.program__finale {
		margin-top: 14px;
		padding: 20px 22px;
	}
}

/* ---------- 14. Модалка спикера ---------- */
.speaker-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1000;
	overflow: auto;
	padding: 20px;
	background: rgba(28,34,14,.72);
	align-items: center;
	justify-content: center;
}

.speaker-modal.active { display: flex; }

.speaker-modal-content {
	position: relative;
	width: auto;
}

.speaker-modal .speaker-detail { display: block; }

.speaker-detail {
	display: none;
	max-width: 600px;
	padding: 32px;
	border-radius: var(--radius);
	background: var(--paper);
	box-shadow: var(--card-shadow-hover);
}

.speaker-detail__top {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	text-align: center;
	margin-bottom: 20px;
}

.speaker-detail__top-photo { flex: 0 0 auto; }

.speaker-detail__top-photo-src {
	width: 120px;
	height: 120px;
	border-radius: var(--radius-sm);
	object-fit: cover;
}

.speaker-detail__top-info-name {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 22px;
	line-height: 1.2;
	color: var(--ink);
}

.speaker-detail__top-info-role {
	margin-top: 6px;
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.4;
	color: var(--muted);
}

.speaker-detail__bio,
.speaker-detail__bio p,
.speaker-detail__bio b {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.6;
	color: var(--ink);
}

.speaker-detail__bio p { margin: 0 0 10px; }

.close-modal-btn {
	position: absolute;
	top: 8px;
	right: 14px;
	padding: 0;
	border: 0;
	background: none;
	font-size: 34px;
	font-weight: 700;
	line-height: 1;
	color: var(--forest);
	cursor: pointer;
}

.hidden-details { display: none; }

@media (min-width: 560px) {
	.speaker-detail__top {
		flex-direction: row;
		text-align: left;
		gap: 24px;
	}
}

/* ---------- 15. Карточка персоны (спикеры, модераторы, жюри) ---------- */
/* Один компонент на три блока: спикеры форума, модераторы (тот же компонент
   с ролевым тегом, ТЗ п.33) и жюри премии. Отличаются только набором тегов. */
.person-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 22px;
}

.person-card {
	display: flex;
	flex-direction: column;
	background: var(--paper);
	border: 1px solid rgba(65,80,31,.06);
	border-radius: var(--radius);
	box-shadow: var(--card-shadow);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}

.person-card_has-bio { cursor: pointer; }

.person-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--card-shadow-hover);
}

.person-card__photo {
	aspect-ratio: 1 / 1;
	background: var(--cream);
	overflow: hidden;
}

.person-card__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}

.person-card:hover .person-card__photo img { transform: scale(1.04); }

.person-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 8px;
	padding: 18px 20px 22px;
}

.person-card__name {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.22;
	color: var(--ink);
}

.person-card_has-bio .person-card__name { text-decoration: underline; }
.person-card_has-bio:hover .person-card__name { text-decoration: none; color: var(--terra-deep); }

.person-card__role {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.4;
	color: var(--muted);
}

/* тег зала — в цветовой кодировке программы */
.person-card__hall_t1 { color: var(--forest);      background: rgba(65,80,31,.1); }
.person-card__hall_t2 { color: var(--terra-deep);  background: rgba(193,87,51,.1); }
.person-card__hall_t3 { color: #9A750F;            background: rgba(198,154,60,.16); }

/* ---------- 16. Секция «Спикеры» ---------- */
.speakers {
	background: var(--cream);
	padding: var(--sec-y) 0;
}

.speakers__title {
	margin-bottom: clamp(24px, 3.5vw, 40px);
	text-align: left;
	padding-bottom: 0;
}

/* заглушка до наполнения инфоблока */
.speakers__stub {
	max-width: 760px;
	margin: 0;
	padding: 28px 32px;
	border-radius: var(--radius);
	background: var(--paper);
	border: 1px solid rgba(65,80,31,.08);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--muted);
}

/* ---------- 17. Тизер премии на главной ---------- */
/* Терракота = бренд премии: секция визуально ведёт на её сайт (ТЗ п.7, 27).
   Плоская заливка, а не градиент: номинации держит типографика и линейки,
   а не плашки — секция читается как разворот каталога премии. */
.teaser {
	padding: var(--sec-y) 0;
	background: var(--terra-flat);
	color: #fff;
}

.teaser__head {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: clamp(28px, 4vw, 48px);
	align-items: start;
	padding-bottom: clamp(24px, 3vw, 34px);
	border-bottom: 2px solid rgba(255,255,255,.35);
}

/* надзаголовок с линейкой вместо пилюли: служебная строка, а не кнопка */
.teaser__kicker {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: clamp(18px, 2.4vw, 26px);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.72);
}

.teaser__kicker::before {
	content: "";
	flex: 0 0 auto;
	width: 38px;
	height: 2px;
	background: rgba(255,255,255,.5);
}

.teaser__title-row {
	display: flex;
	align-items: flex-start;
	gap: clamp(16px, 2.2vw, 26px);
}

/* номер выпуска — графический элемент, а не часть строки заголовка */
.teaser__num {
	flex: 0 0 auto;
	padding-top: .05em;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: clamp(52px, 7vw, 86px);
	line-height: .82;
	letter-spacing: -.04em;
	color: rgba(255,255,255,.42);
}

.teaser__title {
	max-width: 15ch;
	margin: 0;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(28px, 3.6vw, 44px);
	line-height: 1.04;
	letter-spacing: -.015em;
	color: #fff;
}

.teaser__text,
.teaser__text p {
	max-width: 56ch;
	font-family: var(--font-body);
	font-size: 16.5px;
	line-height: 1.6;
	color: rgba(255,255,255,.9);
}

.teaser__text { margin-top: 22px; }
.teaser__text p { margin: 0 0 12px; }

.teaser__side { text-align: right; }

.teaser__meta {
	margin: 0;
	font-family: var(--font-display);
}

.teaser__meta dt {
	font-weight: 600;
	font-size: 11.5px;
	line-height: 1.2;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.66);
}

.teaser__meta dd {
	margin: 4px 0 20px;
	font-weight: 700;
	font-size: 23px;
	line-height: 1.2;
	letter-spacing: -.01em;
	color: #fff;
}

/* ссылка-подчёркивание вместо белой пилюли: на плоской терракоте кнопка
   становилась вторым по яркости пятном после заголовка */
.teaser__cta {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding-bottom: 5px;
	border-bottom: 2px solid #fff;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
	color: #fff;
	text-decoration: none;
	transition: gap .18s ease, opacity .18s ease;
}

/* стрелку в ссылке отдельно: наследство `* {font-size;color}` из style.css
   иначе красит её зелёным 24px */
.teaser__cta span { font-size: inherit; color: inherit; }

.teaser__cta:hover { gap: 14px; opacity: .85; }

.teaser__noms { margin-top: clamp(32px, 4vw, 44px); }

.teaser__noms-title {
	margin-bottom: 8px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.66);
}

/* columns, а не grid: список читается сверху вниз по колонке —
   нумерация 01…05 слева, 06…10 справа, а не через строку */
.teaser__list {
	columns: 2;
	column-gap: clamp(32px, 5vw, 64px);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: nom;
}

.teaser__list li {
	counter-increment: nom;
	font-size: var(--fz-base);
	color: #fff;
	display: flex;
	gap: 18px;
	align-items: baseline;
	padding: 15px 0;
	border-bottom: 1px solid rgba(255,255,255,.28);
	break-inside: avoid;
}

.teaser__list li::before {
	content: counter(nom, decimal-leading-zero);
	flex: 0 0 22px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 12.5px;
	line-height: 1.3;
	letter-spacing: .02em;
	color: rgba(255,255,255,.6);
}

.teaser__nom {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(16px, 1.6vw, 19px);
	line-height: 1.25;
	letter-spacing: -.005em;
	color: #fff;
}

/* «Новинка» — охристый капс без плашки: метка не должна перебивать
   название номинации, ради которого секция и существует (ТЗ п.4) */
.teaser__nom-new {
	margin-left: 9px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 10.5px;
	line-height: 1.3;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #FFD9A8;
	white-space: nowrap;
}

@media (max-width: 900px) {
	.teaser__head {
		grid-template-columns: 1fr;
	}

	.teaser__side {
		text-align: left;
	}

	.teaser__meta dd { margin-bottom: 16px; }

	.teaser__list { columns: 1; }
}

/* ---------- 18. Архив 2025: секция-превью на главной ---------- */
.archive {
	background: var(--cream);
	padding: var(--sec-y) 0;
}

.archive__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: clamp(28px, 4vw, 44px);
}

.archive__lead {
	max-width: 46ch;
	margin: 10px 0 0;
}

.archive__pill {
	padding: 8px 18px;
	border-radius: var(--radius-pill);
	background: var(--forest);
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 14px;
	line-height: 1.2;
	color: #fff;
	white-space: nowrap;
}

.archive__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
	gap: 20px;
}

.archive__card {
	text-decoration: none;
	color: inherit;
}

/* Заглушка обложки: карточка без превью не должна выглядеть недогрузившейся.
   Диагональная штриховка в цветах сайта + знак play у видеозаписей. */
.archive__stub {
	background:
		repeating-linear-gradient(135deg, rgba(63,75,35,.07) 0 10px, transparent 10px 20px),
		var(--cream);
}

.archive__stub::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	border: 2px solid rgba(63,75,35,.28);
}

.archive__stub_video::after {
	border-color: rgba(193,87,51,.4);
	background: rgba(193,87,51,.12);
}

.archive__stub_video::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 11px 0 11px 18px;
	border-color: transparent transparent transparent var(--terra);
	transform: translateX(3px);
	z-index: 1;
}

.archive__count {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 5px 11px;
	border-radius: var(--radius-pill);
	background: rgba(28,34,14,.55);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 12px;
	line-height: 1.2;
	color: #fff;
	backdrop-filter: blur(2px);
}

/* ---------- 19. Страница /archive-2025/ ---------- */
.archive-page {
	background: var(--paper);
	padding: var(--sec-y) 0;
}

.archive-page__head {
	margin-bottom: clamp(24px, 3.5vw, 40px);
}

.archive-page__lead {
	max-width: 62ch;
	margin: 12px 0 0;
}

.archive-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: clamp(28px, 4vw, 44px);
}

.archive-tabs__button {
	padding: 10px 18px;
	border: 1.5px solid rgba(65,80,31,.2);
	border-radius: var(--radius-pill);
	background: transparent;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.2;
	color: var(--forest);
	cursor: pointer;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.archive-tabs__button:hover { border-color: var(--forest); }

.archive-tabs__button_active {
	background: var(--forest);
	border-color: var(--forest);
	color: #fff;
}

.archive-panel { display: none; }
.archive-panel_active { display: block; }

.archive-panel__title {
	margin: 0 0 24px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--fz-h3);
	line-height: 1.2;
	color: var(--forest);
}

.photo-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
}

.photo-gallery__item {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--radius-sm);
	overflow: hidden;
	box-shadow: var(--card-shadow);
	transition: transform .18s ease, box-shadow .18s ease;
}

.photo-gallery__item:hover {
	transform: translateY(-4px);
	box-shadow: var(--card-shadow-hover);
}

.photo-gallery__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.video-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
	gap: 22px;
}

.video-list__item {
	padding: 18px;
	border-radius: var(--radius);
	background: var(--cream);
}

.video-list__title {
	margin: 0 0 14px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.25;
	color: var(--ink);
}

.video-list__player {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--radius-sm);
	overflow: hidden;
	background: rgba(28,34,14,.1);
}

.video-list__player iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.presentations,
.winners {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 22px;
}

.presentations__header {
	display: flex;
	align-items: center;
	gap: 12px;
}

.presentations__speaker-photo {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 auto;
}

.presentations__speaker-name {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	color: var(--muted);
}

/* бейдж победителя — тот же компонент, что «Новинка 2026» */
.winners__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
}

@media (max-width: 560px) {
	.photo-gallery,
	.video-list,
	.presentations,
	.winners {
		grid-template-columns: 1fr;
	}
}

/* ---------- 20. Первый экран премии ---------- */
.hero_premia {
	background: var(--terra);
}

/* на терракоте терракотовый бейдж не читается — белая пилюля */
.hero__eyebrow_light {
	background: #fff;
	color: var(--terra-deep);
}

/* название премии длиннее заголовка форума, поэтому кегль здесь на ступень ниже
   общего --fz-h1: фраза набирается одной величиной в три ровные строки */
.hero_premia .hero__title {
	max-width: 16ch;
	font-size: clamp(34px, 4.6vw, 56px);
	line-height: 1.08;
}

.hero_premia .hero__sub { color: #fff; }
.hero_premia .hero__meta-label { color: #fff; }

/* полоса фактов такая же, как на форуме; на терракоте белая линия и ссылка
   с прозрачностью .4 тонут, поэтому здесь они плотнее */
.hero_premia .hero__inner {
	padding-bottom: clamp(30px, 4vw, 52px);
}

.hero_premia .hero__strip {
	border-top-color: rgba(255,255,255,.32);
}

.hero_premia .hero__strip .aabout__buttons-item {
	border-bottom-color: rgba(255,255,255,.55);
	color: #fff;
}

/* ---------- 21. О премии ---------- */
/* Журнальный разворот: заголовок стоит в левом поле, лид набран в две колонки,
   задачи идут полосой под текстом. Карточка с тенью и кружки-буллеты убраны —
   структуру держат сетка и линейки, номера рисует счётчик, чтобы список
   в админке оставался обычным <ul>. */
.about-premia {
	background: var(--cream);
	padding: var(--sec-y) 0;
}

.about-premia__grid {
	display: grid;
	grid-template-columns: minmax(190px, .5fr) 1fr;
	gap: clamp(22px, 3.4vw, 48px);
	align-items: start;
}

.about-premia__title {
	margin: 0;
	line-height: .95;
}

.apr-about__lead {
	columns: 2;
	column-gap: clamp(26px, 3.4vw, 44px);
}

.apr-about__lead,
.apr-about__lead p {
	font-family: var(--font-body);
	font-size: var(--fz-lead);
	line-height: 1.6;
	color: var(--ink);
}

.apr-about__lead p { margin: 0 0 16px; }
.apr-about__lead p:first-child { margin-top: 0; }
.apr-about__lead b,
.apr-about__lead strong { color: var(--forest); font-weight: 700; }

/* полоса задач — на всю ширину разворота, под линейкой */
.apr-about__card {
	grid-column: 1 / -1;
	margin-top: clamp(14px, 2vw, 22px);
	padding-top: clamp(26px, 3vw, 36px);
	border-top: 1px solid rgba(63,75,35,.2);
}

.apr-about__card-title {
	margin-bottom: clamp(18px, 2.4vw, 26px);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 12.5px;
	line-height: 1.2;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--muted);
}

.apr-about__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	counter-reset: apr-task;
	list-style: none;
	margin: 0;
	padding: 0;
}

.apr-about__list li {
	counter-increment: apr-task;
	padding: 0 24px 0 0;
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.5;
	color: var(--ink);
}

.apr-about__list li + li {
	padding-left: 24px;
	border-left: 1px solid rgba(63,75,35,.18);
}

.apr-about__list li::before {
	content: counter(apr-task, decimal-leading-zero);
	display: block;
	margin-bottom: 10px;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 15px;
	letter-spacing: .02em;
	color: var(--terra-deep);
}

@media (max-width: 900px) {
	.about-premia__grid { grid-template-columns: 1fr; }
	.apr-about__lead { columns: 1; }
	.apr-about__list { grid-template-columns: 1fr 1fr; row-gap: 26px; }
	/* при двух колонках левая линейка нужна только у чётных */
	.apr-about__list li + li { padding-left: 0; border-left: 0; }
	.apr-about__list li:nth-child(2n) { padding-left: 24px; border-left: 1px solid rgba(63,75,35,.18); }
}

@media (max-width: 560px) {
	.apr-about__list { grid-template-columns: 1fr; row-gap: 22px; }
	.apr-about__list li:nth-child(2n) { padding-left: 0; border-left: 0; }
}

/* ---------- 22. Даты и этапы премии ---------- */
/* Расписание строками вместо карточек и кружков на пунктире: ключевые даты —
   шапка под общей линией, этапы — строки «номер · название · дата», текущий
   держится заливкой и полосой слева. Документ и почта закрывают секцию. */
.dates {
	background: var(--paper);
	padding: var(--sec-y) 0;
}

.dates__key {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-top: 2px solid var(--forest);
	border-bottom: 1px solid rgba(63,75,35,.2);
}

.dates__key-item {
	padding: clamp(20px, 2.6vw, 28px) clamp(20px, 3vw, 34px) clamp(22px, 2.8vw, 30px) 0;
}

.dates__key-item + .dates__key-item {
	padding-right: 0;
	padding-left: clamp(24px, 3.4vw, 40px);
	border-left: 1px solid rgba(63,75,35,.16);
}

.dates__value {
	margin-bottom: 10px;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: clamp(22px, 3vw, 34px);
	line-height: 1.05;
	letter-spacing: -.015em;
	color: var(--terra-deep);
}

.dates__label {
	margin: 0;
	max-width: 46ch;
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.5;
	color: var(--muted);
}

.dates__doc {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px 26px;
	margin-top: clamp(26px, 3.4vw, 36px);
	text-align: center;
}

/* кнопка-документ на светлом: белая обводка отсюда не видна — переопределяем */
.dates__doc-button .aabout__buttons-item {
	border-color: var(--forest);
	background: var(--forest);
	color: #fff;
}

.dates__doc-button .aabout__buttons-item:hover {
	background: var(--forest-deep);
	border-color: var(--forest-deep);
}

.dates__doc-button .aabout__buttons-item_soon {
	background: transparent;
	border-color: rgba(65,80,31,.3);
	color: var(--muted);
}

.dates__doc-button .aabout__buttons-item-icon-01 { fill: #fff; }

.dates__doc-button .aabout__buttons-item_soon .aabout__buttons-item-icon-01 { fill: var(--muted); }

.dates__contact {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.4;
	color: var(--muted);
}

.dates__contact a {
	font-size: 15px;
	font-weight: 700;
	color: var(--terra-deep);
	border-bottom: 1.5px solid rgba(193,87,51,.35);
}

.dates__contact a:hover { color: var(--terra-deep); border-bottom-color: var(--terra-deep); }

/* --- этапы: горизонтальный степпер --- */
.pstages { margin: clamp(34px, 4.4vw, 52px) 0 0; }

.pstages__head { margin-bottom: clamp(20px, 2.4vw, 28px); }

.pstages__title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: clamp(22px, 2.6vw, 32px);
	line-height: 1;
	color: var(--forest);
}

.pstages__list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	list-style: none;
	margin: 0;
	padding: 30px 0 0; /* место под флажок «Сейчас» над кружком */
}

/* дорожка — одна непрерывная линия через центры кружков (сегменты на каждом
   шаге давали видимые стыки); кружки перекрывают её кольцом цвета фона */
.pstages__list::before,
.pstages__list::after {
	content: "";
	position: absolute;
	top: 51px; /* padding-top списка + половина кружка */
	height: 3px;
	border-radius: 2px;
	left: var(--pstages-edge, 12.5%);
}

.pstages__list::before {
	right: var(--pstages-edge, 12.5%);
	background: rgba(65,80,31,.14);
}

.pstages__list::after {
	width: var(--pstages-progress, 0%);
	background: var(--forest);
}

.pstages__item {
	position: relative;
	padding: 0 14px;
	text-align: center;
}

.pstages__node {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: var(--cream);
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 19px;
	line-height: 1;
	color: rgba(65,80,31,.45);
	/* кольцо цвета фона секции отрезает дорожку от кружка */
	box-shadow: 0 0 0 4px var(--paper);
}

.pstages__node svg { display: block; width: 18px; height: 18px; }

.pstages__name {
	display: block;
	/* два ряда под название: даты всех этапов встают на одну линию */
	min-height: 2.5em;
	margin-bottom: 6px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(15.5px, 1.5vw, 17px);
	line-height: 1.25;
	color: rgba(43,35,24,.62);
}

.pstages__dates {
	display: block;
	font-family: var(--font-body);
	font-size: 14.5px;
	line-height: 1.35;
	color: var(--muted);
}

.pstages__badge {
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	padding: 4px 12px;
	border-radius: var(--radius-pill);
	background: var(--terra-deep);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 10.5px;
	line-height: 1.3;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #fff;
	white-space: nowrap;
}

/* текущий этап — терракотовый кружок с ореолом */
.pstages__item_current .pstages__node {
	background: var(--terra-deep);
	color: #fff;
	box-shadow: 0 0 0 4px var(--paper), 0 0 0 9px rgba(221,122,82,.22);
}

.pstages__item_current .pstages__name { color: var(--terra-deep); }
.pstages__item_current .pstages__dates { color: var(--ink); font-weight: 600; }

/* пройденные — зелёный кружок с галочкой */
.pstages__item_past .pstages__node { background: var(--forest); color: #fff; }
.pstages__item_past .pstages__name { color: var(--ink); }

/* узкие экраны: дорожка разворачивается в вертикаль */
@media (max-width: 860px) {
	.pstages__list {
		grid-template-columns: 1fr;
		padding-top: 0;
	}

	.pstages__list::before,
	.pstages__list::after { display: none; }

	.pstages__item {
		display: grid;
		grid-template-columns: 44px 1fr;
		gap: 0 16px;
		padding: 0 0 26px;
		text-align: left;
	}

	/* отрезок дорожки вниз, к кружку следующего этапа */
	.pstages__item::before {
		content: "";
		position: absolute;
		top: 52px;
		bottom: 4px;
		left: 21px;
		width: 3px;
		background: rgba(65,80,31,.14);
	}

	.pstages__item_past::before { background: var(--forest); }
	.pstages__item:last-child::before { display: none; }

	.pstages__node { margin: 0; grid-row: span 3; }

	.pstages__badge,
	.pstages__name,
	.pstages__dates { grid-column: 2; }

	.pstages__badge {
		position: static;
		transform: none;
		justify-self: start;
		margin-bottom: 8px;
	}

	.pstages__name { min-height: 0; margin: 8px 0 4px; }
	.pstages__item_current .pstages__name { margin-top: 0; }
}

@media (max-width: 900px) {
	.dates__key { grid-template-columns: 1fr; }

	.dates__key-item { padding-right: 0; }

	.dates__key-item + .dates__key-item {
		padding-left: 0;
		padding-top: clamp(20px, 2.6vw, 28px);
		border-left: 0;
		border-top: 1px solid rgba(63,75,35,.16);
	}
}

/* ---------- 23. Номинации премии ---------- */
.noms {
	background: var(--cream);
	padding: var(--sec-y) 0;
}

.noms__head {
	max-width: 640px;
	margin: 0 auto clamp(38px, 5vw, 56px);
	text-align: center;
}

.noms__lead {
	margin: 14px 0 0;
	font-size: 17px;
}

.noms__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.nom-card__media { aspect-ratio: 16 / 10; }

.nom-card__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
}

.nom-card__text.truncated {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.nom-card__toggle {
	align-self: flex-start;
	margin-bottom: 6px;
	border-bottom: 1px dashed rgba(193,87,51,.5);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	color: var(--terra-deep);
	cursor: pointer;
}

.nom-card__toggle:hover { border-bottom-color: var(--terra-deep); }

.nom-card__button { width: 100%; }

/* закрытый приём: заглушка живёт на светлой карточке, а не на терракоте */
.nom-card__button.button_apply-closed,
.nom-card__button.button_apply-closed:hover {
	background: rgba(65,80,31,.08);
	border-color: rgba(65,80,31,.16);
	color: var(--muted);
}

/* последняя карточка в неполном ряду — широкая акцентная, чтобы не висеть одна (ТЗ п.13) */
.nom-card_feature {
	grid-column: 1 / -1;
	flex-direction: row;
}

.nom-card_feature .nom-card__media {
	flex: 0 0 42%;
	aspect-ratio: auto;
	min-height: 240px;
}

.nom-card_feature .ui-card__body {
	justify-content: center;
	max-width: 640px;
}

.nom-card_feature .ui-card__title { font-size: 26px; }

@media (max-width: 900px) {
	.noms__grid { grid-template-columns: 1fr 1fr; }

	.nom-card_feature { flex-direction: column; }

	.nom-card_feature .nom-card__media {
		flex: auto;
		min-height: 0;
		aspect-ratio: 16 / 10;
	}

	.nom-card_feature .ui-card__title { font-size: 20px; }
}

@media (max-width: 560px) {
	.noms__grid { grid-template-columns: 1fr; }
}

/* ---------- 24. Организаторы ---------- */
.org {
	background: var(--paper);
	padding: var(--sec-y) 0;
}

.org__title {
	margin-bottom: clamp(24px, 3.5vw, 40px);
}

/* организатор — карточка во всю ширину, соорганизаторы — ряд ниже: иерархия
   видна раскладкой, а не только подписью роли (ТЗ п.15) */
.org__row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.org-card {
	display: flex;
	flex-direction: column;
	padding: 22px 24px 24px;
	border: 1px solid rgba(65,80,31,.08);
	border-radius: var(--radius);
	background: var(--cream);
}

.org-card_lead {
	display: grid;
	grid-template-columns: 230px 1fr;
	gap: 30px;
	align-items: start;
	padding: 26px 30px;
	margin-bottom: 20px;
}

/* Логотипы приходят с прозрачностью, поэтому живут прямо на фоне карточки.
   Ограничение по ОБЕИМ осям: плоские логотипы упираются в ширину, компактные —
   в высоту, поэтому оптический вес выравнивается без ручных размеров. */
.org-card__logo {
	display: flex;
	align-items: flex-end;
	height: 56px;
	margin-bottom: 18px;
}

.org-card__logo img {
	max-height: 46px;
	max-width: min(100%, 215px);
	object-fit: contain;
	object-position: left bottom;
}

.org-card_lead .org-card__logo {
	height: 120px;
	margin-bottom: 0;
}

.org-card_lead .org-card__logo img {
	max-height: 112px;
	max-width: 100%;
}

.org-card__role {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 11.5px;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--terra-deep);
}

/* соорганизаторы — тем же кеглем, но спокойнее по цвету */
.org-card__role_co { color: var(--muted); }

.org-card__name {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.25;
	color: var(--ink);
	margin-top: 2px;
}

.org-card_lead .org-card__name { font-size: 22px; }

.org-card__link {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.3;
	color: var(--terra-deep);
	word-break: break-word;
}

.org-card__link:hover { color: var(--terra); }

.org-card__text,
.org-card__text p {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.5;
	color: var(--muted);
}

.org-card__text { margin-top: 10px; }
.org-card__text p { margin: 0 0 8px; }
.org-card__text p:last-child { margin: 0; }

/* у лида текст короткий и широкий — в одну строку он читался бы как газетная
   полоса, поэтому две колонки */
.org-card__text_cols {
	column-count: 2;
	column-gap: 34px;
}

/* «Подробнее» без JS: описание лежит внутри summary и обрезано по строкам,
   атрибут [open] обрезку снимает. */
.org-more > summary {
	list-style: none;
	cursor: pointer;
}

.org-more > summary::-webkit-details-marker { display: none; }

.org-card__text_clamp {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	overflow: hidden;
}

.org-more[open] .org-card__text_clamp {
	display: block;
	-webkit-line-clamp: unset;
}

.org-more__toggle {
	display: inline-block;
	margin-top: 10px;
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 13.5px;
	color: var(--terra-deep);
	border-bottom: 1px dashed rgba(193,87,51,.5);
}

.org-more[open] .org-more__toggle_open,
.org-more:not([open]) .org-more__toggle_close { display: none; }

@media (max-width: 900px) {
	.org-card_lead { grid-template-columns: 1fr; gap: 20px; }
	.org-card_lead .org-card__logo { height: 92px; margin-bottom: 0; }
	.org-card_lead .org-card__logo img { max-height: 84px; }
	.org-card__text_cols { column-count: 1; }
	.org__row { grid-template-columns: 1fr; }
}

/* ---------- 25. Партнёры и информационные партнёры ---------- */
.partners {
	background: var(--cream);
	padding: var(--sec-y) 0;
}

.partners__title {
	margin-bottom: clamp(20px, 3vw, 30px);
}

.partners__subtitle {
	margin: 44px 0 18px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.25;
	color: var(--forest);
}

/* лента, а не сетка карточек: один логотип не выглядит недоделкой (ТЗ п.17, 28) */
.partners__strip {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.partner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 20px 26px;
	border: 1px solid rgba(65,80,31,.08);
	border-radius: var(--radius-sm);
	background: var(--paper);
	text-decoration: none;
	transition: transform .18s ease, box-shadow .18s ease;
}

.partner:hover {
	transform: translateY(-3px);
	box-shadow: var(--card-shadow);
}

.partner__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 88px;
	min-width: 180px;
}

.partner__logo img {
	max-height: 100%;
	max-width: 280px;
	object-fit: contain;
}

.partner__fallback {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	text-align: center;
	color: var(--forest);
}

.partner__status {
	font-family: var(--font-body);
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: var(--muted);
}

.partner_media .partner__logo { height: 68px; }

/* свободные теги партнёра («Генеральный», «Корм», «Ветеринария») — под статусом */
.partner__tags {
	justify-content: center;
	max-width: 280px;
}

/* ---------- 26. Аккредитация СМИ ---------- */
.accreditation {
	background: var(--paper);
	padding: var(--sec-y) 0;
}

.accreditation__title {
	margin-bottom: clamp(20px, 3vw, 30px);
	text-align: center;
}

.accreditation__box {
	max-width: 860px;
	margin: 0 auto;
	padding: clamp(26px, 4vw, 40px);
	border: 1px solid rgba(65,80,31,.08);
	border-radius: var(--radius);
	background: var(--cream);
	text-align: center;
}

.accreditation__text {
	margin: 0 0 18px;
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--ink);
}

.accreditation__deadline {
	margin: 0 0 12px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.4;
	color: var(--terra-deep);
}

.accreditation__note {
	margin: 0 0 28px;
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.5;
	color: var(--muted);
}

.accreditation__contacts {
	padding-top: 24px;
	border-top: 1px solid rgba(65,80,31,.12);
}

.accreditation__contacts p {
	margin: 0 0 14px;
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.5;
	color: var(--muted);
}

.accreditation__button {
	min-width: 250px;
	max-width: 320px;
	margin: 0 auto;
}

/* ---------- 27. Жюри премии ---------- */
/* жюри переехало из подвала на страницу премии и встало между «Этапами» и
   «Номинациями»: на кремовом оно слилось бы со следующей секцией, поэтому бумага —
   так цвет меняется ровно на входе в номинации */
.speakers_jury { background: var(--paper); }

/* ---------- 28. Базовое качество (ТЗ п.8) ---------- */
/* Ничто не должно вылезать за экран на 375px: длинные ссылки и заголовки переносим. */
.org-card__link,
.dates__contact a,
.person-card__name,
.ui-card__title,
.program__cell-title,
.program__plenar-title,
.hero__title,
.teaser__title { overflow-wrap: anywhere; }

img { max-width: 100%; }

/* Бейдж «Новинка 2026» на карточке номинации при узкой сетке не должен
   наезжать на логотип-обложку. */
@media (max-width: 400px) {
	.nom-card__badge {
		top: 10px;
		left: 10px;
		font-size: 10.5px;
		padding: 5px 10px;
	}
}

/* Формы авторизации и заявки живут на светлом фоне — подтягиваем их к системе. */
.aregister .button {
	width: 100%;
	margin-top: 12px;
}

.bstl-form-title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.25;
	color: var(--ink);
}

/* End */
/* /css/style.css?17879166656899 */
/* /css/reset.css?17539553523865 */
/* /css/ui.css?178799229376679 */
