/* Base */
*,
*::before,
*::after {
    box-sizing: border-box;
    transition: 0.4s;
}

body {
    margin: 0;
    font-family: var(--font-sans);
    background: var(--color-white);
    color: var(--color-black);
}

.site-container {
    max-width: var(--container-max);
}

/* Header */
.site-header__nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030; /* above content */
    height: var(--header-h);
    padding: 0; /* prevent Bootstrap navbar padding */
    --bs-navbar-padding-y: 0;
    --bs-navbar-padding-x: 0;
    background: var(--color-header-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--color-stroke-muted);
}
.site-header__nav.site-header__black {
    background: #293025;
}

.site-header__wrapper {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 115px; /* layout_FHKBK6 */
    padding: 15px 0; /* layout_FHKBK6 */
}

.site-header__left {
    display: flex;
    align-items: center;
    gap: 60px; /* layout_2BRSXZ */
    min-width: 0;
}

.site-header__toggler {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: var(--color-white);
    cursor: pointer;
    flex-shrink: 0;
    align-items: center;
}

.site-header__toggler:focus-visible {
    outline: 2px solid var(--color-white);
    outline-offset: 2px;
}

.site-header__toggler-bar {
    display: block;
    height: 2px;
    width: 22px;
    background: currentColor;
    border-radius: 1px;
}

.site-header__brand {
    display: inline-flex;
    align-items: center;
    gap: 10px; /* layout_D5GTEC */
    text-decoration: none;
    color: var(--color-white);
}

.site-header__brand-text {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--fs-18);
    line-height: var(--lh-russo);
    text-transform: uppercase; /* style_VTYTMY */
    color: var(--color-white-70);
    white-space: nowrap;
}

.site-header__menu {
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
    align-items: center;
    gap: 30px; /* layout_XZXB0F */
}

.site-header__link {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--fs-14); /* style_MHTI5X */
    line-height: var(--lh-russo);
    text-transform: uppercase;
    color: var(--color-white);
    text-decoration: none;
}

.site-header__link:hover,
.site-header__link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.site-header__right {
    display: flex;
    align-items: center;
    gap: 40px; /* layout_ZRQJNG */
}

.site-header__contacts {
    display: flex;
    flex-direction: column; /* layout_JOYHI2 */
    align-items: flex-end;
    gap: 10px; /* layout_JOYHI2 */
    width: 222px; /* layout_JOYHI2 */
}

.site-header__contact-row {
    width: 100%;
    display: flex; /* layout_WDY3JX */
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.site-header__telegram {
    display: inline-flex;
    width: 23px;
    height: 23px;
}

.site-header__contact {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--fs-14);
    line-height: var(--lh-russo-1205);
    text-transform: uppercase;
    color: var(--color-white);
    text-decoration: none;
}

.site-header__contact--phone {
    font-size: var(--fs-20); /* style_MOS6NG */
    line-height: var(--lh-russo-1205);
    white-space: nowrap;
}

.site-header__contact--email {
    font-size: var(--fs-14); /* style_BGWTS4 */
    line-height: var(--lh-russo-1205);
}

.site-header__contact:hover,
.site-header__contact:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (min-width: 1300px) {
    .site-header__menu {
        display: flex;
    }
}

/* Offcanvas menu (макет 376 — только бургер + CTA в шапке) */
.site-drawer.offcanvas {
    --bs-offcanvas-bg: var(--color-olive-900);
    --bs-offcanvas-color: var(--color-white);
    --bs-offcanvas-width: min(360px, 100vw);
    --bs-offcanvas-border-width: 0;
}

.site-drawer .offcanvas-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px;
    border-bottom: 1px solid var(--color-stroke-muted);
}

.site-drawer .offcanvas-header .btn-close {
    margin-left: auto;
}

.site-drawer__brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--color-white);
    margin-right: auto;
}

.site-drawer__brand-text {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--fs-18);
    line-height: var(--lh-russo);
    text-transform: uppercase;
    color: var(--color-white-70);
}

.site-drawer__body {
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.site-drawer__nav {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.site-drawer__link {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--fs-14);
    line-height: var(--lh-russo);
    text-transform: uppercase;
    color: var(--color-white);
    text-decoration: none;
}

.site-drawer__link:hover,
.site-drawer__link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.site-drawer__contacts {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding-top: 24px;
    border-top: 1px solid var(--color-stroke-muted);
}

.site-drawer__contact-line {
    display: flex;
    align-items: center;
    gap: 10px;
}

.site-drawer__telegram {
    display: inline-flex;
    flex-shrink: 0;
}

.site-drawer__contact {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--fs-14);
    line-height: var(--lh-russo-1205);
    text-transform: uppercase;
    color: var(--color-white);
    text-decoration: none;
}

.site-drawer__contact--phone {
    font-size: var(--fs-20);
}

.site-drawer__contact:hover,
.site-drawer__contact:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Ornamental button */
.btn-ornament {
    display: inline-flex;
    align-items: center;
    gap: 0;
    text-decoration: none;
    color: var(--color-black);
    cursor: pointer;
}

.btn-ornament__body {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 18px 0; /* layout_I3AC70 */
    padding-inline: 25px; /* closer to layout_7H73Z8 */
    background: var(--color-sand-100);
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--fs-14); /* style_MHTI5X */
    line-height: var(--lh-russo);
    text-transform: uppercase;
    white-space: nowrap;
}
button.btn-ornament__body {
    outline: none!important;
    border: none!important;
    color: inherit;
}

.btn-ornament__cap {
    display: block;
    width: auto;
    height: 48px; /* layout_A9DBF5 */
}

.btn-ornament:hover .btn-ornament__body,
.btn-ornament:focus-visible .btn-ornament__body {
    background: #e7ddcf;
}

.btn-ornament:focus-visible {
    outline: 2px solid var(--color-white);
    outline-offset: 4px;
}

/* Sections */
.section {
    padding: 0;
}

.main-stack {
    display: flex;
    flex-direction: column;
    gap: 80px; /* layout_JZN2XA */
    padding: 80px 0;
}

.section-title {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
    position: relative;
    padding: 20px;
    width: fit-content;
}
.form-card-modal__title-inner {
    position: relative;
}
.section-title:before, .form-card-modal__title-inner:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 18px;
    height: 18px;
    border-color: #000;
    border-style: solid;
    border-width: 4px 0 0 4px;
}
.section-title:after, .form-card-modal__title-inner:after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 18px;
    height: 18px;
    border-color: #000;
    border-style: solid;
    border-width: 0 4px 4px 0;
}

.section-title.section-title--light:before, .section-title.section-title--light:after, .section-title.info-banner__title-text:before, .section-title.info-banner__title-text:after {
    border-color: #fff;
}

.form-card-modal__title-inner:before, .form-card-modal__title-inner:after {
    border-color: #fff;
}

.section-title__text {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--fs-46);
    line-height: var(--lh-russo-1205);
    text-transform: uppercase;
    color: var(--color-black);
}

.section-title--light .section-title__text {
    color: var(--color-white);
}

/* Payments */
.payment-card {
    background: var(--color-sand-100);
    padding: 40px; /* layout_IXNWYD */
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px; /* layout_IXNWYD */
}

.payment-card__value {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--fs-30);
    line-height: var(--lh-russo);
    color: var(--color-black);
}

.payment-card__desc {
    margin: 0;
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 20px; /* style_0A4MU3 */
    line-height: var(--lh-arial);
    color: var(--color-black);
}

/* Payment accordion (node 30:682) */
.payment-accordion {
    max-width: 920px; /* layout_KCLZ96 */
}

.payment-accordion .section-title {
    margin: 0 auto 40px; /* layout_KCLZ96 gap */
}

.payment-accordion__info {
    display: flex;
    flex-direction: column;
    align-items: center; /* layout_CRBMJA */
    gap: 20px; /* layout_CRBMJA */
    margin-bottom: 40px; /* layout_KCLZ96 gap */
}

.payment-accordion__alert {
    display: flex; /* layout_AVPMES */
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 20px; /* layout_AVPMES */
    background: var(--color-sand-100); /* fill_KDGD2Z */
}

.payment-accordion__alert-text {
    margin: 0;
    font-family: var(--font-display);
    font-size: var(--fs-14); /* style_BGWTS4 in node; keep compact */
    line-height: var(--lh-russo-1205);
    text-transform: uppercase;
    color: var(--color-black);
}

.payment-accordion__note {
    margin: 0;
    font-family: var(--font-body); /* style_6TBDI6 */
    font-size: 16px;
    line-height: var(--lh-arial);
    text-align: center;
    color: var(--color-black);
}
.payment-accordion__note a {
    color: inherit;
}

.payment-accordion__list {
    --bs-accordion-bg: transparent;
    --bs-accordion-border-color: transparent;
    --bs-accordion-border-radius: 0;
    --bs-accordion-inner-border-radius: 0;
    --bs-accordion-btn-padding-x: 0;
    --bs-accordion-btn-padding-y: 0;
    --bs-accordion-body-padding-x: 0;
    --bs-accordion-body-padding-y: 0;
    --bs-accordion-btn-focus-box-shadow: none;
    --bs-accordion-active-bg: transparent;
    --bs-accordion-active-color: inherit;
    display: block;
}

.payment-accordion__list .accordion-item + .accordion-item {
    margin-top: 20px; /* layout_WY4DWX */
}

.payment-accordion__list .accordion-collapse {
    padding-top: 20px; /* keeps visible open state */
}

.payment-accordion__item {
    padding: 0 0 20px;
    border-bottom: 1px solid var(--color-black); /* stroke_OP7ZRT */
}

.payment-accordion__button {
    width: 100%;
    display: flex; /* layout_CVBWZM */
    align-items: center;
    gap: 20px;
    background: transparent;
    box-shadow: none;
}

.payment-accordion__button::after {
    display: none;
}

.payment-accordion__button:not(.collapsed) {
    background: transparent;
    color: inherit;
    box-shadow: none;
}

.payment-accordion__item-left {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.payment-accordion__value {
    margin: 0;
    font-family: var(--font-display); /* style_DGYUSC */
    font-size: 20px;
    line-height: var(--lh-russo-1205);
    color: var(--color-olive-800); /* fill_YZV3BQ */
}

.payment-accordion__desc {
    margin: 0;
    font-family: var(--font-body); /* style_KXF2PA */
    font-size: 16px;
    line-height: var(--lh-arial);
    color: var(--color-black);
}

.payment-accordion__toggle {
    width: 47px;
    height: 47px; /* layout_QDCRLG */
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.payment-accordion__toggle img {
    display: block;
}

.payment-accordion__content {
    display: flex;
    flex-direction: column;
    gap: 20px; /* layout_HGOQP7 */
}

.payment-accordion__button[aria-expanded="true"] .payment-accordion__toggle img {
    transform: rotate(45deg);
}

.payment-accordion__item-head {
    display: flex;
    align-items: center;
    gap: 20px;
}

.payment-accordion__table {
    display: grid;
    gap: 0;
}

.payment-accordion__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid rgba(0, 0, 0, 0.15);
}

.payment-accordion__row--head {
    border-top: 0;
}

.payment-accordion__cell {
    padding: 14px 16px;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: var(--lh-arial);
    color: var(--color-black);
}

.payment-accordion__row--head .payment-accordion__cell {
    font-family: var(--font-display);
    font-size: 16px;
    text-transform: uppercase;
}

/* Benefits */
.benefits__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.section-split {
    --split-gap: 40px; /* layout_N33RG3/layout_OECOW1 */
}

.section-split > [class*="col-"] {
    display: flex;
}

.section-split--benefits .benefits__panel,
.section-split--who-can .who-can__panel,
.section-split--facilities .facilities__panel,
.section-split--government .government__panel {
    width: 100%;
}

.benefits__panel {
    background: var(--color-olive-900);
    padding: 60px;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 30px;
    color: var(--color-white);
}

.benefits__title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--fs-46);
    line-height: var(--lh-russo); /* style_RXP8JC */
    text-transform: uppercase;
}

.benefits__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.benefits__item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.benefits__bullet {
    width: 23px;
    height: 23px;
    flex: 0 0 auto;
    display: block;
    margin-top: 4px;
}

.benefits__item-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 20px; /* style_SRO2ZB / style_DGYUSC */
    line-height: var(--lh-russo-1205);
    color: var(--color-white);
    margin: 5px 0;
}

.benefits__item-title--tight {
    line-height: var(--lh-russo); /* style_SRO2ZB */
}

.benefits__item-desc {
    margin: 0;
    font-family: var(--font-body);
    font-size: 16px; /* style_KXF2PA */
    line-height: var(--lh-arial);
    color: var(--color-white);
}

/* Who can */
.who-can__panel {
    background: var(--color-white);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 40px;
}

.who-can__title {
    margin: 0;
    font-family: var(--font-display);
    font-size: var(--fs-46);
    line-height: var(--lh-russo-1205);
    text-transform: uppercase;
    color: var(--color-black);
}

.who-can__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.who-can__item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px; /* layout_BXZ5FG */
}

.who-can__item-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 20px; /* style_DGYUSC */
    line-height: var(--lh-russo-1205);
    color: var(--color-black);
}

.who-can__item-desc {
    margin: 0;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: var(--lh-arial);
    color: var(--color-black);
}

.who-can__image-frame {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 320px;
    background-image: url("../assets/images/who-can-img.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.who-can__corner {
    position: absolute;
    width: 100px;
    height: 100px;
}

.who-can__corner--up {
    top: 0;
    right: 0;
}

.who-can__corner--bottom {
    bottom: 0;
    left: 0;
}

/* Steps */
.step-card {
    background: var(--color-white);
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.step-card__num {
    margin: 0;
    font-family: var(--font-display);
    font-size: var(--fs-46);
    line-height: var(--lh-russo-1205);
    color: var(--color-sand-300);
}

.step-card__title {
    margin: 0;
    font-family: var(--font-display);
    font-size: var(--fs-30);
    line-height: var(--lh-russo-1205);
    text-transform: uppercase;
    color: var(--color-black);
}

.step-card__desc {
    margin: 0;
    font-family: var(--font-body);
    font-size: 20px; /* style_0A4MU3 */
    line-height: var(--lh-arial);
    color: var(--color-black);
}

/* Form */
.form-card {
    position: relative;
    background: var(--color-green-gradient);
    padding: 100px 60px;
    display: flex;
    flex-direction: column;
    align-items: center; /* layout_IV8PY6 */
    gap: 40px; /* layout_IV8PY6 */
}

.form-card .section-title {
    justify-content: center; /* layout_7H73Z8 */
    text-align: center;
    margin-bottom: 0;
}

.form-card__title {
    line-height: var(--lh-russo); /* style_XIQYLT (46/1.14) */
    text-align: center;
}

.apply-form {
    max-width: 920px; /* layout_88OEO3 width */
    width: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px; /* layout_C9WMU8 */
}

.apply-form__row {
    --bs-gutter-x: 10px; /* layout_88OEO3 */
    --bs-gutter-y: 10px;
    align-items: flex-end; /* layout_88OEO3 */
}

.apply-form__row > [class*="col-"] {
    display: flex;
    flex-direction: column;
    gap: 5px; /* layout_WFOWG1 */
}

@media (min-width: 768px) {

}

.form-card__corner {
    position: absolute;
    width: 100px;
    height: 100px;
}

.form-card__corner--up {
    top: 0;
    right: 0;
}

.form-card__corner--bottom {
    bottom: 0;
    left: 0;
}

.apply-form__label {
    font-family: var(--font-display);
    font-size: 12px; /* style_SBIZJZ */
    line-height: var(--lh-russo-1205);
    text-transform: uppercase;
    color: var(--color-white);
    margin-bottom: 0; /* layout_WFOWG1 uses gap: 5px */
}

.apply-form__control {
    background: var(--color-white);
    border: 0;
    border-radius: 0;
    padding: 15px 20px; /* layout_MJK0IV */
    font-family: var(--font-body);
    font-size: 16px;
    line-height: var(--lh-arial);
}

.apply-form__control::placeholder {
    color: #a2a2a2; /* fill_DF5L2I */
    opacity: 1;
}

.apply-form__actions {
    display: flex;
    flex-direction: column;
    gap: 20px; /* layout_C9WMU8 */
    align-items: center;
    margin-top: 0;
}

.apply-form__consent {
    display: flex;
    align-items: center; /* layout_OEEQDE */
    gap: 10px;
    color: var(--color-white);
    max-width: 920px;
    width: 100%;
}

.apply-form__checkbox {
    width: 26px; /* layout_FXMFMW */
    height: 26px;
    margin: 0;
    flex: 0 0 auto;
    appearance: none;
    background: var(--color-white);
    border: 0;
    display: inline-block;
    position: relative;
}

.apply-form__checkbox:checked::after {
    content: "";
    position: absolute;
    inset: 6px;
    background: var(--color-olive-900);
}

.apply-form__consent-text {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: var(--lh-arial);
}
.apply-form__consent-text a {
    color: inherit;
}

/* Facilities */
.facilities__image,
.government__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.facilities__panel,
.government__panel {
    background: var(--color-white);
    height: 100%;
    display: flex; /* layout_Q3UHHF */
    flex-direction: column;
    align-items: stretch;
    gap: 40px;
}

.facilities__title,
.government__title {
    margin: 0;
    font-family: var(--font-display);
    font-size: var(--fs-46);
    line-height: var(--lh-russo-1205);
    text-transform: uppercase;
    color: var(--color-black);
}

.facilities__subtitle {
    margin: 0;
    font-family: var(--font-display);
    font-size: 20px; /* style_AYXZ7L */
    line-height: var(--lh-russo-1205);
    text-transform: uppercase;
}

.facilities__list,
.government__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Bullet list (Figma: layout_ZLSRRG + layout_HOPF64 + layout_1XWS2Y) */
.list-bullet {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.list-bullet__icon {
    flex: 0 0 auto;
    width: 23px;
    height: 23px;
    display: block;
    margin-top: 3px;
}

.list-bullet__text {
    display: block;
    font-family: var(--font-display);
    font-size: 20px;
    line-height: var(--lh-russo-1205);
    color: var(--color-black);
    max-width: 517px;
}

.list-bullet__text--tight {
    line-height: var(--lh-russo); /* style_SRO2ZB uses ~1.14 */
}

.facilities__list {
    display: flex; /* layout_HOPF64 */
    flex-direction: column;
    gap: 30px;
}

.government__list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Info banner */
.info-banner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    background-image: url("../assets/images/info-banner.jpg"); /* fill_O5J739 */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 60px;
}

.info-banner__edge {
    position: absolute;
    left: 0;
    width: 100%;
    height: 100px;
    display: block;
}

.info-banner__edge--top {
    top: 0;
}

.info-banner__edge--bottom {
    bottom: 0;
}

.info-banner__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.info-banner__title-text {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--fs-46);
    line-height: var(--lh-russo-1205);
    text-transform: uppercase;
    text-align: center;
    color: var(--color-white);
}

.info-banner__content {
    background: var(--color-sand-100);
    padding: 40px; /* layout_VT25OK */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
    max-width: 920px;
}

.info-banner__headline {
    margin: 0;
    font-family: var(--font-display);
    font-size: 30px;
    line-height: var(--lh-russo-1205);
}

.info-banner__text {
    margin: 0;
    font-family: var(--font-body);
    font-size: 20px;
    line-height: var(--lh-arial);
}

.btn-ornament--green .btn-ornament__body {
    background: #4f6643;
    color: var(--color-white);
}

.btn-ornament--green:hover .btn-ornament__body,
.btn-ornament--green:focus-visible .btn-ornament__body {
    background: #445a3a;
}

/* FAQ (node 30:716) */
.faq {
    max-width: 920px; /* layout_KCLZ96 */
    margin: 0 auto;
}

.faq__tabs {
    margin: 0 0 40px;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 40px; /* layout_ZRQJNG */
    justify-content: center;
}

.faq__tab {
    padding: 0 0 20px; /* layout_II3VCO */
    border: 0;
    border-bottom: 3px solid transparent; /* stroke_74GR5E for active */
    border-radius: 0;
    background: transparent;
    font-family: var(--font-display); /* style_SRO2ZB */
    font-size: 20px;
    line-height: var(--lh-russo-1205);
    color: #a2a2a2; /* fill_DF5L2I */
    text-transform: uppercase;
}

.faq__tab.active {
    color: #4f6643; /* fill_YZV3BQ */
    border-bottom-color: #4f6642; /* stroke_74GR5E */
}

.faq__accordion {
    --bs-accordion-bg: transparent;
    --bs-accordion-border-color: transparent;
    --bs-accordion-border-radius: 0;
    --bs-accordion-inner-border-radius: 0;
    --bs-accordion-btn-padding-x: 0;
    --bs-accordion-btn-padding-y: 0;
    --bs-accordion-body-padding-x: 0;
    --bs-accordion-body-padding-y: 0;
    --bs-accordion-btn-focus-box-shadow: none;
    --bs-accordion-active-bg: transparent;
    --bs-accordion-active-color: inherit;
}

.faq__item + .faq__item {
    margin-top: 20px; /* layout_WY4DWX */
}

.faq__button {
    width: 100%;
    display: flex; /* layout_BJBIJI */
    align-items: center;
    gap: 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid var(--color-black); /* stroke_OP7ZRT */
    background: transparent;
    box-shadow: none;
}

.faq__button::after {
    display: none;
}

.faq__question {
    display: block;
    font-family: var(--font-display);
    font-size: 20px; /* style_SRO2ZB */
    line-height: var(--lh-russo-1205);
    color: var(--color-black);
    text-align: left;
    max-width: 853px; /* layout_RTSSSD */
}

.faq__icon {
    margin-left: auto;
    width: 47px;
    height: 47px;
    display: inline-flex;
}

.faq__icon img {
    display: block;
}

.faq__button[aria-expanded="true"] .faq__icon img {
    transform: rotate(45deg);
}

.faq__answer {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: var(--lh-arial);
    color: var(--color-black);
    padding-top: 20px;
}

.faq__empty {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: var(--lh-arial);
    color: var(--color-black);
}
/* Footer */
.site-footer {
    padding: 60px 0;
    background: var(--color-white);
}

.site-footer__grid {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}

.site-footer__left {
    display: flex;
    flex-direction: column;
}

.site-footer__brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.site-footer__brand-text {
    font-family: var(--font-display);
    font-size: var(--fs-18);
    line-height: var(--lh-russo);
    text-transform: uppercase;
}

.site-footer__links {
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.site-footer__link {
    font-family: var(--font-display);
    font-size: var(--fs-14);
    line-height: var(--lh-russo);
    text-transform: uppercase;
    color: var(--color-black);
    text-decoration: none;
}

.site-footer__legal {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.3;
    color: rgba(0, 0, 0, 0.6);
}

.site-footer__contacts {
    min-width: 220px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-end;
}

.site-footer__contact-line {
    display: flex;
    align-items: center;
    gap: 10px;
}

.site-footer__phone {
    font-family: var(--font-display);
    font-size: var(--fs-20);
    line-height: var(--lh-russo-1205);
    text-transform: uppercase;
    color: var(--color-black);
    text-decoration: none;
}

.site-footer__email {
    font-family: var(--font-display);
    font-size: var(--fs-14);
    line-height: var(--lh-russo-1205);
    text-transform: uppercase;
    color: var(--color-black);
    text-decoration: none;
}

/* Hero */
.hero {
    position: relative;
    min-height: 888px; /* layout_0LZH57 height */
    overflow: hidden;
}

.hero__bg {
    position: absolute;
    inset: 0;
    background-image: var(--hero-overlay), url("../assets/images/hero-img.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero__container {
    position: relative;
    height: calc(888px - var(--header-h));
}

.hero__content {
    position: relative;
    max-width: 730px; /* layout_EZ7EFP */
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 30px; /* layout_EZ7EFP */
    height: 888px; /* layout_EZ7EFP */
    padding-top: 0;
}

.hero__title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--fs-56);
    line-height: var(--lh-hero);
    text-transform: uppercase;
    color: var(--color-white);
}

.hero__list {
    margin: 0;
    padding-left: 22px;
    list-style: disc;
    font-family: var(--font-body); /* style_0A4MU3 */
    font-weight: 400;
    font-size: 20px;
    line-height: var(--lh-arial);
    color: var(--color-white); /* fill_ABCZ3D */
    line-height: 140%;
}

.hero__list li + li {
    margin-top: 6px;
}

.btn-ornament--hero .btn-ornament__body {
    min-width: 220px;
}

/* Responsive: mobile-first tweaks */
@media (max-width: 767.98px) {
    .main-stack {
        gap: 48px;
        padding: 48px 0;
    }

    .section-title__text {
        font-size: 28px;
    }

    .site-header__wrapper {
        gap: 115px; /* layout_GXXPKR */
        padding: 15px 0;
    }

    .site-header__left {
        gap: 0;
    }

    .site-header__toggler {
        display: inline-flex;
    }

    .site-header__brand {
        display: none; /* 89:457 — в шапке только бургер */
    }

    .site-header__contacts {
        display: none;
        width: auto;
    }

    .hero {
        min-height: 640px;
    }

    .hero__container {
        height: calc(640px - var(--header-h));
    }

    .hero__content {
        padding-top: 120px;
        height: auto;
    }

    .hero__title {
        font-size: 32px;
    }

    .form-card,
    .info-banner,
    .benefits__panel {
        padding: 24px;
    }
    .who-can__title, .facilities__title, .government__title {
        font-size: var(--fs-30);
    }

    .info-banner__title-text, .benefits__title {
        font-size: var(--fs-30);
    }
}

@media (min-width: 768px) and (max-width: 1299.98px) {
    .site-header__wrapper {
        padding: 15px 0; /* layout_GXXPKR */
    }

    .site-header__toggler {
        display: none;
    }

    .site-header__brand {
        display: inline-flex;
    }

    .site-header__contacts {
        display: flex;
    }

    .site-header__right {
        gap: 20px; /* layout_7PDYAW — планшет 768 */
    }
}

@media (min-width: 768px) and (max-width: 1439.98px) {
    .main-stack {
        gap: 64px;
        padding: 64px 0;
    }

    .hero__title {
        font-size: 44px;
    }

    .site-footer__contacts {
        align-items: flex-start;
    }
}
@media (max-width: 1439px) {
    .site-footer__links {
        margin-top: 40px;
    }
}
@media (min-width: 1440px) {

    .hero__container {
        height: 888px;
        display: flex;
        align-items: flex-start;
    }

    .site-footer__grid {
        flex-wrap: nowrap;
        gap: 115px; /* layout_VJ5GBX */
    }

    .site-footer__left {
        flex-direction: row;
        gap: 60px; /* layout_ZYC9E0 */
        align-items: flex-start;
    }

    .site-footer__contacts {
        align-items: flex-end;
    }

    /* Desktop pixel-fit for split sections */
    .section-split {
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
        column-gap: var(--split-gap);
    }

    .section-split--benefits > .col-lg-6:last-child,
    .section-split--who-can > .col-lg-6:first-child,
    .section-split--facilities > .col-lg-6:last-child,
    .section-split--government > .col-lg-6:first-child {
        flex: 0 0 560px; /* layout_Q3UHHF / layout_NHNFS6 width */
        max-width: 560px;
    }

    .section-split--benefits > .col-lg-6:first-child,
    .section-split--who-can > .col-lg-6:last-child,
    .section-split--facilities > .col-lg-6:first-child,
    .section-split--government > .col-lg-6:last-child {
        flex: 1 1 auto;
        max-width: calc(100% - 560px - var(--split-gap));
    }

    .facilities__image,
    .government__image,
    .benefits__image,
    .who-can__image-frame {
        height: 600px; /* layout_HTVA8L */
    }

    .who-can__panel {
        height: 600px; /* layout_NHNFS6 */
    }

    .benefits__panel {
        height: 600px;
    }
}
.navy-colored {
    color: var(--color-sand-300);
}
.btn-ornament__body {
    clip-path: polygon(
        0% 0%,                    /* верхний левый — обычный */
        calc(100% - 14px) 0%,     /* верхний правый — начало среза */
        100% 14px,                /* верхний правый — конец среза */
        100% 100%,                /* нижний правый — обычный */
        14px 100%,                /* нижний левый — начало среза */
        0% calc(100% - 14px)      /* нижний левый — конец среза */
        );
}
.who-can__image-frame, .form-card, .info-banner {
    clip-path: polygon(
        0% 0%,                    /* верхний левый — обычный */
        calc(100% - 80px) 0%,     /* верхний правый — начало среза */
        100% 80px,                /* верхний правый — конец среза */
        100% 100%,                /* нижний правый — обычный */
        80px 100%,                /* нижний левый — начало среза */
        0% calc(100% - 80px)      /* нижний левый — конец среза */
        );
}
@media (max-width: 767px) {
    .who-can__image-frame, .form-card, .info-banner {
        clip-path: polygon(
            0% 0%,                    /* верхний левый — обычный */
            calc(100% - 40px) 0%,     /* верхний правый — начало среза */
            100% 40px,                /* верхний правый — конец среза */
            100% 100%,                /* нижний правый — обычный */
            40px 100%,                /* нижний левый — начало среза */
            0% calc(100% - 40px)      /* нижний левый — конец среза */
            );
    }
}
.section-title--centered {
    margin: 0 auto 40px;
}
.nav-link:focus, .nav-link:hover {
    color: #4f6643;
}

body.error-404-body {
    min-height: 100vh;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    padding: 24px 16px;
}

.error-404 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    width: max-content;
    max-width: 100%;
    min-height: 884px;
    box-sizing: border-box;
    margin: 0 auto;
}

.error-404__code {
    font-family: "Russo One", sans-serif;
    font-weight: 400;
    font-size: clamp(5rem, 18vw, 300px);
    line-height: 1.14;
    text-transform: uppercase;
    text-align: center;
    color: #d7c6af;
    margin: 0;
    width: 100%;
}

.error-404__title {
    font-family: "Russo One", sans-serif;
    font-weight: 400;
    font-size: clamp(1.25rem, 4.5vw, 46px);
    line-height: 1.14;
    text-transform: uppercase;
    text-align: left;
    color: #000000;
    margin: 0;
    margin-top: 0;
    width: 100%;
}

.info-page {
    max-width: 920px;
    width: 100%;
    margin: 0 auto;
    padding: 150px 24px 80px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.info-page h1 {
    font-family: "Russo One", sans-serif;
    font-weight: 400;
    font-size: clamp(1.75rem, 4vw, 46px);
    line-height: 1.4;
    text-transform: uppercase;
    text-align: left;
    color: #000000;
    margin: 0;
}

.info-page h2 {
    font-family: "Russo One", sans-serif;
    font-weight: 400;
    font-size: clamp(1.375rem, 3vw, 30px);
    line-height: 1.4;
    text-align: left;
    color: #000000;
    margin: 0;
}

.info-page p {
    font-family: Arial, sans-serif;
    font-weight: 400;
    font-size: clamp(1rem, 2.2vw, 20px);
    line-height: 1.4;
    text-align: left;
    color: #000000;
    margin: 0;
}

.info-page ul {
    font-family: Arial, sans-serif;
    font-weight: 400;
    font-size: clamp(1rem, 2.2vw, 20px);
    line-height: 1.4;
    text-align: left;
    color: #000000;
    margin: 0;
    padding-left: 1.25em;
}

.info-page li {
    margin-bottom: 0.35em;
}

.info-page li:last-child {
    margin-bottom: 0;
}

.cookie-banner {
    --c-button-bg: #f0ebe3;
    --c-button-text: #000000;

    position: fixed;
    z-index: 1000;
    right: 24px;
    bottom: 24px;
    max-width: calc(100vw - 48px);
    box-sizing: border-box;
}

@media (max-width: 480px) {
    .cookie-banner {
        left: 16px;
        right: 16px;
        bottom: 16px;
        max-width: none;
    }
}

.cookie-banner__box {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 30px;
    background: linear-gradient(90deg, rgb(41, 48, 37) 0%, rgb(128, 150, 116) 100%);
    width: max-content;
    max-width: min(100%, 420px);
    box-sizing: border-box;
}

@media (max-width: 480px) {
    .cookie-banner__box {
        width: 100%;
        max-width: none;
    }
}

.cookie-banner__box p {
    margin: 0;
    color: #ffffff;
    text-align: left;
}

.cookie-banner__box p:first-of-type {
    font-family: "Russo One", sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.4;
}

.cookie-banner__box p + p {
    font-family: Arial, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.4;
}

.cookie-banner__actions {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 0;
}
.is-hidden {
    display: none !important;
}

.modal-application .modal-content {
    background: transparent;
    border: none;
    box-shadow: none;
}

.modal-application .modal-body {
    padding: 0;
}

.modal-application .modal-dialog {
    max-width: min(100vw - 2rem, 580px);
    margin-left: auto;
    margin-right: auto;
}
.form-card-modal {
    --c-bg-start: rgb(41, 48, 37);
    --c-bg-end: rgb(128, 150, 116);
    --c-white: #ffffff;
    --c-placeholder: #a2a2a2;
    --c-button-bg: #f0ebe3;
    --c-button-text: #000000;

    width: 100%;
    max-width: 540px;
    position: relative;
    margin: 0 auto;
    padding: 50px;
    background: linear-gradient(90deg, var(--c-bg-start) 0%, var(--c-bg-end) 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    font-family: Arial, sans-serif;
}

.form-card-modal__close {
    position: absolute;
    top: 0;
    right: 0;
    width: 47px;
    height: 47px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-white);
    transition: opacity 0.2s;
}

.form-card-modal__close:hover {
    opacity: 0.75;
}

.form-card-modal__close svg {
    display: block;
}

.form-card-modal__top {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: stretch;
    margin-bottom: 40px;
}

.form-card-modal__title-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.form-card-modal__title-inner {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 18px;
}

.form-card-modal__star {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: var(--c-white);
}

.form-card-modal__title-inner h2 {
    font-family: "Russo One", sans-serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 1.14;
    text-transform: uppercase;
    text-align: center;
    color: var(--c-white);
    margin: 0;
}

.form-card-modal__deco {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    min-height: 10px;
    margin-top: 4px;
}

.form-card-modal__deco svg {
    display: block;
}

.application-form {
    width: 100%;
    max-width: 440px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.form-field {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    width: 100%;
}

.form-field__label {
    font-family: "Russo One", sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.14;
    text-transform: uppercase;
    color: var(--c-white);
}

.form-field__input {
    width: 100%;
    padding: 15px 20px;
    border: none;
    font-family: Arial, sans-serif;
    font-size: 16px;
    line-height: 1.15;
    color: #000000;
    background: var(--c-white);
}

.form-field__input::placeholder {
    color: var(--c-placeholder);
}

.form-field__input:focus {
    outline: 2px solid var(--c-button-bg);
    outline-offset: 0;
}

.form-field__input--error {
    outline: 2px solid #c44;
    outline-offset: 0;
}

.form-check {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    padding-left: 0;
}

.form-check__input {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    margin: 0;
    accent-color: var(--c-bg-start);
    cursor: pointer;
}

.form-check__label {
    font-family: Arial, sans-serif;
    font-size: 16px;
    line-height: 1.15;
    color: var(--c-white);
    cursor: pointer;
    user-select: none;
}

.form-check__label a {
    color: var(--c-white);
    text-decoration: underline;
}

.form-check--error .form-check__input {
    outline: 2px solid #c44;
    outline-offset: 2px;
}

.form-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
}

.form-submit {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
    font: inherit;
}

.form-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.form-submit__cap {
    width: 32px;
    min-height: 48px;
    background: var(--c-button-bg);
    flex-shrink: 0;
}

.form-submit__cap--left {
    clip-path: polygon(100% 0, 100% 100%, 0 100%, 35% 50%, 0 0);
}

.form-submit__cap--right {
    clip-path: polygon(0 0, 100% 0, 65% 50%, 100% 100%, 0 100%);
}

.form-submit__text {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 24px;
    background: var(--c-button-bg);
    font-family: "Russo One", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.14;
    text-transform: uppercase;
    color: var(--c-button-text);
}

.form-errors-global p,
.form-field__error-msg p {
    font-family: Arial, sans-serif;
    font-size: 13px;
    color: #ffb4b4;
    margin: 0;
}

.form-field__error-msg[data-error-for="consent"] {
    margin-left: 36px;
}

.form-card-modal__success-lead {
    width: 100%;
    max-width: 440px;
    margin: 0;
}

.form-card-modal__success-lead p {
    font-family: Arial, sans-serif;
    font-size: 16px;
    line-height: 1.15;
    text-align: center;
    color: var(--c-white);
    margin: 0;
}
@media (max-width: 767px) {
    .form-card-modal {
        padding: 30px;
    }
    .form-card-modal__title-inner h2 {
        font-size: 26px;
    }
}