

/* Start:/local/templates/festonika/components/bitrix/news.list/home_hero/home.css?17913597626725*/
/*
 * Раскладка секций главной, которые собирает сам /index.php: сетки «заголовок + компонент»,
 * блок «Подбор» с формой, стыки кремовых секций. У этих секций нет своего компонента
 * (или в них два компонента сразу), поэтому стили не в style.css какого-то одного шаблона,
 * а здесь; подключает файл index.php. Лежит рядом с героем, потому что оба — только для главной.
 * Когда у формы «Подбор» появится свой компонент (шаг 8), её стили переедут в его шаблон.
 *
 * Общие классы (.section, .shell, .block-head, .btn, .eyebrow…) — каркас, здесь не переопределяются;
 * где нужен другой отступ, чем у .section, — селектор с двумя классами.
 * Значения — прототип app.js (строки 454–487, 489–537, 552–578, 580–606, 608–623, 625–666) и §2 контракта.
 */

/* Цифры + «Как это чувствуется» (тёмная секция) */
.section.home-story{padding:70px 0 90px}
.home-story__grid{display:grid;grid-template-columns:minmax(260px,.9fr) 1.4fr;gap:46px;align-items:start}
.home-story__head{position:sticky;top:110px}

/* Сезон: ссылка «Фильтры, архив и все даты →» в строке надзаголовка (включаемая область sezon.php).
   Отступ якоря #season под шапкой здесь не задаётся — его для всех [id] задаёт каркас. */
.home-season .block-head .eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.home-season .block-head .eyebrow a{font-size:14px;font-weight:600;letter-spacing:normal;text-transform:none;white-space:nowrap}

/* «Как всё устроено» + «Чего не будет» */
.home-how__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,5vw,96px);align-items:start}
.home-how .block-head h2{max-width:18ch;margin-bottom:30px}

/* Отзывы и новости: надзаголовок, строка «h2 | Все … →» (.block-head--row — каркас, внутри включаемой
   области), лид. Ширины и отступ под лидом — прототип (строки 585–588, 649–653) */
.home-reviews-block .block-head h2{max-width:22ch}
.home-news-block .block-head h2{max-width:18ch}
.home-reviews-block .block-head p:not(.eyebrow),.home-news-block .block-head p:not(.eyebrow){max-width:60ch;margin-bottom:30px}
.home-hash{color:var(--blue);overflow-wrap:anywhere}
/* #тотсамыйоргкомитет в заголовке новостей — ссылка на Telegram-канал. Синий рядом с тёмным текстом h2
   различается хуже 3:1, поэтому ссылку выдаёт не только цвет, но и подчёркивание — приглушённое, чтобы
   заголовок остался близок к макету (там хештег без линии) */
a.home-hash{text-decoration:underline;text-decoration-thickness:.05em;text-underline-offset:.14em;text-decoration-color:rgba(31,75,216,.4)}
a.home-hash:hover{color:var(--blue-hover);text-decoration-color:currentColor}

/* Родители о поездках (тёмная секция): h2 и лид — прототип, строки 611–612 */
.home-parents-block .block-head h2{max-width:22ch;margin-bottom:12px}
.home-parents-block .block-head p:not(.eyebrow){max-width:60ch;margin-bottom:34px}

/* Кремовые секции подряд (отзывы → подбор → новости) не должны давать двойной отступ.
   Между отзывами и подбором бывает тёмный блок родителей — тогда у подбора обычный отступ сверху, как в макете */
.home-reviews-block+.home-podbor{padding-top:0}
.section.home-news-block{padding-top:0}

/* Подбор + короткая форма */
.home-podbor__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
.home-podbor .block-head h2{font-size:clamp(26px,2.4vw,34px);line-height:1.06}
.home-podbor__curator{display:flex;align-items:center;gap:14px;max-width:400px;padding:16px;border-radius:20px;background:var(--white);font-size:14px}
.home-podbor__curator-sub{color:var(--muted)}
.home-podbor__curator-sub a{color:inherit}
.home-podbor__curator-sub a:hover{color:var(--blue)}
.home-podbor__chips{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0;padding:0;list-style:none;font-size:14px;color:var(--text-muted)}
.home-podbor__chips li{padding:8px 14px;border-radius:999px;background:var(--white)}

.home-podbor__form{display:grid;gap:11px;padding:28px;border-radius:28px;background:var(--night)}
.home-podbor__form-title{margin:0 0 4px;font-family:var(--font-display);font-weight:600;font-size:19px;color:var(--white)}
.home-podbor__field{display:block;width:100%;min-height:50px;padding:14px 17px;border:1.5px solid var(--night-border);border-radius:15px;background:var(--night-2);color:var(--white);font:inherit;font-size:16px}
.home-podbor__field::placeholder{color:var(--on-dark-muted);opacity:1}
.home-podbor__field:focus{border-color:var(--gold);outline:2px solid var(--gold);outline-offset:1px}
textarea.home-podbor__field{resize:vertical}
.home-podbor__consent{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--on-dark-muted)}
.home-podbor__consent input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:var(--gold)}
.home-podbor__consent a{color:var(--on-dark-soft)}
.home-podbor__consent a:hover{color:var(--gold)}
.home-podbor__submit{justify-content:center;width:100%}
/* форма тёмная, а класса .section--night у неё нет: синяя рамка фокуса каркаса на #0A1226 почти не видна
   (2,7:1 при нужных 3:1) — на тёмном она золотая, как в .section--night */
.home-podbor__form :focus-visible{outline-color:var(--gold)}

@media (max-width:899.98px){
    .home-story__grid,.home-how__grid,.home-podbor__grid{grid-template-columns:1fr}
    .home-story__head{position:static}
    .home-hash{font-size:24px}
    .home-podbor .block-head h2{font-size:25px}
}
@media (min-width:900px){
    .section.home-season{padding-bottom:96px}
}

/* End */


/* Start:/local/templates/festonika/components/bitrix/news.list/fest_cards/style.css?17914675318722*/
/* Карточки фестивалей (главная и каталог). Значения — из прототипа (app.js, строки 500–533) и docs/step5-contract.md §2, §7. */

.fest-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
/* Панель фильтра без JavaScript не нужна: класс js ставит встроенный скрипт в <head> до отрисовки (header.php) */
html:not(.js) .fest-filter{display:none}

.fest-card{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-card);overflow:hidden;background:var(--white);box-shadow:var(--shadow-card);transition:transform .4s var(--ease),box-shadow .4s ease}
.fest-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}
/* фокус с клавиатуры на названии подсвечивает всю карточку — она и есть ссылка;
   где :has не поддерживается, остаётся рамка фокуса на самой ссылке — она на тёмной подложке фото, поэтому золотая */
.fest-card__link:focus-visible{outline-color:var(--gold)}
@supports selector(:has(a)){
    .fest-card:has(.fest-card__link:focus-visible){outline:3px solid var(--blue);outline-offset:3px}
    .fest-card__link:focus-visible{outline:none}
}

/*
 * Картинка и надписи поверх неё — слоями одной ячейки сетки, без position:absolute у надписей.
 * Иначе растянутая ссылка (::after) растянулась бы только на блок надписей, а не на всю карточку:
 * абсолютный ::after отсчитывается от ближайшего позиционированного предка, им должна быть .fest-card.
 * z-index у элемента сетки поднимает слой над картинкой (у неё transform при наведении),
 * не делая его позиционированным.
 */
.fest-card__media{display:grid;grid-template:1fr/1fr;height:230px;overflow:hidden;background:var(--night-2)}
.fest-card__media>*{grid-area:1/1}
.fest-card__img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 34%;display:block;transition:transform .7s var(--ease)}
.fest-card:hover .fest-card__img{transform:scale(1.07)}
.fest-card__overlay{z-index:1;display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:16px 18px 16px 16px;background:linear-gradient(180deg,rgba(10,18,38,.5) 0%,rgba(10,18,38,0) 40%,rgba(10,18,38,.72) 100%)}

/* на узкой карточке статус уходит под даты целиком, а не ломает «24–26 октября» на две строки */
.fest-card__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:flex-start}
.fest-card__dates{background:rgba(251,248,242,.94);color:var(--night);border-radius:14px;padding:8px 13px;font-family:var(--font-display);font-weight:600;font-size:14px;line-height:1.15}
/* 11px на полупрозрачной плашке поверх фото: --muted над тёмным снимком даёт 4,07:1, --text-muted — 4,69:1 (AA) */
.fest-card__dow{display:block;font-family:var(--font-body);font-size:11px;font-weight:500;color:var(--text-muted)}
.fest-card__dow--holiday{color:var(--blue)}
.fest-card__status{border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;white-space:nowrap}

.fest-card__caption{padding-left:2px;color:var(--white)}
.fest-card__title{margin:0;font-family:var(--font-display);font-size:21px;font-weight:600;line-height:1.12;letter-spacing:normal;color:var(--white)}
.fest-card__link,.fest-card__link:hover{color:inherit;text-decoration:none}
.fest-card__link::after{content:"";position:absolute;inset:0}
.fest-card__meta{margin:0;font-size:14px;color:var(--on-dark-soft)}

.fest-card__body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
/* подвал карточки прижат книзу: в ряду сетки цены и кнопки стоят на одной линии при разной длине анонса */
.fest-card__feature{margin:0 0 14px;min-height:42px;font-size:14px;color:var(--text-muted);text-wrap:pretty}
.fest-card__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.fest-card__price{flex:1 1 auto}
.fest-card__price-value{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.01em;white-space:nowrap}
.fest-card__price-note{font-size:12px;color:var(--muted)}
/* кнопки — над растянутой ссылкой карточки */
.fest-card__actions{position:relative;z-index:2;display:flex;gap:7px;flex:0 0 auto}

/* Плитка «Ещё N фестивалей» */
.fest-more{display:flex;flex-direction:column;justify-content:space-between;min-height:360px;padding:28px;border-radius:var(--radius-card);background:var(--night);color:var(--white);text-decoration:none;transition:transform .4s var(--ease),box-shadow .4s ease}
.fest-more:hover{color:var(--white);transform:translateY(-6px);box-shadow:0 22px 50px rgba(10,18,38,.22)}
/* рамка фокуса плитки — синяя, общая каркаса: она рисуется с отступом снаружи плитки, на кремовом фоне
   секции, где золотая не видна (1,3:1) */
.fest-more__title{font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1.12;letter-spacing:-.02em;color:var(--white);text-wrap:balance}
.fest-more__text{margin-top:12px;font-size:15px;color:var(--on-dark-muted);text-wrap:pretty}
.fest-more__cta{margin-top:24px}

@media (max-width:899.98px){
    .fest-cards{grid-template-columns:1fr}
    .fest-card__price-value{font-size:20px}
}

/* ---------- Шаг 9: панель фильтра каталога и архива (прототип app.js:690–698), пустое состояние, архивная карточка ---------- */
/* скрытая фильтром карточка: у .fest-card свой display, атрибут hidden его сам не перебьёт */
.fest-cards [hidden],.fest-cards[hidden]{display:none!important}
.fest-filter__panel{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:16px;border-radius:24px;background:var(--white);box-shadow:var(--shadow-card)}
.fest-filter__field{flex:1 1 160px;min-width:0}
.fest-filter__select{display:block;width:100%;min-height:50px;padding:13px 15px;border:1.5px solid var(--line);border-radius:15px;background:var(--white);color:var(--ink);font:inherit;font-size:16px}
.fest-filter__select:focus{border-color:var(--blue);outline:2px solid var(--blue);outline-offset:1px}
.fest-filter__reset{min-height:50px;padding:13px 18px;border:1.5px solid var(--line);border-radius:999px;background:var(--cream);color:var(--ink);font:inherit;font-size:14px;font-weight:500;cursor:pointer}
.fest-filter__reset:hover{border-color:var(--night)}
.fest-filter__meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:26px 0 16px;font-size:14px;color:var(--text-muted)}
.fest-filter__meta p{margin:0}

.fest-empty{padding:56px 24px;border-radius:28px;background:var(--white);text-align:center}
.fest-empty__title{margin:0;font-family:var(--font-display);font-size:22px;font-weight:600}
.fest-empty__text{max-width:46ch;margin:10px auto 22px;color:var(--text-muted)}
.fest-empty__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

.fest-cards--archive{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.fest-card__media--archive{height:210px}
.fest-card__when{margin:0;font-size:13px;color:var(--muted)}
.fest-card__title--archive{margin:6px 0;font-size:19px;color:var(--ink)}
.fest-card__stats{margin:0 0 12px;font-size:14px;color:var(--text-muted)}
/* ссылки архивной карточки — над растянутой ссылкой названия */
.fest-card__links{position:relative;z-index:2;display:flex;gap:16px;flex-wrap:wrap;margin-top:auto;font-size:14px;font-weight:600}

@media (max-width:899.98px){
    .fest-cards--archive{grid-template-columns:1fr}
    /* по одному списку в строку: в половине ширины 360px подписи «Даты / период», «Статус заявок» обрезались */
    .fest-filter__field{flex-basis:100%}
    .fest-filter__reset{flex:1 1 100%}
    .fest-filter__meta{margin-top:18px}
}

/* End */


/* Start:/local/templates/festonika/components/bitrix/news.list/home_hero/style.css?17908733563208*/
/* Первый экран главной. Значения — прототип app.js, строки 423–445; размеры — docs/step5-contract.md §2 (heroH, heroTopPad, heroTitle, heroLead). */

/* Подтяг под прозрачную шапку (html.js body.has-hero) делает общее правило каркаса для первого блока .site-main — здесь не дублируется */
.home-hero{position:relative;display:flex;flex-direction:column;min-height:92vh;overflow:hidden;background:var(--night);color:var(--white)}

.home-hero__bg{position:absolute;inset:-8% -4%;animation:kb 22s ease-out infinite alternate}
.home-hero__img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 32%}
.home-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,38,.86) 0%,rgba(10,18,38,.42) 34%,rgba(10,18,38,.72) 72%,var(--night) 100%)}

.home-hero__inner{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;width:100%;max-width:var(--shell);margin:0 auto;padding:110px var(--gutter) 46px}
.home-hero__badge{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:7px 16px;border:1px solid rgba(255,255,255,.32);border-radius:999px;font-size:13px;font-weight:500;letter-spacing:.02em}
.home-hero__dot{display:block;flex:0 0 auto;width:7px;height:7px;border-radius:999px;background:var(--gold)}
.home-hero__title{max-width:16ch;margin:0 0 20px;font-family:var(--font-display);font-weight:800;font-size:clamp(44px,5.6vw,112px);line-height:.98;letter-spacing:-.03em;color:var(--white);text-wrap:balance;overflow-wrap:anywhere;hyphens:auto}
.home-hero__lead{max-width:44ch;margin:0 0 30px;font-size:20px;color:var(--on-dark-soft);text-wrap:pretty}
.home-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
/* герой тёмный, а класса .section--night у него нет: синяя рамка фокуса каркаса на тёмном почти не видна
   (2,7:1 при нужных 3:1) — здесь она золотая */
.home-hero :focus-visible{outline-color:var(--gold)}
.home-hero__play{font-size:13px}

/* Эмблема и «листайте ↓» — только от 900px */
.home-hero__aside{position:absolute;right:var(--gutter);bottom:46px;display:flex;align-items:flex-end;gap:26px}
.home-hero__cue{text-align:right;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.home-hero__cue-arrow{display:block;margin-top:6px;font-size:20px;animation:cue 1.9s ease-in-out infinite}
.home-hero__emblem{display:block;width:clamp(130px,11vw,180px);height:auto;opacity:.94}

@media (max-width:899.98px){
    .home-hero{min-height:88vh}
    .home-hero__inner{padding-top:90px}
    .home-hero__title{font-size:36px}
    .home-hero__lead{font-size:17px}
    .home-hero__aside{display:none}
}
/* Короткий лид — только на телефоне: на планшете полный умещается в две-три строки */
.home-hero__lead--short{display:none}
@media (max-width:599.98px){
    .home-hero__lead--wide{display:none}
    .home-hero__lead--short{display:block}
}

/* End */


/* Start:/local/templates/festonika/components/bitrix/news.list/home_marquee/style.css?1790252039904*/
/* Бегущая строка городов. Прототип app.js, строки 447–452; @keyframes marq — в template_styles.css (каркас). */

.home-marquee{overflow:hidden;padding:22px 0;background:var(--night);color:var(--white);border-bottom:1px solid var(--night-line)}
.home-marquee__belt{display:flex;width:max-content;font-family:var(--font-display);font-weight:600;font-size:20px;letter-spacing:-.01em;white-space:nowrap;animation:marq var(--marq-dur,34s) linear infinite}
/* наведение останавливает строку — движущийся текст должно быть можно остановить */
.home-marquee:hover .home-marquee__belt{animation-play-state:paused}
.home-marquee__track,.home-marquee__group{display:flex;align-items:center;gap:34px}
.home-marquee__track{padding-right:34px}
.home-marquee__star,.home-marquee__tag{color:var(--gold)}

/* End */


/* Start:/local/templates/festonika/components/bitrix/news.list/home_stats/style.css?1790252039655*/
/* Цифры главной (тёмная секция). Прототип app.js, строки 456–461. */

.home-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:28px;margin:0 0 64px;padding:0 0 52px;list-style:none;border-bottom:1px solid var(--night-line)}
/* без сцен ниже разделитель не нужен */
.home-stats:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.home-stats__item{margin:0}
.home-stats__num{font-family:var(--font-display);font-size:52px;font-weight:700;line-height:1;color:var(--gold)}
.home-stats__label{margin-top:8px;font-size:14px;color:var(--on-dark-muted)}

/* End */


/* Start:/local/templates/festonika/components/bitrix/news.list/home_scenes/style.css?17902520391358*/
/* Сцены «Как это чувствуется». Прототип app.js, строки 470–483; высота сцены — sceneH (§2): 340 / 420px. */

.home-scenes{display:grid;gap:24px}
.home-scene{position:relative;overflow:hidden;border-radius:28px;background:var(--night-2)}
.home-scene__media{position:relative;height:420px;overflow:hidden}
/* картинка выше рамки на 28%: запас для параллакса, края не показываются при сдвиге */
.home-scene__img{position:absolute;top:-14%;left:0;display:block;width:100%;height:128%;object-fit:cover;object-position:center 35%}
.home-scene__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,38,.15),rgba(10,18,38,.9))}
.home-scene__text{position:absolute;left:26px;right:26px;bottom:24px;z-index:1;color:var(--white)}
.home-scene__num{margin:0 0 8px;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--gold)}
.home-scene__title{margin:0 0 8px;font-family:var(--font-display);font-size:24px;font-weight:600;line-height:1.15;letter-spacing:normal;color:var(--white);text-wrap:balance}
.home-scene__desc{max-width:52ch;margin:0;font-size:15px;color:var(--on-dark-soft);text-wrap:pretty}

@media (max-width:899.98px){
    .home-scene__media{height:340px}
}

/* End */


/* Start:/local/templates/festonika/components/bitrix/news.list/home_video/style.css?17918179301608*/
/* Блок видео. Прототип app.js, строки 539–550; вертикальные поля — videoPad (§2): 76 / 104px. @keyframes pulse — каркас. */

.home-video{position:relative;overflow:hidden;background:var(--night);color:var(--white)}
.home-video__bg{position:absolute;inset:0}
/* картинка выше блока на 18%: запас для параллакса */
.home-video__img{position:absolute;top:-9%;left:0;display:block;width:100%;height:118%;object-fit:cover;object-position:center 34%}
.home-video__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,38,.82),rgba(10,18,38,.62))}
.home-video__inner{position:relative;display:flex;flex-direction:column;align-items:center;max-width:var(--shell);margin:0 auto;padding:104px var(--gutter);text-align:center}
.home-video__play{display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin-bottom:26px;border-radius:999px;background:var(--gold);color:var(--night);font-size:30px;text-decoration:none;position:relative;--pulse-to:1.46}
.home-video__play:hover{background:var(--gold-hover);color:var(--night)}
.home-video__play:focus-visible{outline:3px solid var(--white);outline-offset:4px}
.home-video__kicker{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.home-video__title{max-width:22ch;color:var(--white)}
.home-video__text{max-width:52ch;margin:0 0 8px;color:var(--on-dark-soft);text-wrap:pretty}

@media (max-width:899.98px){
    .home-video__inner{padding:76px var(--gutter)}
}

/* End */


/* Start:/local/templates/festonika/components/bitrix/news.list/home_steps/style.css?1790252039649*/
/* Шаги после заявки. Прототип app.js, строки 557–564. */

.home-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.home-steps__item{display:flex;align-items:flex-start;gap:20px;padding:18px 22px;border-radius:20px;background:var(--cream)}
.home-steps__num{flex:0 0 28px;font-family:var(--font-display);font-weight:700;font-size:22px;line-height:1.1;color:var(--blue)}
.home-steps__title{margin:0;font-family:var(--font-body);font-weight:600;font-size:17px;line-height:1.55;letter-spacing:normal;color:var(--ink)}
.home-steps__text{margin:3px 0 0;font-size:14px;color:var(--text-muted);text-wrap:pretty}

/* End */


/* Start:/local/templates/festonika/components/bitrix/news.list/home_fears/style.css?1790252039861*/
/* «Чего не будет». Прототип app.js, строки 566–576; отступ списка сверху — fearsTop (§2): 0 / 104px. */

.home-fears__list{display:grid;gap:12px;margin:104px 0 0;padding:0;list-style:none}
.home-fears__item{padding:22px 24px;border:1.5px solid var(--line);border-radius:22px;transition:border-color .3s ease,transform .4s var(--ease)}
.home-fears__item:hover{border-color:var(--night);transform:translateX(6px)}
.home-fears__title{margin:0;font-family:var(--font-display);font-weight:600;font-size:19px;line-height:1.3;letter-spacing:-.01em;color:var(--ink);text-decoration:line-through;text-decoration-color:var(--gold);text-decoration-thickness:3px}
.home-fears__text{margin:8px 0 0;font-size:15px;color:var(--text-muted);text-wrap:pretty}

@media (max-width:899.98px){
    .home-fears__list{margin-top:0}
}

/* End */


/* Start:/local/templates/festonika/components/bitrix/news.list/home_reviews/style.css?17918179303951*/
/* Отзывы руководителей и плитка видео. Прототип app.js, строки 588–603; reviewMin / reviewDir (§2). */

.home-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px}

.home-review{display:flex;flex-direction:column;overflow:hidden;border-radius:28px;background:var(--white);box-shadow:var(--shadow-card)}
/* 09.10.2026, документ заказчика: на экране ноутбука карточка не помещалась — фото чуть ниже (16:9 вместо 16:10),
   цитата — шрифтом текста, не заголовочным, и до шести строк; целиком — на странице отзыва */
.home-review__media{position:relative;aspect-ratio:16/9;overflow:hidden}
.home-review__img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 32%;transition:transform .7s var(--ease)}
.home-review:hover .home-review__img{transform:scale(1.06)}
.home-review__where{position:absolute;left:14px;bottom:14px;padding:6px 12px;border-radius:999px;background:rgba(10,18,38,.86);color:var(--white);font-size:12px}
.home-review__body{display:flex;flex-direction:row;align-items:flex-start;gap:16px;padding:22px 26px 26px}
.home-review__avatar{flex:0 0 auto;width:50px;height:50px;border-radius:999px;object-fit:cover}
/* цитата с подписью — <figure>: снимаем его поля по умолчанию (40px по бокам) */
.home-review__text{flex:1 1 auto;min-width:0;margin:0}
.home-review__quote{margin:0 0 8px}
.home-review__quote p{display:-webkit-box;margin:0;overflow:hidden;font-family:var(--font-body);font-weight:400;font-size:15px;line-height:1.55;color:var(--ink);text-wrap:pretty;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6}
.home-review__more{margin:0 0 12px;font-size:14px}
.home-review__more a{color:var(--blue);font-weight:600;text-underline-offset:.2em}
.home-review__more a::after{content:"\00a0→"}
.home-review__who{font-size:14px;font-weight:600}
.home-review__meta{font-size:13px;color:var(--muted)}

/* Плитка видео: вся плитка — ссылка на ролик */
.home-reviews__video{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;overflow:hidden;border-radius:28px;background:var(--night);color:var(--white);text-decoration:none}
.home-reviews__video:hover{color:var(--white)}
.home-reviews__video:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.home-reviews__video-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 34%;transition:transform .7s var(--ease)}
.home-reviews__video:hover .home-reviews__video-img{transform:scale(1.05)}
.home-reviews__video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,38,.2),rgba(10,18,38,.9))}
.home-reviews__play{position:absolute;top:22px;left:22px;z-index:1;display:flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:999px;background:var(--gold);color:var(--night);font-size:22px;--pulse-to:1.67}
.home-reviews__video-text{position:relative;z-index:1;display:block;padding:26px}
.home-reviews__video-kicker{display:block;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.home-reviews__video-title{display:block;margin-bottom:8px;font-family:var(--font-display);font-weight:600;font-size:21px;line-height:1.15}
.home-reviews__video-desc{display:block;font-size:14px;color:var(--on-dark-soft);text-wrap:pretty}

@media (max-width:899.98px){
    .home-reviews{grid-template-columns:1fr}
    .home-review__body{flex-direction:column}
}

/* Окно с роликом — в template_styles.css: им пользуются и плитка здесь, и горизонтальная секция видео (home_video) */


/* End */


/* Start:/local/templates/festonika/components/bitrix/news.list/home_parents/style.css?17903499301714*/
/* Отзывы родителей на тёмной секции. Прототип app.js, строки 608–623 (карточка — 615–619).
   Ширина колонки — parentMin из app.js:363: 300px, на mobile 100% (в docs/step5-contract.md §2 его пока нет — блок на шаге 5 не переносился).
   Цвета — токены каркаса: карточка night-2, линия night-line-2, текст on-dark-soft, подпись on-dark-muted.
   Фокус с клавиатуры на тёмном — золотой, это общее правило каркаса для .section--night. */

.home-parents{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}

/* <figure>: снимаем поля по умолчанию (40px по бокам) */
.home-parent{display:flex;flex-direction:column;gap:18px;min-width:0;margin:0;padding:26px;border-radius:24px;background:var(--night-2);color:var(--white)}
.home-parent__mark{display:block;height:18px;font-family:var(--font-display);font-weight:700;font-size:40px;line-height:.5;color:var(--gold)}
.home-parent__quote{flex:1;margin:0}
.home-parent__quote p{margin:0;font-size:17px;line-height:1.5;color:var(--on-dark-soft);text-wrap:pretty}
.home-parent__author{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--night-line-2)}
.home-parent__avatar{flex:0 0 auto;width:42px;height:42px;border-radius:999px;object-fit:cover}
.home-parent__sign{min-width:0}
.home-parent__who{font-size:14px;font-weight:600}
.home-parent__meta{font-size:13px;color:var(--on-dark-muted)}

@media (max-width:899.98px){
    .home-parents{grid-template-columns:1fr}
}

/* End */


/* Start:/local/templates/festonika/components/bitrix/news.list/home_news/style.css?17902520391815*/
/* Материалы «Новости и сообщество». Прототип app.js, строки 655–664; reviewMin (§2). Цвета плашки рубрики — из полей раздела. */

.home-news{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}
.home-news__card{position:relative;display:flex;flex-direction:column;gap:14px;min-height:190px;padding:26px;border-radius:24px;background:var(--white);color:var(--ink);box-shadow:var(--shadow-card);transition:transform .4s var(--ease),box-shadow .4s ease}
.home-news__card--link:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(10,18,38,.14)}
@supports selector(:has(a)){
    .home-news__card:has(.home-news__link:focus-visible){outline:3px solid var(--blue);outline-offset:3px}
    .home-news__link:focus-visible{outline:none}
}
.home-news__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.home-news__tag{display:inline-flex;padding:5px 11px;border-radius:999px;background:var(--cream);color:var(--night);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.home-news__date{font-size:13px;color:var(--muted)}
.home-news__title{margin:0;font-family:var(--font-display);font-weight:600;font-size:19px;line-height:1.2;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.home-news__link,.home-news__link:hover{color:inherit;text-decoration:none}
/* вся карточка — ссылка заголовка */
.home-news__link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.home-news__text{flex:1;margin:0;font-size:14px;color:var(--text-muted);text-wrap:pretty}
.home-news__more{font-size:14px;font-weight:600;color:var(--blue)}

@media (max-width:899.98px){
    .home-news{grid-template-columns:1fr}
}

/* End */


/* Start:/local/templates/festonika/components/bitrix/news.list/home_final/style.css?17902520391458*/
/* Финальный призыв. Прототип app.js, строки 668–675; размер заголовка — cta (§2): 34px / clamp(40px,4.8vw,88px). */

.home-final{position:relative;overflow:hidden;background:var(--night);color:var(--white)}
.home-final__bg{position:absolute;inset:0}
.home-final__img{position:absolute;top:-9%;left:0;display:block;width:100%;height:118%;object-fit:cover;object-position:center 28%}
.home-final__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,38,.7),rgba(10,18,38,.88))}
.home-final__inner{position:relative;max-width:var(--shell);margin:0 auto;padding:104px var(--gutter);text-align:center}
.home-final__title{max-width:20ch;margin:0 auto 18px;font-family:var(--font-display);font-weight:800;font-size:clamp(40px,4.8vw,88px);line-height:1;letter-spacing:-.03em;color:var(--white);text-wrap:balance}
.home-final__text{max-width:50ch;margin:0 auto 30px;font-size:17px;color:var(--on-dark-soft);text-wrap:pretty}
.home-final__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
/* блок тёмный, а класса .section--night у него нет: синяя рамка фокуса каркаса на тёмном почти не видна — золотая */
.home-final :focus-visible{outline-color:var(--gold)}

@media (max-width:899.98px){
    .home-final__inner{padding:76px var(--gutter)}
    .home-final__title{font-size:34px}
}

/* End */
/* /local/templates/festonika/components/bitrix/news.list/home_hero/home.css?17913597626725 */
/* /local/templates/festonika/components/bitrix/news.list/fest_cards/style.css?17914675318722 */
/* /local/templates/festonika/components/bitrix/news.list/home_hero/style.css?17908733563208 */
/* /local/templates/festonika/components/bitrix/news.list/home_marquee/style.css?1790252039904 */
/* /local/templates/festonika/components/bitrix/news.list/home_stats/style.css?1790252039655 */
/* /local/templates/festonika/components/bitrix/news.list/home_scenes/style.css?17902520391358 */
/* /local/templates/festonika/components/bitrix/news.list/home_video/style.css?17918179301608 */
/* /local/templates/festonika/components/bitrix/news.list/home_steps/style.css?1790252039649 */
/* /local/templates/festonika/components/bitrix/news.list/home_fears/style.css?1790252039861 */
/* /local/templates/festonika/components/bitrix/news.list/home_reviews/style.css?17918179303951 */
/* /local/templates/festonika/components/bitrix/news.list/home_parents/style.css?17903499301714 */
/* /local/templates/festonika/components/bitrix/news.list/home_news/style.css?17902520391815 */
/* /local/templates/festonika/components/bitrix/news.list/home_final/style.css?17902520391458 */
