

/* Start:/local/components/rsf/page.content/templates/.default/style.css?178471997048637*/
/* Component: page.content
 * `.section.page-content` (specificity 20) перебивает глобальный `.section`
 * из layout.css (var(--spacing-3xl) = 64px), который иначе добавляет
 * лишние 64px сверху/снизу к нашей секции.
 */

.section.page-content {
    padding: 40px 0 80px;
}

.page-content__image {
    margin-bottom: 40px;
    border-radius: 16px;
    overflow: hidden;
}

.page-content__image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Text content */
.page-content__text {
    font-size: 16px;
    line-height: 1.7;
    color: var(--color-text);
    max-width: 900px;
}

.page-content__text h2 {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.5px;
    margin: 48px 0 20px;
    color: var(--color-primary);
    line-height: 1.2;
}

.page-content__text h2:first-child {
    margin-top: 0;
}

.page-content__text h3 {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.32px;
    margin: 36px 0 16px;
    color: var(--color-primary);
    line-height: 1.3;
}

.page-content__text h4 {
    font-size: 18px;
    font-weight: 700;
    margin: 28px 0 12px;
    color: var(--color-text);
    line-height: 1.4;
}

.page-content__text p {
    margin-bottom: 16px;
}

.page-content__text ul,
.page-content__text ol {
    margin-bottom: 20px;
    padding-left: 24px;
}

.page-content__text ul {
    list-style: none;
    padding-left: 0;
}

.page-content__text ul li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
}

.page-content__text ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-primary);
}

.page-content__text ol li {
    margin-bottom: 10px;
    padding-left: 4px;
}

.page-content__text strong {
    font-weight: 700;
    color: var(--color-text);
}

/* Tables */
.page-content__text table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 24px 0 32px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--color-border);
}

.page-content__text table th,
.page-content__text table td {
    padding: 14px 20px;
    text-align: left;
    border-bottom: 1px solid var(--color-border);
}

.page-content__text table th {
    background: var(--color-primary);
    color: var(--color-text-light);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.page-content__text table tr:last-child td {
    border-bottom: none;
}

.page-content__text table tr:nth-child(even) td {
    background: var(--color-bg-light);
}

.page-content__text img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}

.page-content__text a {
    color: var(--color-primary);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}

.page-content__text a:hover {
    border-bottom-color: var(--color-primary);
}

/* Info cards within content */
.page-content__text .info-card {
    background: var(--color-bg-light);
    border-radius: 16px;
    padding: 24px 32px;
    margin: 24px 0;
}

.page-content__text .info-card h3 {
    margin-top: 0;
}

/* Highlight block */
.page-content__text .highlight {
    background: linear-gradient(135deg, rgba(31, 66, 142, 0.05), rgba(31, 66, 142, 0.02));
    border-left: 4px solid var(--color-primary);
    border-radius: 0 12px 12px 0;
    padding: 20px 24px;
    margin: 24px 0;
}

.page-content__text .highlight p:last-child {
    margin-bottom: 0;
}

/* ============================================
   Contests contacts card (E.6) — Figma 2235:684
   Desktop 2235:961-971: card border #d0d1d6 radius 24 padding 24 + drop-shadow,
   inside 2 stack-cols: labels (Cygre Regular #3c4052) / values (Cygre Bold #1f428e),
   col-gap 16 row-gap 4 lh 24px.
   Mobile 2235:740/745: card BEZ border/shadow/radius/padding — просто 2 колонки текста,
   col-gap 16 row-gap 10 lh 24px.
   ============================================ */

/* Section padding override — Figma desktop 2235:960 spacer 64 + Frame 40 0/0,
   mobile уже без верхнего отступа (page-title-section даёт его сам). */
.section.page-content:has(.contacts-card) {
    padding: 0 0 80px;
}

.page-content__text:has(.contacts-card) {
    max-width: none;
}

/* Card — Figma 2235:962 (desktop): grid 2-col, labels nowrap (auto-width),
   values flex-1. col-gap 16 (Frame 18 gap), row-gap 4 (Frame 16/17 gap-4). */
.page-content__text .contacts-card {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: 16px;
    row-gap: 4px;
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: 24px;
    padding: 24px;
    margin: 0;
    background: var(--color-bg);
    box-shadow: 0 1px 1px rgba(19, 24, 41, 0.16);
}

/* Label — Figma 2235:964 col: Cygre Regular #3c4052, font-size 16, leading 24px, nowrap. */
.page-content__text .contacts-label {
    color: var(--color-text);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    white-space: nowrap;
    margin: 0;
}

/* Value — Figma 2235:968 col: Cygre Bold #1f428e, font-size 16, leading 24px. */
.page-content__text .contacts-value {
    color: var(--color-primary);
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    margin: 0;
    border-bottom: none;
    text-decoration: none;
    justify-self: start;
}

/* mailto — Figma 2235:969 underline. tel/text — без подчёркивания. */
.page-content__text .contacts-card a.contacts-value[href^="mailto:"] {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

.page-content__text .contacts-card a.contacts-value:hover {
    opacity: 0.7;
    border-bottom: none;
}

/* Mobile — Figma 2235:740/745: card без border/shadow/radius/padding,
   col-gap 16, row-gap 10 (заметно крупнее desktop). page-title-section даёт top-gap. */
@media (max-width: 767px) {
    .section.page-content:has(.contacts-card) {
        padding: 0 0 64px;
    }

    .page-content__text .contacts-card {
        border: none;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        column-gap: 16px;
        row-gap: 10px;
    }
}

/* ============================================
   Priority directions layout (contests/info/goals)
   ============================================ */

.page-content__text:has(.priority-list) {
    max-width: none;
}

/* Lead — Figma 2235:1816: 21/Cygre Regular/lh 1.5 #3c4052 (без letter-spacing) */
.page-content__text .page-lead {
    font-size: 21px;
    line-height: 1.5;
    color: var(--color-text);
    margin: 0 0 32px;
}

/* Highlight-box — Figma 2235:1817: bg #f2f6ff, radius 24, padding pt-20 pb-24 px-24, text 21/lh 1.2 #1F428E */
.page-content__text .highlight-box {
    background: var(--color-bg-light);
    border-radius: 24px;
    padding: 20px 24px 24px;
    margin: 0 0 80px;
}

.page-content__text .highlight-box p {
    margin: 0;
    font-size: 21px;
    line-height: 1.2;
    color: var(--color-primary);
    font-weight: 400;
}

/* Heading "Приоритетные направления" — Figma 2235:1820: 40/Bold/lh 48px/-1.96 #1F428E */
.page-content__text .priority-heading {
    color: var(--color-primary);
    font-size: 40px;
    font-weight: 700;
    line-height: 48px;
    letter-spacing: var(--ls-tight-4);
    margin: 0 0 32px;
    white-space: nowrap;
}

/* Список карточек — Figma 2235:1821: gap 40 между карточками */
.page-content__text .priority-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.page-content__text .priority-list > li.priority-item {
    padding: 0;
    background: transparent;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.page-content__text .priority-list > li.priority-item::before {
    display: none;
}

/* Heading row: counter (w-18, text-right) + desc (flex-1) — Figma 2235:1980 */
.page-content__text .priority-item__head {
    display: flex;
    gap: 6px;
    align-items: baseline;
    color: var(--color-text);
    font-size: 21px;
    letter-spacing: var(--ls-tight-1);
}

.page-content__text .priority-item__num {
    flex-shrink: 0;
    width: 18px;
    height: 29px;
    line-height: 1.2;
    text-align: right;
    font-weight: 400;
}

.page-content__text .priority-item__desc {
    flex: 1 0 0;
    min-width: 0;
    font-size: 21px;
    line-height: 1.5;
    color: var(--color-text);
    margin: 0;
    font-weight: 400;
}

.page-content__text .priority-item__desc::before {
    content: none;
}

.page-content__text .priority-item__link,
.page-content__text .page-lead__link {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
    border-bottom: none;
}

.page-content__text .priority-item__link:hover,
.page-content__text .page-lead__link:hover {
    opacity: 0.75;
    border-bottom: none;
}

/* "Задачи:" — Figma 2235:1985: 21/Regular/ls -0.32/lh 32px/#3c4052, padding-left 24 */
.page-content__text .priority-item__tasks-label {
    font-weight: 400;
    color: var(--color-text);
    margin: 0;
    font-size: 21px;
    line-height: 32px;
    letter-spacing: var(--ls-tight-1);
    padding-left: 24px;
}

/* Tasks list — Figma 2235:1983: col gap 8 */
.page-content__text .priority-item__tasks {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page-content__text .priority-item__tasks li {
    position: relative;
    padding-left: 24px;
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
    color: var(--color-text);
}

/* Bullet — Figma 2235:1833: 24×24 контейнер с центрированной точкой */
.page-content__text .priority-item__tasks li::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 9px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-text);
}

.page-content__text .priority-item[data-collapsible="1"][data-open="0"] .priority-item__tasks > li:nth-child(n+3) {
    display: none;
}

/* Toggle button — Figma 2235:1994: pl-24 pr-16 pb-4 gap-8, text 16/Bold/ls -0.32 #3c4052 lh 1 h-20, arrow 24×24, border-bottom #d0d1d6 */
.page-content__text .priority-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: none;
    border-bottom: 1px solid var(--color-border);
    background: transparent;
    padding: 0 16px 4px 24px;
    margin: 0;
    font: inherit;
    cursor: pointer;
    align-self: flex-start;
}

.page-content__text .priority-toggle:hover {
    opacity: 0.7;
}

.page-content__text .priority-toggle__text {
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    height: 20px;
    letter-spacing: var(--ls-tight-1);
    color: var(--color-text);
}

.page-content__text .priority-toggle__arrow {
    width: 24px;
    height: 24px;
    display: inline-block;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M12 5V19M12 19L5 12M12 19L19 12' stroke='%233C4052' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain;
    transition: transform 0.2s;
}

.page-content__text .priority-item[data-open="1"] .priority-toggle__arrow {
    transform: rotate(180deg);
}

/* Tablet 1024-1199 — без отдельного Figma, soft transition */
@media (max-width: 1199px) {
    .page-content__text .priority-heading {
        white-space: normal;
    }
}

/* Mobile — Figma 2235:1576 + 2235:1580 */
@media (max-width: 767px) {
    .page-content__text .page-lead {
        font-size: 16px;
        line-height: 1.5;
        letter-spacing: var(--ls-tight-1);
        margin: 0 0 24px;
    }

    .page-content__text .highlight-box {
        padding: 10px 16px 16px 24px;
        border-radius: 16px;
        margin: 0 0 64px;
    }

    .page-content__text .highlight-box p {
        font-size: 16px;
        line-height: 1.5;
        font-weight: 400;
    }

    /* Heading "Приоритетные направления" mobile — Figma 2235:1583: 32/Bold/-0.96/lh 1.2 */
    .page-content__text .priority-heading {
        font-size: 32px;
        line-height: 1.2;
        letter-spacing: var(--ls-tight-2);
        margin: 0 0 24px;
    }

    .page-content__text .priority-list {
        gap: 24px;
    }

    /* Card — Figma 2235:2120: col gap 16 */
    .page-content__text .priority-list > li.priority-item {
        gap: 16px;
        padding: 0;
        border-radius: 0;
    }

    /* Heading row — Figma 2235:2121: gap 2, font 16/-0.32, num w-14 h-24 lh 1.5 */
    .page-content__text .priority-item__head {
        gap: 2px;
        font-size: 16px;
    }

    .page-content__text .priority-item__num {
        width: 14px;
        height: 24px;
        line-height: 1.5;
    }

    .page-content__text .priority-item__desc {
        font-size: 16px;
        line-height: 1.5;
    }

    /* "Задачи:" mobile — Figma 2235:2127: 16/lh 1.5, без padding-left, через flex с пустой 10w slot */
    .page-content__text .priority-item__tasks-label {
        font-size: 16px;
        line-height: 1.5;
        padding-left: 16px;
    }

    /* Tasks mobile — Figma 2235:2131: 14/lh 1.5, bullet 10×22 left slot */
    .page-content__text .priority-item__tasks {
        gap: 8px;
    }

    .page-content__text .priority-item__tasks li {
        padding-left: 16px;
        font-size: 14px;
        line-height: 1.5;
    }

    .page-content__text .priority-item__tasks li::before {
        left: 4px;
        top: 8px;
        width: 4px;
        height: 4px;
    }

    /* Toggle mobile — Figma 2235:2136: justify-between full-width, items-end pb-4, text 16/Bold/lh 1.5 */
    .page-content__text .priority-toggle {
        align-self: stretch;
        justify-content: space-between;
        padding: 0 0 4px;
    }

    .page-content__text .priority-toggle__text {
        font-size: 16px;
        line-height: 1.5;
        height: auto;
    }

    .page-content__text .priority-toggle__arrow {
        width: 20px;
        height: 20px;
    }
}

/* ============================================
   Procedure page (contests/info/procedure) — Figma 2255:433
   ============================================ */

.page-content__text:has(.process-steps),
.page-content__text:has(.procedure-stage) {
    max-width: none;
}

/* Lead уже задан выше (.page-lead) — здесь не дублируем */

/* Определение «Конкурсный отбор — …» — 21/Regular #3c4052 lh 1.5 ls -0.32, «Конкурсный отбор» синий */
.page-content__text .page-def {
    font-size: 21px;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
    color: var(--color-text);
    margin: 0 0 48px;
}

.page-content__text .page-def strong {
    color: var(--color-primary);
    font-weight: 400;
}

/* Step-bar — Figma 2255:528: bg #f2f6ff radius 24, padding 20/24/24/24, gap 24 col */
.page-content__text .process-steps {
    background: var(--color-bg-light);
    border-radius: 24px;
    padding: 20px 24px 24px;
    margin: 0 0 96px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Heading — Figma 2255:529: 21/Bold #1f428e lh 1.2 ls -0.32 */
.page-content__text .process-steps__title {
    color: var(--color-primary);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: var(--ls-tight-1);
    margin: 0;
}

/* List — Figma 2255:530: flex row, шевроны накладываются носами на хвост соседа (visual gap минимальный) */
.page-content__text .process-steps__list {
    display: flex;
    align-items: stretch;
    gap: 0;
    list-style: none;
    padding: 0;
    margin: 0;
}

.page-content__text .process-steps__list > li.process-step + li.process-step {
    margin-left: -8px;
}

/* Шеврон-карточка — Figma 2255:531-561: white bg, FIXED h-100, цифра слева 38/Reg + лейбл 14/Reg справа */
.page-content__text .process-steps__list > li.process-step {
    counter-increment: none;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    background: var(--color-bg);
    padding: 20px 28px 20px 32px;
    margin: 0;
    position: relative;
    min-width: 0;
    height: 100px;
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 22px 50%);
}

.page-content__text .process-steps__list > li.process-step:first-child {
    padding-left: 24px;
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%);
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

.page-content__text .process-steps__list > li.process-step:last-child {
    padding-right: 24px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 22px 50%);
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

.page-content__text .process-steps__list > li.process-step::before {
    display: none;
}

/* Цифра — Figma 2255:535/540: 38/Regular Cygre #1f428e lh 1.2 */
.page-content__text .process-step__num {
    font-size: 38px;
    font-weight: 400;
    color: var(--color-primary);
    line-height: 1.2;
    letter-spacing: var(--ls-tight-1);
    flex-shrink: 0;
}

/* Лейбл — Figma 2255:534/539: 14/Regular Cygre #1f428e lh 1.2 */
.page-content__text .process-step__name {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--color-primary);
    letter-spacing: var(--ls-tight-1);
}

/* Stage — Figma 2255:566 etc: padding 0, gap 32 col, разделитель 1px между этапами */
.page-content__text .procedure-stage {
    padding: 0;
    margin: 0 0 96px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    border: none;
}

.page-content__text .procedure-stage:not(:first-of-type) {
    border-top: 1px solid var(--color-border);
    padding-top: 53px;
}

/* Stage heading — Figma 2255:567/568/569: row gap-4, 32/Bold #1f428e ls -1 lh 1.2 */
.page-content__text .procedure-stage__heading {
    color: var(--color-primary);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: var(--ls-tight-2);
    margin: 0;
    display: flex;
    gap: 4px;
    align-items: flex-start;
}

.page-content__text .procedure-stage__num {
    flex-shrink: 0;
}

/* Stage text — Figma 2255:570/571/572: items-end, w-863 (~66% контейнера 1312), 21/Regular #3c4052 lh 1.5 ls -0.32 */
.page-content__text .procedure-stage__text {
    margin: 0 0 0 auto;
    width: 100%;
    max-width: 863px;
    font-size: 21px;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
    color: var(--color-text);
}

/* Footer-CTA — Figma 2255:627/631: padding 96 0 124, w-906, 21/Regular #3c4052 + inline link #1f428e underline */
.page-content__text .procedure-footer {
    margin: 96px 0 44px;
    font-size: 21px;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
    color: var(--color-text);
    max-width: 1151px;
}

.page-content__text .procedure-footer a {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
    border-bottom: none;
}

.page-content__text .procedure-footer a:hover {
    border-bottom: none;
    opacity: 0.75;
}

/* Tablet 1024-1199 — без отдельного Figma. Step-bar держим row, шрифт чуть меньше */
@media (max-width: 1199px) {
    .page-content__text .process-step__num {
        font-size: 28px;
    }
    .page-content__text .process-step__name {
        font-size: 13px;
    }
    .page-content__text .procedure-stage__text {
        max-width: 600px;
    }
}

@media (max-width: 1023px) {
    .page-content__text .procedure-stage__text {
        margin-left: 0;
        max-width: none;
    }
}

/* Mobile — Figma 2255:748+: step-bar col, шевроны 302×80 */
@media (max-width: 767px) {
    .page-content__text .page-def {
        font-size: 16px;
        margin-bottom: 32px;
    }

    .page-content__text .process-steps {
        padding: 20px 24px 24px;
        border-radius: 24px;
        margin: 0 0 64px;
        gap: 24px;
    }

    /* Heading mobile — Figma 2255:813: 20/Bold #1f428e ls -0.32 */
    .page-content__text .process-steps__title {
        font-size: 20px;
        line-height: 1.2;
    }

    /* Steps mobile — Figma 2255:814: flex col, шевроны накладываются вертикально */
    .page-content__text .process-steps__list {
        flex-direction: column;
        gap: 0;
    }

    /* Шеврон mobile — Figma 2255:815-845: h-80, content-row gap-4 items-center */
    .page-content__text .process-steps__list > li.process-step {
        flex: 0 0 auto;
        width: 100%;
        height: 80px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 16px 24px;
        clip-path: polygon(0 0, 50% 8px, 100% 0, 100% calc(100% - 8px), 50% 100%, 0 calc(100% - 8px));
    }

    .page-content__text .process-steps__list > li.process-step + li.process-step {
        margin-left: 0;
        margin-top: 4px;
    }

    .page-content__text .process-steps__list > li.process-step:first-child {
        padding: 16px 24px;
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), 50% 100%, 0 calc(100% - 8px));
        border-radius: 0;
        border-top-left-radius: 16px;
        border-top-right-radius: 16px;
    }

    .page-content__text .process-steps__list > li.process-step:last-child {
        padding: 16px 24px;
        clip-path: polygon(0 0, 50% 8px, 100% 0, 100% 100%, 0 100%);
        border-radius: 0;
        border-bottom-left-radius: 16px;
        border-bottom-right-radius: 16px;
    }

    /* Mobile цифра/лейбл — Figma 2255:817/822: оба 16/Regular #1f428e lh 1.2 */
    .page-content__text .process-step__num {
        font-size: 16px;
        font-weight: 400;
        line-height: 1.2;
    }

    .page-content__text .process-step__num::after {
        content: '.';
    }

    .page-content__text .process-step__name {
        font-size: 16px;
        line-height: 1.2;
    }

    /* Stages mobile — Figma 2255:850-908: col gap-24, разделитель Sep block 36/1/32 */
    .page-content__text .procedure-stage {
        margin: 0;
        gap: 24px;
        padding-bottom: 32px;
    }

    .page-content__text .procedure-stage:last-of-type {
        padding-bottom: 0;
    }

    .page-content__text .procedure-stage:not(:first-of-type) {
        padding-top: 36px;
    }

    /* Heading mobile — Figma 2255:852/853: col, 28/Bold ls -1 (num отдельная строка ls -0.96) */
    .page-content__text .procedure-stage__heading {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: var(--ls-tight-1);
        flex-direction: column;
        gap: 0;
    }

    .page-content__text .procedure-stage__num {
        font-weight: 700;
    }

    /* Stage text mobile — Figma 2255:856: 16/Regular #3c4052 lh 1.5 ls -0.32 w-full */
    .page-content__text .procedure-stage__text {
        margin: 0;
        max-width: none;
        font-size: 16px;
    }

    /* Footer-CTA mobile — Figma 2255:914: 16/Regular w-full, gap 64 от текста этапа 7 */
    .page-content__text .procedure-footer {
        margin: 64px 0 0;
        font-size: 16px;
        max-width: none;
    }
}

/* ============================================
   FAQ page (contests/faq)
   ============================================ */

.page-content__text:has(.faq-card) {
    max-width: none;
}

.page-content__text .faq-card {
    border: none;
    border-radius: 0;
    padding: 0;
    background: transparent;
    margin: -16px 0 0;
}

.page-content__text .faq-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.page-content__text .faq-card__list > li.faq-item {
    padding: 0;
    margin: 0;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
    overflow: hidden;
}

.page-content__text .faq-card__list > li.faq-item::before {
    display: none;
}

.page-content__text .faq-item__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    background: transparent;
    border: none;
    padding: 18px 24px;
    text-align: left;
    font: inherit;
    cursor: pointer;
    color: inherit;
}

.page-content__text .faq-item__q {
    color: var(--color-primary);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
    flex: 1;
    min-width: 0;
}

.page-content__text .faq-item__arrow {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: inline-block;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M12 5V18M12 18L7 13M12 18L17 13' stroke='%231F428E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain;
    transition: transform 0.2s;
}

.page-content__text .faq-item[data-open="1"] .faq-item__arrow {
    transform: rotate(180deg);
}

.page-content__text .faq-item__answer {
    display: none;
    padding: 0 24px 20px;
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text);
}

.page-content__text .faq-item[data-open="1"] .faq-item__answer {
    display: block;
}

.page-content__text .faq-item__answer p {
    margin: 0 0 10px;
}

.page-content__text .faq-item__answer p:last-child {
    margin-bottom: 0;
}

.page-content__text .faq-item__answer a {
    color: var(--color-primary);
    text-decoration: underline;
    border-bottom: none;
}

.page-content__text .faq-item__answer a:hover {
    border-bottom: none;
    opacity: 0.75;
}

@media (max-width: 768px) {
    .page-content__text .faq-card {
        padding: 0;
    }
    .page-content__text .faq-item__trigger {
        padding: 14px 16px;
        gap: 12px;
    }
    .page-content__text .faq-item__q {
        font-size: 16px;
    }
    .page-content__text .faq-item__answer {
        padding: 0 16px 16px;
        font-size: 15px;
    }
}

/* ============================================
   Reference page (contests/info/reference)
   E.5 Figma 2235:550 (D) / 2235:341 (M)
   ============================================ */

.section.page-content:has(.reference-docs) {
    padding: 0 0 124px;
}

.page-content__text:has(.reference-docs) {
    max-width: none;
}

.page-content__attachments {
    margin-top: 32px;
}

.reference-docs {
    display: flex;
    flex-direction: column;
    gap: 16px;
    border: 1px solid #d0d1d6;
    border-radius: 24px;
    padding: 24px;
    margin: 0;
    background: #fff;
    box-shadow: 0 1px 1px rgba(19, 24, 41, 0.16);
}

.page-content__attachments .reference-docs {
    margin: 0;
}

.page-content__text h3.reference-docs__title,
.reference-docs__title {
    color: #3c4052;
    font-family: inherit;
    font-size: 20px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: 0;
    margin: 0;
}

.reference-docs__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.reference-docs__list > li.reference-doc {
    padding: 0;
    margin: 0;
    background: transparent;
}

/* Гасим синюю точку-маркер от .page-content__text ul li::before для ВСЕХ <li>
   внутри .reference-docs__list (с классом .reference-doc и без). WYSIWYG может
   добавить голый <li><a>...</a></li> — глобальный буллет тогда даёт точку. */
.reference-docs__list > li::before,
.page-content__text .reference-docs__list > li::before {
    display: none;
    content: none;
}

.reference-doc__link,
.reference-docs__list > li.reference-doc {
    display: flex;
    align-items: flex-start;
    gap: 4px;
}

.reference-doc__link,
.page-content__text a.reference-doc__link {
    color: #3C4052;
    text-decoration: none;
    border: none;
    border-bottom: none;
    transition: color 0.2s;
}

.reference-doc__link:hover,
.page-content__text a.reference-doc__link:hover {
    color: var(--color-primary);
    border-bottom: none;
}

.reference-doc__icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-top: 0;
    display: inline-block;
    background: url("/local/templates/rsf_main/images/file-text.svg?v=2") no-repeat center / contain;
}

.reference-doc__name {
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    color: inherit;
}

/* WYSIWYG-fallback. Контент-менеджер, добавляя документ через визуальный
   редактор, обычно теряет внутренние span'ы (.reference-doc__icon /
   .reference-doc__name) и класс .reference-doc__link на <a>. Получается голый
   <a> внутри <li class="reference-doc"> или прямо в .reference-docs__list.
   Стилизуем такие ссылки как полноценную карточку документа: иконка PDF через
   ::before + те же 16/Regular #3C4052 + те же флексы. Для совместимости с
   существующей разметкой .reference-doc__link не задеваем (через :not). */
.reference-docs a:not(.reference-doc__link),
.page-content__text .reference-docs a:not(.reference-doc__link) {
    display: inline-flex;
    align-items: flex-start;
    gap: 4px;
    color: #3C4052;
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    text-decoration: none;
    border: none;
    border-bottom: none;
    transition: color 0.2s;
}

.reference-docs a:not(.reference-doc__link)::before {
    content: '';
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: inline-block;
    background: url("/local/templates/rsf_main/images/file-text.svg?v=2") no-repeat center / contain;
}

.reference-docs a:not(.reference-doc__link):hover,
.page-content__text .reference-docs a:not(.reference-doc__link):hover {
    color: var(--color-primary);
    border-bottom: none;
}

/* Если менеджер обернул ссылку в <p> или вставил голый <a> вне <ul> — убираем
   дефолтные браузерные margin'ы у <p> внутри карточки и расширяем <li> /
   <a> на всю ширину строки (иначе ::before-иконка прижимается к тексту). */
.reference-docs p {
    margin: 0;
}

.reference-docs__list > li:not(.reference-doc) {
    list-style: none;
    padding: 0;
    margin: 0;
}

@media (max-width: 768px) {
    .section.page-content:has(.reference-docs) {
        padding: 0 0 124px;
    }

    .reference-docs {
        /* Figma 2235:342: pt-16 pb-20 px-16 (асимметрия) */
        padding: 16px 16px 20px;
        border-radius: 16px;
        gap: 16px;
    }

    .reference-docs__title,
    .page-content__text h3.reference-docs__title {
        font-size: 20px;
        line-height: 26px;
    }

    .reference-docs__list {
        gap: 8px;
    }

    .reference-doc__name,
    .reference-docs a:not(.reference-doc__link) {
        font-size: 16px;
        line-height: 20px;
    }
}

/* Documents */
.page-content__documents {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid var(--color-border);
}

.page-content__documents-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-primary);
    margin-bottom: 20px;
}

.page-content__documents-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page-content__document-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    background: var(--color-bg-light);
    border-radius: 12px;
    color: var(--color-text);
    text-decoration: none;
    transition: background 0.2s, box-shadow 0.2s;
}

.page-content__document-link:hover {
    background: var(--color-bg);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.page-content__document-icon {
    flex-shrink: 0;
    color: var(--color-primary);
}

.page-content__document-name {
    font-weight: 600;
    color: var(--color-primary);
}

.page-content__document-size {
    color: var(--color-text-secondary);
    font-size: 14px;
    margin-left: auto;
}

/* Responsive */
@media (max-width: 768px) {
    /* page-title-section даёт pb-32; внутри page-content padding-top не дублируем.
       `.section.page-content` (specificity 20) бьёт глобальный `.section` из layout.css. */
    .section.page-content {
        padding: 0 0 48px;
    }

    .page-content__text {
        font-size: 15px;
    }

    .page-content__text h2 {
        font-size: 22px;
        letter-spacing: -0.32px;
        margin: 32px 0 16px;
    }

    .page-content__text h3 {
        font-size: 18px;
        letter-spacing: 0;
        margin: 24px 0 12px;
    }

    .page-content__text table th,
    .page-content__text table td {
        padding: 10px 12px;
        font-size: 14px;
    }

    .page-content__text .info-card {
        padding: 16px 20px;
    }

    .page-content__document-link {
        padding: 12px 16px;
    }
}

/* ============================================
   /contests/info/ — единый дизайн-код (без Figma-ноды)
   Опорные паттерны:
     - lede / paragraph: page-lead из E.2 (21/Regular/lh 1.5/-0.32 #3c4052)
     - section-title: priority-heading из E.2 (40/700/-1.96 lh 48 #1F428E)
     - directions cards: E.1 хаб (#F2F6FF radius 24 padding 24/24/32, title 21/700/-0.32 #1F428E, desc #3c4052)
     - steps: E.1 card-стиль с большой цифрой 32/700/-1.5 #1F428E
     - contacts callout: bg primary radius 24 padding 32 white text
   Section padding: pb-124 desktop / pb-64 mobile (паттерн E.5/E.4).
   ============================================ */

.section.page-content:has(.info-lede),
.section.page-content:has(.info-directions),
.section.page-content:has(.info-steps),
.section.page-content:has(.info-contacts) {
    padding: 0 0 124px;
}

.page-content__text:has(.info-lede),
.page-content__text:has(.info-directions),
.page-content__text:has(.info-steps),
.page-content__text:has(.info-contacts) {
    max-width: none;
}

/* Lede — паттерн page-lead из E.2/E.4: чистый абзац без bg/border (21/Regular/lh 1.5/-0.32 #3c4052) */
.page-content__text .info-lede {
    margin: 0;
}

.page-content__text .info-lede p,
.page-content__text p.info-lede {
    margin: 0;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
    color: var(--color-text);
}

/* Section H2 — паттерн priority-heading: 40/700/-1.96 lh 48 #1F428E, gap-32 to next block */
.page-content__text .info-section-title {
    color: var(--color-primary);
    font-size: 40px;
    font-weight: 700;
    line-height: 48px;
    letter-spacing: var(--ls-tight-4);
    margin: 0 0 32px;
}

/* Paragraph between blocks — body 21/Regular/lh 1.5 #3c4052 */
.page-content__text .info-paragraph {
    font-size: 21px;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
    color: var(--color-text);
    margin: 0;
}

/* ============ Единый воздух между info-блоками ============
   Каждый блок-уровневый info-* добавляет margin-bottom: 96 (D) / 64 (M).
   Это покрывает все случаи переходов: lede→H2, block→H2, block→paragraph,
   paragraph→H2, etc. H2 не получает margin-top — отступ уже даёт предыдущий блок. */
.page-content__text .info-lede,
.page-content__text p.info-lede,
.page-content__text .info-directions,
.page-content__text .info-steps,
.page-content__text .info-criteria,
.page-content__text .info-principles,
.page-content__text .info-paragraph {
    margin-bottom: 96px;
}

/* Последний блок-info перед .info-contacts: контакт-callout уже сам
   задаёт margin-top: 96 (см. ниже), поэтому предыдущий блок mb сбрасываем. */
.page-content__text :is(.info-directions, .info-steps, .info-criteria, .info-principles, .info-paragraph) + .info-contacts {
    /* nop — .info-contacts margin-top: 0 чтобы не было двойного 192px gap */
}

.page-content__text :is(.info-directions, .info-steps, .info-criteria, .info-principles, .info-paragraph):has(+ .info-contacts) {
    margin-bottom: 0;
}

/* ===== Directions grid (6 карточек 3×2) — паттерн E.1 хаба ===== */
.page-content__text .info-directions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.page-content__text .info-direction-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px 24px 32px;
    background: var(--color-bg-light);
    border: none;
    border-radius: 24px;
    box-shadow: none;
    transition: none;
    margin: 0;
}

.page-content__text .info-direction-card:hover {
    transform: none;
    box-shadow: none;
    border: none;
}

.page-content__text .info-direction-card__title {
    color: var(--color-primary);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: var(--ls-tight-1);
    margin: 0;
}

.page-content__text .info-direction-card__desc {
    color: var(--color-text);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
    margin: 0;
}

/* ===== Steps (5 карточек) — паттерн E.1 cards с большой цифрой ===== */
.page-content__text .info-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.page-content__text .info-step {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
    background: var(--color-bg-light);
    border-radius: 24px;
    margin: 0;
}

.page-content__text .info-step__num {
    color: var(--color-primary);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: var(--ls-tight-2);
}

.page-content__text .info-step__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page-content__text .info-step__title {
    color: var(--color-primary);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: var(--ls-tight-1);
    margin: 0;
}

.page-content__text .info-step__desc {
    color: var(--color-text);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
    margin: 0;
}

/* ===== Contacts callout (синяя плашка primary, как footer-CTA hub) ===== */
.page-content__text .info-contacts {
    margin: 96px 0 0;
    padding: 32px;
    background: var(--color-primary);
    border-radius: 24px;
    color: var(--color-text-light);
}

.page-content__text .info-contacts__title {
    color: var(--color-text-light);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: var(--ls-tight-2);
    margin: 0 0 8px;
}

.page-content__text .info-contacts__text {
    color: rgba(255, 255, 255, 0.85);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
    margin: 0 0 16px;
}

.page-content__text .info-contacts__list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 32px;
}

.page-content__text .info-contacts__list li {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    color: var(--color-text-light);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
}

.page-content__text .info-contacts__list li::before {
    display: none !important;
}

.page-content__text .info-contacts__label {
    color: rgba(255, 255, 255, 0.7);
    margin-right: 6px;
}

.page-content__text .info-contacts__list a {
    color: var(--color-text-light);
    text-decoration: underline;
    text-underline-offset: 3px;
    border-bottom: none;
    transition: opacity 0.2s;
}

.page-content__text .info-contacts__list a:hover {
    opacity: 0.75;
    border-bottom: none;
}

/* Tablet 1024-1199: Directions 2-col, Steps по-прежнему row но компактнее (3-col на 1024-) */
@media (max-width: 1199px) {
    .page-content__text .info-section-title {
        white-space: normal;
    }
    .page-content__text .info-directions {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    .page-content__text .info-steps {
        grid-template-columns: repeat(3, 1fr);
    }
    .page-content__text .info-step__num {
        font-size: 28px;
    }
    .page-content__text .info-step__title {
        font-size: 17px;
    }
}

/* Mobile ≤767: H2 32, lede 16, directions/steps 1-col, steps в row layout, contacts 24 padding */
@media (max-width: 767px) {
    .section.page-content:has(.info-lede),
    .section.page-content:has(.info-directions),
    .section.page-content:has(.info-steps),
    .section.page-content:has(.info-contacts) {
        padding: 0 0 64px;
    }

    .page-content__text .info-lede p,
    .page-content__text p.info-lede {
        font-size: 16px;
        line-height: 1.5;
    }

    .page-content__text .info-section-title {
        font-size: 32px;
        line-height: 1.2;
        letter-spacing: var(--ls-tight-2);
        margin: 0 0 24px;
    }

    .page-content__text .info-paragraph {
        font-size: 16px;
        line-height: 1.5;
    }

    /* Mobile: единый воздух между info-блоками = 64px */
    .page-content__text .info-lede,
    .page-content__text p.info-lede,
    .page-content__text .info-directions,
    .page-content__text .info-steps,
    .page-content__text .info-criteria,
    .page-content__text .info-principles,
    .page-content__text .info-paragraph {
        margin-bottom: 64px;
    }

    .page-content__text .info-directions {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .page-content__text .info-direction-card {
        padding: 16px 16px 20px;
        border-radius: 16px;
    }
    .page-content__text .info-direction-card__title {
        font-size: 16px;
    }
    .page-content__text .info-direction-card__desc {
        font-size: 14px;
    }

    .page-content__text .info-steps {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .page-content__text .info-step {
        flex-direction: row;
        align-items: flex-start;
        gap: 16px;
        padding: 16px;
        border-radius: 16px;
    }
    .page-content__text .info-step__num {
        flex-shrink: 0;
        font-size: 24px;
    }
    .page-content__text .info-step__body {
        flex: 1 0 0;
        min-width: 0;
    }
    .page-content__text .info-step__title {
        font-size: 16px;
    }
    .page-content__text .info-step__desc {
        font-size: 14px;
    }

    .page-content__text .info-contacts {
        margin-top: 64px;
        padding: 24px;
        border-radius: 16px;
    }
    .page-content__text .info-contacts__title {
        font-size: 22px;
    }
    .page-content__text .info-contacts__text {
        font-size: 14px;
    }
    .page-content__text .info-contacts__list {
        flex-direction: column;
        gap: 8px;
    }
    .page-content__text .info-contacts__list li {
        font-size: 14px;
    }
}

/* ============================================
   /contests/expertise/ — дополнительные блоки (критерии + принципы)
   Опорные паттерны:
     - .info-criteria: list border-separated (как E.4 recipients)
     - .info-criteria__score: pill primary (B.3 status-badge token)
     - .info-principles: 2-col grid карточек bg #F2F6FF (E.1 хаб)
   ============================================ */

.section.page-content:has(.info-criteria),
.section.page-content:has(.info-principles) {
    padding: 0 0 124px;
}

.page-content__text:has(.info-criteria),
.page-content__text:has(.info-principles) {
    max-width: none;
}

/* Criteria list — паттерн E.4 (border-separated rows) с pill-баллом справа */
.page-content__text ul.info-criteria {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 96px !important;
    display: flex;
    flex-direction: column;
}

.page-content__text ul.info-criteria > li.info-criteria__item {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 20px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
}

.page-content__text ul.info-criteria > li.info-criteria__item + li.info-criteria__item {
    margin-top: -1px !important;
}

.page-content__text ul.info-criteria > li.info-criteria__item::before {
    display: none !important;
}

.page-content__text .info-criteria__name {
    flex: 1 1 0;
    min-width: 0;
    color: var(--color-primary);
    font-size: 21px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: var(--ls-tight-1);
}

.page-content__text .info-criteria__score {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    height: 32px;
    padding: 0 12px;
    background: var(--color-primary);
    color: var(--color-text-light);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    border-radius: 9999px;
}

/* Principles — 2-col grid карточек (паттерн E.1 хаба, no-icon) */
.page-content__text .info-principles {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin: 0;
}

.page-content__text .info-principle-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    background: var(--color-bg-light);
    border-radius: 24px;
    margin: 0;
}

.page-content__text .info-principle-card__title {
    color: var(--color-primary);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: var(--ls-tight-1);
    margin: 0;
}

.page-content__text .info-principle-card__desc {
    color: var(--color-text);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
    margin: 0;
}

/* Steps modifier — 3-col layout (для /contests/expertise/, где 3 этапа) */
.page-content__text .info-steps.info-steps--three {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1199px) {
    .page-content__text .info-steps.info-steps--three {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 767px) {
    .section.page-content:has(.info-criteria),
    .section.page-content:has(.info-principles) {
        padding: 0 0 64px;
    }

    .page-content__text ul.info-criteria {
        margin-bottom: 64px !important;
    }

    .page-content__text ul.info-criteria > li.info-criteria__item {
        padding: 16px 0 !important;
        flex-direction: row;
        align-items: center;
        gap: 16px;
    }

    .page-content__text .info-criteria__name {
        font-size: 16px;
    }

    .page-content__text .info-criteria__score {
        min-width: 48px;
        height: 28px;
        font-size: 14px;
    }

    .page-content__text .info-principles {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .page-content__text .info-principle-card {
        padding: 16px;
        border-radius: 16px;
    }

    .page-content__text .info-principle-card__title {
        font-size: 16px;
    }

    .page-content__text .info-principle-card__desc {
        font-size: 14px;
    }

    .page-content__text .info-steps.info-steps--three {
        grid-template-columns: 1fr;
    }
}

/* End */


/* Start:/local/components/rsf/faq.list/templates/.default/style.css?17799572594615*/
/* Component: faq.list — Figma parity 2235:1090 (D 1440 / M 390) */

.faq.section { padding: 0; }

.faq__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: var(--container-max-width, 1312px);
    margin: 0 auto;
    padding-bottom: 124px;
}

/* === Item ============================================================ */

.faq__item {
    background: var(--white);
    border: 1px solid var(--stroke);
    border-radius: 24px;
    transition: border-color var(--transition-fast);
}

.faq__item--open {
    border-color: var(--blue);
}

/* === Question (button) =============================================== */

.faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    /* Figma desktop: pt-20 px-24 pb-24 */
    padding: 20px 24px 24px 24px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    gap: 16px;
    color: var(--blue);
}

/* В раскрытом состоянии нижний padding убираем — отдаём ответу
   (ответ ниже добавляет pt-8 + pb-24, итог совпадает с Figma 2235:1496). */
.faq__item--open .faq__question {
    padding-bottom: 0;
}

.faq__question-text {
    flex: 1 1 auto;
    font-family: var(--font-family);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: var(--ls-tight-1);
    color: var(--blue);
}

/* === Chevron (Figma SVG: down-arrow / up-arrow) ====================== */

.faq__chevron {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M23.3333 18L15.3333 26M15.3333 26L7.33333 18M15.3333 26L15.3333 6' stroke='%231F428E' stroke-width='2' stroke-linecap='round'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-image var(--transition-fast);
}

.faq__item--open .faq__chevron {
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M7.33337 14L15.3334 6M15.3334 6L23.3334 14M15.3334 6L15.3334 26' stroke='%233C4052' stroke-width='2' stroke-linecap='round'/></svg>");
}

/* === Answer ========================================================== */

.faq__answer {
    overflow: hidden;
}

.faq__answer-inner {
    /* gap-8 от вопроса, pb-24 у item, px-24 одинаково с вопросом */
    padding: 8px 24px 24px 24px;
    font-family: var(--font-family);
    font-size: 16px;
    line-height: 1.5;
    color: var(--text);
}

.faq__answer-inner p {
    margin: 0 0 12px 0;
}

.faq__answer-inner p:last-child {
    margin-bottom: 0;
}

.faq__answer-inner a {
    color: var(--blue);
    text-decoration: underline;
}

.faq__answer-inner a:hover {
    text-decoration: none;
}

.faq__answer-inner ul,
.faq__answer-inner ol {
    list-style: initial;
    margin: 0 0 12px 0;
    padding-left: 20px;
}

.faq__answer-inner li {
    margin-bottom: 4px;
}

/* === Tablet 1024-1199 (без Figma — держим desktop-стили) ============= */

/* === Mobile ≤ 767 (Figma 2235:1091) ================================== */

@media (max-width: 767px) {
    .faq__list {
        gap: 12px;
        padding-bottom: 64px;
    }

    .faq__question {
        /* Figma mobile default: pt-12 pb-16 px-24 */
        padding: 12px 24px 16px 24px;
        gap: 12px;
    }

    .faq__item--open .faq__question {
        /* Figma mobile expanded: pt-12 pb-? px-24, gap-8, ответ pb-20 */
        padding-bottom: 0;
    }

    .faq__question-text {
        font-size: 16px;
        letter-spacing: 0;
    }

    .faq__chevron {
        width: 20px;
        height: 20px;
        background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M14.5833 11.25L9.58333 16.25M9.58333 16.25L4.58333 11.25M9.58333 16.25L9.58333 3.75' stroke='%231F428E' stroke-width='2' stroke-linecap='round'/></svg>");
    }

    .faq__item--open .faq__chevron {
        background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M4.58336 8.75L9.58336 3.75M9.58336 3.75L14.5834 8.75M9.58336 3.75L9.58336 16.25' stroke='%233C4052' stroke-width='2' stroke-linecap='round'/></svg>");
    }

    .faq__answer-inner {
        /* Figma mobile expanded: pt-8 px-24 pb-20 */
        padding: 8px 24px 20px 24px;
        font-size: 14px;
    }
}

/* End */
/* /local/components/rsf/page.content/templates/.default/style.css?178471997048637 */
/* /local/components/rsf/faq.list/templates/.default/style.css?17799572594615 */
