

/* Start:/local/templates/svo/css/base.css?17924501804355*/
/* Токены, шрифты, сброс, типографика. Размеры в rem (1rem = настройка шрифта в браузере, обычно 16px), px только для линий и обводок. */
@font-face{font-family:"Golos Text";font-weight:400 700;font-display:swap;src:url(/local/templates/svo/css/../fonts/golos-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-weight:400 700;font-display:swap;src:url(/local/templates/svo/css/../fonts/golos-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:"Literata";font-weight:400 700;font-display:swap;src:url(/local/templates/svo/css/../fonts/literata-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Literata";font-weight:400 700;font-display:swap;src:url(/local/templates/svo/css/../fonts/literata-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}

:root{
	/* Палитра брендбука. Красный только для акцентов и тонких линий. */
	--bg:#F8F7F3;--card:#FFFFFF;--text:#18202A;--blue:#263B59;--red:#A64B45;
	--slate:#70849B;--slate-text:#5B6E85; /* slate-text темнее брендового slate: у #70849B на фоне контраст ниже AA для мелкого текста */
	--line:#DDDAD2;
	/* Производные от синего: hover кнопок, плашка «успех», светлый текст на синем фоне */
	--blue-dark:#1c2d45;--blue-tint:#EEF2F7;--on-blue:#DCE3EC;
	--sans:"Golos Text",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--serif:"Literata",Georgia,"Times New Roman",serif;
	--r-card:.75rem;--r-btn:.625rem;--section:7rem;
	--shadow-hover:0 6px 20px rgba(38,59,89,.08);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--blue);text-underline-offset:3px}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
.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}
/* Значок внешней ссылки из спрайта images/icons.svg (#i-external), его вставляет script.js. Цвет берёт у текста ссылки. */
.ext-icon{width:.75em;height:.75em;margin-left:.3em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.container{width:100%;max-width:80rem;margin:0 auto;padding:0 2rem}
.skip-link{position:absolute;left:1rem;top:-5rem;z-index:100;background:var(--blue);color:#fff;padding:.625rem 1rem;border-radius:var(--r-btn)}
.skip-link:focus{top:.75rem;color:#fff}

h1,h2{font-family:var(--serif);font-weight:400;color:var(--blue);letter-spacing:-.01em;margin:0}
h1{font-size:clamp(2.375rem,5.4vw,3.875rem);line-height:1.1}
h2{font-size:clamp(1.875rem,3.6vw,2.625rem);line-height:1.2}
h3{font:600 clamp(1.25rem,2vw,1.625rem)/1.3 var(--sans);color:var(--blue);margin:0}
p{margin:0 0 1em}
.meta{font-size:.875rem;color:var(--slate-text)}

/* Малая подпись капсом: eyebrow, бейдж, заголовок цепочки и колонок подвала */
.eyebrow,.badge,.chain__title,.site-footer__title{font:500 .8125rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-text)}
.eyebrow,.chain__title{margin:0 0 1.25rem}

/* Тонкая красная линия: разделитель, подчёркивание заголовка страницы, акцент карточки в hero */
.rule,.page__title::after,.hero__card::before{content:"";display:block;width:4.5rem;height:2px;background:var(--red)}
.rule{margin:1.5rem 0 1.75rem;border:0}

@media (max-width:53.75em){
	:root{--section:4.5rem}
	.container{padding:0 1.25rem}
}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*{transition:none!important}
}

/* End */


/* Start:/local/templates/svo/css/components.css?17924501809622*/
/* Общие компоненты: кнопки, карточки, сетка, формы, вкладки и пагинация.
   Новый блок почти всегда собирается из них: добавьте селектор в общую группу, а не пишите стили заново. */

/* Кнопки: основной CTA синий, красный как фон кнопок не используем */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:0 1.625rem;border:1.5px solid var(--blue);border-radius:var(--r-btn);background:var(--blue);color:#fff;font:500 1rem/1 var(--sans);text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:var(--blue-dark);color:#fff}
.btn--ghost{background:transparent;color:var(--blue)}
.btn--ghost:hover{background:var(--blue);color:#fff}
.btn--small{min-height:2.5rem;padding:0 1.125rem;font-size:.9375rem}
.btn:disabled{opacity:.4;cursor:default;pointer-events:none}

/* Просмотр презентации в диалоге (script.js, PDF.js из vendor) */
.deck{width:min(90rem,calc(100% - 2rem));max-height:calc(100% - 2rem);padding:0;border:1px solid var(--line);border-radius:var(--r-card);background:var(--card);color:var(--text)}
.deck::backdrop{background:rgba(24,32,42,.6)}
.deck__bar,.deck__nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1rem;padding:1rem 1.25rem}
.deck__bar{border-bottom:1px solid var(--line)}
.deck__nav{border-top:1px solid var(--line)}
.deck__title{margin:0;font:600 1.125rem/1.3 var(--sans);color:var(--blue)}
.deck__stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9;max-height:65vh;overflow:hidden;background:var(--blue-tint)}
.deck__stage canvas{display:block}
.deck__status{position:absolute;margin:0;padding:0 1rem;text-align:center;color:var(--slate-text)}
.deck__pager{display:flex;align-items:center;gap:.75rem}
.deck__count{min-width:4.5rem;text-align:center;font-size:.9375rem;color:var(--slate-text)}
body:has(.deck[open]){overflow:hidden}
.btn--light{background:#fff;color:var(--blue);border-color:#fff}
.btn--light:hover{background:var(--bg);color:var(--blue)}

/* Карточка: фон, рамка, радиус. Любой новый блок-карточка добавляется в этот список. */
.card,.tile,.news-card,.person,.partner,.doc,.form,.hero__card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card)}
.news-card,.person{overflow:hidden}
.news-card{display:flex;flex-direction:column}
.tile{padding:1.75rem}
.grid--2 .tile{padding:2.25rem}
.tile--soon{display:flex;flex-direction:column;justify-content:center;background:transparent;border-style:dashed}
.badge{display:inline-block;margin-bottom:.875rem}

/* Hover интерактивных карточек */
.tile,.news-card,.partner,.person{transition:box-shadow .2s,border-color .2s}
.tile:hover,.news-card:hover,.news-card:focus-within,a.partner:hover,.person--link:hover,.person--link:focus-within{border-color:var(--slate);box-shadow:var(--shadow-hover)}

/* Иконка плитки: линейный SVG из спрайта images/icons.svg. На hover заливается синим, сверху выезжает тонкая красная линия. */
.tile{position:relative;overflow:hidden}
.tile__icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin-bottom:1.25rem;border-radius:var(--r-btn);background:var(--blue-tint);color:var(--blue);transition:background .2s,color .2s}
.tile__icon svg{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tile:hover .tile__icon{background:var(--blue);color:#fff}
.tile:not(.tile--soon)::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.tile:hover::before{transform:none}

/* Плавное появление при прокрутке. Класс .js ставит script.js, .is-in добавляется по IntersectionObserver; --d задаёт задержку в ряду. */
@media (prefers-reduced-motion:no-preference){
	.js .tile,.js .chain li{opacity:0;transform:translateY(1rem);transition:opacity .5s ease var(--d,0s),transform .5s ease var(--d,0s),box-shadow .2s,border-color .2s}
	.js .tile.is-in,.js .chain li.is-in{opacity:1;transform:none}
}

/* Внутренности карточек: тело, заголовок, текст, метаданные */
.news-card__body,.person__body{padding:1.5rem}
.tile h3{margin-bottom:.625rem}
.person h3{margin-bottom:.375rem}
.news-card h3,.doc h3{font-size:1.25rem;margin-bottom:.5rem}
.news-card h3 a,.person h3 a{color:var(--blue);text-decoration:none}
.news-card h3 a:hover,.person h3 a:hover{color:var(--red)}
.tile p,.news-card__body p:last-child,.person__text,.doc__text{margin:0;font-size:.97rem;color:var(--slate-text)}
.news-card__meta,.doc__meta,.person__role{margin:0 0 .625rem;font-size:.875rem;color:var(--slate-text)}
.news-card__type{font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.75rem}

/* Миниатюра карточки с заглушкой-знаком. Пропорции задаёт --ratio. */
.news-card__img,.person__img{display:flex;align-items:center;justify-content:center;aspect-ratio:var(--ratio,16/10);background:var(--bg);border-bottom:1px solid var(--line)}
.person__img{--ratio:1}
.news-card__img img,.person__img img{width:100%;height:100%;object-fit:cover;display:block}
.news-card__img .news-card__ph,.person__img .person__ph{width:4rem;height:auto;object-fit:contain;opacity:.35}

/* Партнёр, документ */
.partner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.875rem;min-height:10rem;padding:1.5rem;text-align:center;color:var(--blue);font-weight:500;text-decoration:none}
.partner img{display:block;max-width:100%;height:auto;max-height:4.5rem;width:auto;object-fit:contain}
.doc{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem}
.doc .btn{flex:none}

/* Сетка: колонки сворачиваются 4/3 → 2 → 1. Без модификатора .grid даёт одну колонку (список документов). */
.grid{display:grid;gap:1.5rem}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}

/* Списки без маркеров */
.docs,.chain,.event-facts{list-style:none;margin:0;padding:0}

/* Формы: все поля стилизуются от контейнера .form, под новое поле CSS не нужен */
.form{padding:2.25rem;color:var(--text)}
.form label{display:block;margin:0 0 .375rem;font:500 .9375rem/1.3 var(--sans);color:var(--blue)}
.form :where(input:not([type=checkbox],[type=radio],[type=hidden]),select,textarea){width:100%;min-height:3rem;padding:.75rem .875rem;margin-bottom:1.125rem;border:1.5px solid var(--line);border-radius:var(--r-btn);background:#fff;font:400 1rem/1.4 var(--sans);color:var(--text)}
.form textarea{min-height:8rem;resize:vertical}
.form :where(input,select,textarea):focus-visible{outline:3px solid var(--blue);outline-offset:0;border-color:var(--blue)}
.form__consent{display:flex;gap:.625rem;align-items:flex-start;margin-bottom:1.375rem}
.form__consent input{width:1.25rem;height:1.25rem;margin:.125rem 0 0;flex:none;accent-color:var(--blue)}
.form__consent label{margin:0;font:400 .875rem/1.5 var(--sans);color:var(--slate-text)}
.form .btn{width:100%}
.notice{padding:.875rem 1rem;margin-bottom:1.25rem;border-radius:var(--r-btn);font-size:.9375rem;border:1px solid var(--line)}
.notice--ok{border-color:var(--blue);background:var(--blue-tint);color:var(--blue)}
.notice--err{border-color:var(--red);color:var(--red)}

/* Чипы: вкладки и пагинация (стандартный шаблон modern) выглядят одинаково.
   :where() обнуляет специфичность базы, чтобы .is-active и .modern-page-current её перебивали. */
.tabs,.modern-page-navigation{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.tabs{margin-bottom:2.5rem}
.tabs + .tabs{margin-top:-1.5rem}
.tabs__item,:where(.modern-page-navigation) :where(a,span):not(.modern-page-title){display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:0 1rem;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--card);color:var(--text);font-weight:500;text-decoration:none}
.tabs__item:hover,.modern-page-navigation a:hover{border-color:var(--blue);color:var(--blue)}
.tabs__item.is-active,.modern-page-navigation .modern-page-current{background:var(--blue);border-color:var(--blue);color:#fff}
.modern-page-navigation{margin-top:3rem}
.modern-page-title{margin-right:.5rem;color:var(--slate-text);font-size:.875rem}
.modern-page-navigation .modern-page-dots{border:0;background:none}

@media (max-width:68.75em){
	.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:53.75em){
	.doc{flex-direction:column;align-items:flex-start}
}
@media (max-width:35em){
	.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
	.form{padding:1.5rem}
}


/* End */


/* Start:/local/templates/svo/css/layout.css?17924501808491*/
/* Каркас: шапка, подвал, секции главной, внутренние страницы. Общие компоненты лежат в components.css. */

/* Шапка */
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,247,243,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header__row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4.75rem}
.logo{display:flex;align-items:center;gap:.875rem;text-decoration:none;color:var(--blue)}
.logo__img{display:block;height:2.75rem;width:auto;flex:none}
.logo__text{font:600 .9375rem/1.25 var(--serif);letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.logo__mark{display:block;height:2.5rem;width:auto}
.site-nav{display:flex;align-items:center;gap:2rem}
.site-nav a:not(.btn){color:var(--text);text-decoration:none;font-weight:500;font-size:1rem}
.site-nav a:not(.btn):hover{color:var(--red)}
.nav-toggle{display:none;min-height:2.75rem;padding:0 1rem;border:1.5px solid var(--blue);border-radius:var(--r-btn);background:transparent;color:var(--blue);font:500 .9375rem var(--sans);cursor:pointer}

/* Секции */
.section{padding:var(--section) 0}
/* Главная: чётные секции белые, считается от hero. Блок партнёров может отсутствовать, чередование от этого не ломается */
.is-home main>.section:nth-of-type(even):not(.join){background:var(--card);border-block:1px solid var(--line)}
.section__head{max-width:45rem;margin-bottom:3.5rem}
.section__head p{color:var(--slate-text);margin:0}
.section__head .rule{margin:1.25rem 0 1.375rem}

/* Две колонки: hero, CTA с формой, контакты */
.hero__grid,.join__grid,.contacts{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:start}
.hero__grid{grid-template-columns:1.25fr 1fr;align-items:center}

/* Hero */
.hero{padding:6rem 0 var(--section)}
.hero__lead{font-size:1.25rem;line-height:1.6;color:var(--text);max-width:35rem;margin:0 0 2.25rem}
.hero__actions,.page__actions{display:flex;flex-wrap:wrap;gap:1rem}
.hero__card{padding:3rem 2.75rem;position:relative}
.hero__card::before{position:absolute;left:2.75rem;top:0}
.hero__card img{display:block;height:4.5rem;width:auto;margin-bottom:1.75rem}
.hero__quote{font:400 1.625rem/1.4 var(--serif);color:var(--blue);margin:0}
.hero__deck{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.hero__deck .btn{height:auto;padding-block:.75rem;line-height:1.3;text-align:center}

/* О проекте */
.about__tasks{margin-bottom:4.5rem}
.chain{display:flex;flex-wrap:wrap;gap:.75rem 0;counter-reset:step}
.chain li{counter-increment:step;display:flex;align-items:center;font:500 1rem/1.3 var(--sans);color:var(--blue)}
.chain li span{padding:.75rem 1.25rem;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--bg);transition:background .2s,color .2s,border-color .2s}
.chain li:hover span{background:var(--blue);border-color:var(--blue);color:#fff}
.chain li:not(:last-child)::after{content:"";width:1.75rem;height:1px;background:var(--red);margin:0 .25rem}

/* CTA и форма на синем фоне */
.join{background:var(--blue);color:#fff}
.join h2{color:#fff}
.join__text p{color:var(--on-blue);font-size:1.125rem;max-width:30rem}
.join .rule{background:#fff;opacity:.6}

/* Подвал */
.site-footer{background:#fff;border-top:1px solid var(--line);padding:3.5rem 0 1.75rem}
.site-footer__row{display:flex;justify-content:space-between;gap:2.5rem;flex-wrap:wrap}
.site-footer .logo__mark{margin-bottom:1rem}
.site-footer__org{font-weight:600;color:var(--blue);margin:0 0 .25rem}
.site-footer__motto{font-family:var(--serif);color:var(--slate-text);margin:0}
.site-footer__title{margin:0 0 .375rem}
.site-footer nav{display:flex;flex-direction:column;gap:.625rem;min-width:11.25rem}
.site-footer nav a{color:var(--text);text-decoration:none}
.site-footer nav a:hover{color:var(--red);text-decoration:underline}
.site-footer__copy{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.875rem;color:var(--slate-text)}
.site-footer__copy a{color:inherit}

/* Внутренние страницы */
.page{padding-top:4rem;padding-bottom:var(--section)}
.crumbs{margin:0 0 1.5rem;font-size:.875rem}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.25rem .5rem;margin:0;padding:0;list-style:none;color:var(--slate-text)}
.crumbs li + li::before{content:"/";margin-right:.5rem;color:var(--line)}
.crumbs a{color:var(--slate-text);text-decoration:none}
.crumbs a:hover{color:var(--blue);text-decoration:underline}
.page__title{margin-bottom:2.5rem}
.page__title::after{margin-top:1.5rem}
.page__h2{font-size:clamp(1.625rem,3vw,2rem);margin:3.5rem 0 1.5rem}
.page__actions{margin-top:3rem}
.prose{max-width:47.5rem}
.prose p{font-size:1.125rem}

/* Новость и событие */
.news-more{margin-top:2.75rem}
.related{margin:3rem 0 2rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.article__cover{display:block;width:100%;height:auto;border-radius:var(--r-card);margin:0 0 2rem}
.article__text{font:400 1.1875rem/1.75 var(--serif)}
.article__text img{border-radius:var(--r-card)}
.article__media{display:block;width:100%;margin:0 0 2rem;border-radius:var(--r-card)}
.article .lead{font:400 1.3125rem/1.6 var(--serif);color:var(--slate-text)}
.article .meta a{color:inherit}
.event-facts{margin-bottom:1.75rem;padding:1.125rem 1.375rem;border:1px solid var(--line);border-left:2px solid var(--red);border-radius:var(--r-btn);background:var(--card)}
.event-facts li{margin:.125rem 0}

/* Ближайшее событие: та же .news-card, одна на всю ширину */
.news-next{margin-bottom:3rem}
.news-next__title{font-size:1.75rem;margin-bottom:1.25rem}
.news-next .grid{grid-template-columns:1fr}
.news-next .news-card{flex-direction:row}
.news-next .news-card__img{--ratio:auto;flex:0 0 42%;min-height:16.25rem;border-bottom:0;border-right:1px solid var(--line)}
.news-next .news-card__body{align-self:center;padding:2.25rem 2.5rem}
.news-next .news-card h3{font-size:1.75rem}

/* Кнопка «Наверх» (это .btn): показывается после прокрутки (script.js), ниже шапки по z-index */
.to-top{position:fixed;right:1.5rem;bottom:1.5rem;z-index:40;width:3rem;padding:0;visibility:hidden;opacity:0;transform:translateY(.5rem);transition:opacity .2s,transform .2s,visibility 0s linear .2s,background .15s,box-shadow .2s}
.to-top.is-visible{visibility:visible;opacity:1;transform:none;transition-delay:0s}
.to-top:hover{box-shadow:var(--shadow-hover)}

/* Адаптив. Брейкпоинты в em (1100px, 860px, 560px при шрифте 16px), чтобы учитывать размер шрифта в браузере. */
@media (max-width:68.75em){
	.hero__grid,.join__grid,.contacts{gap:3rem}
}
@media (max-width:53.75em){
	.nav-toggle{display:inline-flex;align-items:center}
	.site-nav{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:.5rem 1.25rem 1.25rem;visibility:hidden;opacity:0;transform:translateY(-.5rem);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
	.site-nav.is-open{visibility:visible;opacity:1;transform:none;transition-delay:0s}
	.site-nav a:not(.btn){padding:.875rem 0;border-bottom:1px solid var(--line)}
	.site-nav .btn{margin-top:1rem}
	.hero{padding-top:3.5rem}
	.hero__grid,.join__grid,.contacts{grid-template-columns:1fr;gap:2.5rem}
	.hero__card{padding:2.25rem 1.75rem}
	.hero__card::before{left:1.75rem}
	.hero__quote{font-size:1.375rem}
	.chain{gap:.625rem}
	.chain li:not(:last-child)::after{display:none}
	.news-next .news-card{flex-direction:column}
	.news-next .news-card__img{--ratio:16/10;flex:none;min-height:0;border-right:0;border-bottom:1px solid var(--line)}
	.news-next .news-card__body{padding:1.5rem}
	.news-next .news-card h3{font-size:1.5rem}
}
@media (max-width:35em){
	.logo{gap:.625rem;min-width:0}
	.logo__img{height:2.125rem}
	.logo__text{font-size:.6875rem;letter-spacing:.03em}
	.to-top{right:1rem;bottom:1rem}
	.article__text{font-size:1.125rem}
	.hero__actions .btn,.page__actions .btn,.doc .btn{width:100%}
}


/* End */
/* /local/templates/svo/css/base.css?17924501804355 */
/* /local/templates/svo/css/components.css?17924501809622 */
/* /local/templates/svo/css/layout.css?17924501808491 */
