html {
    margin: 0;
    box-sizing: border-box;
    font-size: 100%
}

body {
    margin: 0;
    font-family: 'PT Sans', sans-serif
}

.top-bar {
    background: linear-gradient(135deg, #EFEEEE 0%, #fff 100%);
    padding: 16px 28px;
    border-bottom: 1px solid #05024b14
}

.top-bar__inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 56px
}

.brand-cluster {
    display: flex;
    align-items: center;
    gap: 16px
}

.brand-cluster__name {
    font-size: 33px;
    font-weight: 700;
    color: #05024B;
    letter-spacing: -.02em;
    line-height: 1.1;
    margin: 0
}

.logo-box {
    width: 44px;
    height: 44px;
    background: #fff;
    border: 2px solid #05024B;
    box-shadow: -1px 4px 14px 0 #05024b17;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    flex-shrink: 0
}

.logo-box__img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.nav-split {
    display: flex;
    align-items: center;
    gap: 56px;
    flex: 1;
    justify-content: center
}

.nav-split__left,
.nav-split__right {
    display: flex;
    gap: 28px;
    align-items: center
}

.nav-split__link {
    font-size: 16px;
    color: #05024B;
    text-decoration: none;
    font-weight: 400;
    line-height: 1.5;
    padding: 8px 16px;
    border-radius: 10px;
    transition: background-color .38s ease-out, transform .22s ease-out, box-shadow .28s ease-out;
    position: relative
}

.nav-split__link:hover {
    background-color: #fd21040f;
    transform: translateY(-2px);
    box-shadow: -1px 4px 14px 0 #fd210417
}

.nav-split__link:active {
    transform: scale(0.97) translateY(0);
    box-shadow: inset -1px 1px 3px 0 #05024b12
}

.nav-split__link:focus {
    outline: 3px solid #FD2104;
    outline-offset: 2px
}

.trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #fff;
    border: 1px solid #05024b1f;
    border-radius: 32px;
    box-shadow: -1px 1px 3px 0 #05024b12
}

.trust-badge__icon {
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #FD2104 0%, #05024B 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.trust-badge__icon::before {
    content: '';
    width: 10px;
    height: 6px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg) translateY(-1px)
}

.trust-badge__text {
    font-size: 14px;
    color: #05024B;
    font-weight: 700;
    line-height: 1.1
}

@media (max-width: 1280px) {
    .top-bar__inner {
        flex-wrap: wrap;
        gap: 28px
    }

    .nav-split {
        order: 3;
        width: 100%;
        justify-content: space-between
    }

    .brand-cluster {
        order: 1
    }

    .trust-badge {
        order: 2
    }
}

@media (max-width: 768px) {
    .top-bar {
        padding: 16px
    }

    .top-bar__inner {
        gap: 16px
    }

    .brand-cluster__name {
        font-size: 16px
    }

    .logo-box {
        width: 36px;
        height: 36px
    }

    .nav-split {
        flex-direction: column;
        gap: 16px
    }

    .nav-split__left,
    .nav-split__right {
        flex-direction: column;
        gap: 8px;
        width: 100%
    }

    .nav-split__link {
        width: 100%;
        text-align: center;
        padding: 16px
    }

    .trust-badge {
        width: 100%;
        justify-content: center
    }
}

@media (max-width: 390px) {
    .brand-cluster {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }
}

.floor {
    background: #05024B;
    padding: 56px 28px 28px;
    position: relative;
    overflow: hidden
}

.floor::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 8px;
    background: linear-gradient(90deg, #FD2104 0%, #05024B 50%, #FD2104 100%)
}

.floor::after {
    content: '';
    position: absolute;
    top: -40px;
    left: 0;
    right: 0;
    height: 80px;
    background: #fff;
    clip-path: polygon(0 0, 100% 0, 100% 40%, 80% 50%, 60% 40%, 40% 50%, 20% 40%, 0 50%)
}

.floor__inner {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.floor__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 56px;
    margin-bottom: 56px
}

.floor-col__heading {
    font-size: 16px;
    font-weight: 700;
    color: #EFEEEE;
    margin: 0 0 16px;
    line-height: 1.5;
    letter-spacing: -.01em
}

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

.floor-col__link {
    font-size: 14px;
    color: #efeeeed1;
    text-decoration: none;
    line-height: 1.8;
    transition: color .32s ease-out, transform .18s ease-out;
    display: inline-block
}

.floor-col__link:hover {
    color: #FD2104;
    transform: translateX(4px)
}

.floor-col__link:active {
    transform: scale(0.96)
}

.floor-col__link:focus {
    outline: 3px solid #FD2104;
    outline-offset: 2px
}

.floor-divider {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #efeeee33 20%, #efeeee33 80%, transparent 100%);
    margin-bottom: 28px
}

.floor-bottom {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 56px;
    align-items: center
}

.floor-logo-area {
    position: relative
}

.floor-logo-area::before {
    content: '';
    position: absolute;
    top: -16px;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #FD2104 0%, #EFEEEE 100%)
}

.floor-logo-box {
    width: 48px;
    height: 48px;
    background: #fff;
    border: 2px solid #FD2104;
    box-shadow: -1px 10px 44px 0 #fd210424;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    margin-top: 16px
}

.floor-logo-box__img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.floor-contact {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.floor-contact__item {
    font-size: 14px;
    color: #efeeeeb8;
    line-height: 1.8;
    display: flex;
    align-items: center;
    gap: 8px
}

.floor-contact__icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0
}

.floor-contact__icon--location {
    background: #FD2104;
    clip-path: polygon(50% 0%, 80% 20%, 80% 50%, 50% 100%, 20% 50%, 20% 20%)
}

.floor-contact__icon--phone {
    background: #FD2104;
    border-radius: 3px;
    position: relative
}

.floor-contact__icon--phone::before {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    right: 3px;
    bottom: 3px;
    border: 2px solid #fff;
    border-radius: 2px
}

.floor-contact__icon--email {
    background: #FD2104;
    clip-path: polygon(0% 20%, 50% 60%, 100% 20%, 100% 80%, 0% 80%)
}

.floor-contact__link {
    color: #efeeeed1;
    text-decoration: none;
    transition: color .28s ease-out
}

.floor-contact__link:hover {
    color: #FD2104
}

.floor-contact__link:focus {
    outline: 3px solid #FD2104;
    outline-offset: 2px
}

.floor-copyright {
    font-size: 14px;
    color: #efeeee9e;
    line-height: 1.5;
    text-align: right
}

@media (max-width: 1280px) {
    .floor__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px
    }

    .floor-bottom {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .floor-copyright {
        text-align: left
    }
}

@media (max-width: 768px) {
    .floor {
        padding: 56px 16px 28px
    }

    .floor__grid {
        grid-template-columns: 1fr;
        gap: 28px
    }
}

@media (max-width: 390px) {
    .floor__grid {
        gap: 16px
    }

    .floor-bottom {
        gap: 16px
    }
}

.consent-box {
    position: fixed;
    top: 28px;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 680px;
    background: #fff;
    border: 2px solid #05024B;
    border-radius: 10px;
    box-shadow: -1px 10px 44px 0 #05024b24;
    padding: 28px;
    z-index: 1200;
    opacity: 0;
    transition: opacity .38s ease-out;
    display: none
}

.consent-box--visible {
    opacity: 1
}

.consent-box__headline {
    font-size: 16px;
    font-weight: 700;
    color: #05024B;
    margin: 0 0 8px;
    line-height: 1.5;
    letter-spacing: -.01em
}

.consent-box__description {
    font-size: 14px;
    color: #05024B;
    line-height: 1.8;
    margin: 0 0 16px
}

.consent-box__description-link {
    color: #FD2104;
    text-decoration: underline;
    transition: color .22s ease-out
}

.consent-box__description-link:hover {
    color: #05024B
}

.consent-box__description-link:focus {
    outline: 3px solid #FD2104;
    outline-offset: 2px
}

.consent-box__actions {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap
}

.consent-box__btn {
    font-size: 14px;
    font-family: 'PT Sans', sans-serif;
    padding: 8px 28px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color .28s ease-out, color .28s ease-out, transform .18s ease-out, box-shadow .32s ease-out;
    text-decoration: underline;
    background: transparent;
    color: #05024B;
    font-weight: 400
}

.consent-box__btn:hover {
    background-color: #05024b0f;
    transform: translateY(-1px);
    box-shadow: -1px 4px 14px 0 #05024b17
}

.consent-box__btn:active {
    transform: scale(0.97);
    box-shadow: inset -1px 1px 3px 0 #05024b12
}

.consent-box__btn:focus {
    outline: 3px solid #FD2104;
    outline-offset: 2px
}

.consent-box__btn--primary {
    background: #05024B;
    color: #fff;
    font-weight: 700;
    text-decoration: none
}

.consent-box__btn--primary:hover {
    background: #FD2104;
    box-shadow: -1px 10px 44px 0 #fd210424
}

.consent-settings {
    display: none;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #05024b1f
}

.consent-settings--visible {
    display: block
}

.consent-settings__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.consent-settings__item {
    display: flex;
    align-items: center;
    gap: 8px
}

.consent-settings__checkbox {
    width: 20px;
    height: 20px;
    border: 2px solid #05024B;
    border-radius: 3px;
    cursor: pointer;
    transition: background-color .22s ease-out, border-color .22s ease-out, box-shadow .28s ease-out;
    appearance: none;
    flex-shrink: 0
}

.consent-settings__checkbox:checked {
    background-color: #FD2104;
    border-color: #FD2104;
    box-shadow: inset -1px 1px 3px 0 #05024b12;
    position: relative
}

.consent-settings__checkbox:checked::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 6px;
    width: 4px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg)
}

.consent-settings__checkbox:hover {
    border-color: #FD2104;
    box-shadow: -1px 1px 3px 0 #fd210412
}

.consent-settings__checkbox:focus {
    outline: 3px solid #FD2104;
    outline-offset: 2px
}

.consent-settings__label {
    font-size: 14px;
    color: #05024B;
    line-height: 1.5;
    cursor: pointer
}

@media (max-width: 768px) {
    .consent-box {
        top: 16px;
        left: 16px;
        right: 16px;
        margin: 0;
        padding: 16px
    }

    .consent-box__actions {
        flex-direction: column;
        align-items: stretch
    }

    .consent-box__btn {
        width: 100%;
        text-align: center
    }
}

@media (max-width: 390px) {
    .consent-box {
        top: 8px;
        left: 8px;
        right: 8px
    }
}

.text-doc {
    background: #fff;
    margin: 0 auto;
    max-width: 1100px;
    padding: 56px 16px
}

@media (min-width: 768px) {
    .text-doc {
        padding: 56px 28px
    }
}

.text-doc h1 {
    color: #05024B;
    font-size: 62px;
    line-height: 1.1;
    margin: 0 0 56px
}

.text-doc h2 {
    color: #05024B;
    font-size: 33px;
    line-height: 1.1;
    margin: 56px 0 28px
}

.text-doc h3 {
    color: #05024B;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin: 28px 0 16px
}

.text-doc h4,
.text-doc h5,
.text-doc h6 {
    color: #05024B;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    margin: 28px 0 16px
}

.text-doc p {
    color: #05024B;
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 16px
}

.text-doc ul,
.text-doc ol {
    color: #05024B;
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 16px;
    padding: 0 0 0 28px
}

.text-doc li {
    margin: 0 0 8px
}

.text-doc li:last-child {
    margin: 0
}

.text-doc strong,
.text-doc b {
    font-weight: 700
}

.text-doc table {
    border-collapse: collapse;
    font-size: 16px;
    margin: 0 0 28px;
    width: 100%
}

.text-doc thead {
    background: #EFEEEE
}

.text-doc th {
    border: 1px solid #EFEEEE;
    color: #05024B;
    font-weight: 700;
    line-height: 1.5;
    padding: 16px;
    text-align: left
}

.text-doc td {
    border: 1px solid #EFEEEE;
    color: #05024B;
    line-height: 1.8;
    padding: 16px
}

.text-doc tbody tr:nth-child(even) {
    background: #EFEEEE
}

.text-doc hr {
    border: 0;
    border-top: 1px solid #EFEEEE;
    margin: 56px 0
}

.text-doc div {
    margin: 0 0 16px
}

@media (max-width: 767px) {
    .text-doc h1 {
        font-size: 33px;
        margin: 0 0 28px
    }

    .text-doc h2 {
        font-size: 16px;
        font-weight: 700;
        margin: 28px 0 16px
    }

    .text-doc table {
        display: block;
        overflow-x: auto
    }
}

.cnt-pg {
    background: #FFF;
    color: #05024B;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0
}

.cnt-pg__ttl-wrp {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 56px 28px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%)
}

.cnt-pg__ttl-cntnt {
    flex: 1;
    padding-right: 56px;
    z-index: 2
}

.cnt-pg__ttl-lbl {
    font-size: 14px;
    line-height: 1.5;
    color: #EFEEEE;
    margin-bottom: 8px;
    letter-spacing: .02em;
    opacity: .92;
    transition: opacity .67s ease-out
}

.cnt-pg__ttl-lbl:hover {
    opacity: 1
}

.cnt-pg__ttl-hdng {
    font-size: 62px;
    line-height: 1.1;
    color: #FFF;
    margin: 0 0 16px;
    letter-spacing: -.02em;
    transition: transform .78s ease-out
}

.cnt-pg__ttl-hdng:hover {
    transform: translateX(4px)
}

.cnt-pg__ttl-dsc {
    font-size: 16px;
    line-height: 1.8;
    color: #EFEEEE;
    margin: 0;
    max-width: 480px
}

.cnt-pg__ttl-img-wrp {
    flex: 1;
    position: relative;
    height: 420px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: -1px 10px 44px 0 #fd210424
}

.cnt-pg__ttl-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .85s ease-out
}

.cnt-pg__ttl-img-wrp:hover .cnt-pg__ttl-img {
    transform: scale(1.06)
}

.cnt-pg__ttl-dcts {
    position: absolute;
    top: 28px;
    left: 28px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 1
}

.cnt-pg__ttl-dct {
    width: 8px;
    height: 8px;
    background: #efeeee99;
    border-radius: 999px;
    transition: all .42s ease-out
}

.cnt-pg__ttl-dct:nth-child(2) {
    margin-left: 16px
}

.cnt-pg__ttl-dct:nth-child(3) {
    margin-left: 28px
}

.cnt-pg__ttl-dct:hover {
    background: #EFEEEE;
    transform: scale(1.4)
}

.cnt-pg__inf-sctn {
    padding: 56px 28px;
    background: #EFEEEE;
    position: relative;
    overflow: hidden
}

.cnt-pg__inf-sctn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, #fd21040a 0%, transparent 70%);
    transform: translate(-50%, -50%);
    animation: cnt-pg-pls 6s ease-in-out infinite;
    pointer-events: none
}

@keyframes cnt-pg-pls {

    0%,
    100% {
        opacity: .3
    }

    50% {
        opacity: .6
    }
}

.cnt-pg__inf-sprl {
    position: absolute;
    top: 16px;
    right: 28px;
    width: 280px;
    height: 280px;
    opacity: .08;
    pointer-events: none
}

.cnt-pg__inf-sprl svg {
    width: 100%;
    height: 100%
}

.cnt-pg__inf-grd {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.cnt-pg__inf-crd {
    background: #FFF;
    padding: 28px;
    border-radius: 10px;
    box-shadow: -1px 4px 14px 0 #05024b17;
    transition: all .72s ease-out;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.cnt-pg__inf-crd:hover {
    transform: translateY(-4px);
    box-shadow: -1px 10px 44px 0 #05024b24
}

.cnt-pg__inf-crd:nth-child(2) {
    margin-top: 56px
}

.cnt-pg__inf-crd-hdng {
    font-size: 33px;
    line-height: 1.1;
    margin: 0;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: -.01em
}

.cnt-pg__inf-crd-txt {
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
    color: #05024B
}

.cnt-pg__inf-crd-dtls {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px
}

.cnt-pg__inf-crd-dtl {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 8px;
    background: #EFEEEE;
    border-radius: 3px;
    transition: all .38s ease-out
}

.cnt-pg__inf-crd-dtl:hover {
    background: #fd210414;
    transform: translateX(4px)
}

.cnt-pg__inf-crd-dtl-icn {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    border-radius: 999px;
    flex-shrink: 0
}

.cnt-pg__inf-crd-dtl-icn svg {
    width: 16px;
    height: 16px;
    fill: #FFF
}

.cnt-pg__inf-crd-dtl-txt {
    font-size: 16px;
    line-height: 1.5;
    margin: 0;
    color: #05024B;
    word-break: break-word
}

.cnt-pg__inf-crd-lnk {
    color: #FD2104;
    text-decoration: none;
    transition: all .28s ease-out;
    display: inline-block;
    position: relative
}

.cnt-pg__inf-crd-lnk::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: #FD2104;
    transition: width .38s ease-out
}

.cnt-pg__inf-crd-lnk:hover {
    transform: translateX(2px)
}

.cnt-pg__inf-crd-lnk:hover::after {
    width: 100%
}

.cnt-pg__inf-mtr-wrp {
    margin-top: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px
}

.cnt-pg__inf-mtr-itm {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 28px;
    background: #FFF;
    border-radius: 32px;
    box-shadow: -1px 4px 14px 0 #05024b17;
    transition: all .64s ease-out;
    min-width: 180px
}

.cnt-pg__inf-mtr-itm:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: -1px 10px 44px 0 #fd210424
}

.cnt-pg__inf-mtr-nmbr {
    font-size: 62px;
    line-height: 1.1;
    font-weight: 700;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0
}

.cnt-pg__inf-mtr-lbl {
    font-size: 14px;
    line-height: 1.5;
    color: #05024B;
    text-align: center;
    margin: 0
}

.cnt-pg__inf-mtr-arr {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center
}

.cnt-pg__inf-mtr-arr svg {
    width: 100%;
    height: 100%;
    fill: #FD2104;
    transition: transform .45s ease-out
}

.cnt-pg__inf-mtr-itm:hover+.cnt-pg__inf-mtr-arr svg {
    transform: translateX(8px)
}

.cnt-pg__frm-sctn {
    padding: 56px 28px;
    background: #05024B;
    position: relative
}

.cnt-pg__frm-dvdr {
    height: 4px;
    background: repeating-linear-gradient(to right, #FD2104 0px, #FD2104 8px, transparent 8px, transparent 16px, #EFEEEE 16px, #EFEEEE 20px, transparent 20px, transparent 28px);
    margin-bottom: 56px
}

.cnt-pg__frm-wrp {
    max-width: 720px;
    margin: 0 auto;
    background: #FFF;
    padding: 56px;
    border-radius: 10px;
    box-shadow: -1px 10px 44px 0 #fd210424;
    position: relative
}

.cnt-pg__frm-wrp::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 48px 48px 0 0;
    border-color: #FD2104 transparent transparent;
    border-radius: 10px 0 0 0
}

.cnt-pg__frm-wrp::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 48px 48px;
    border-color: transparent transparent #05024B;
    border-radius: 0 0 10px 0
}

.cnt-pg__frm-hdng {
    font-size: 33px;
    line-height: 1.1;
    margin: 0 0 16px;
    color: #05024B;
    letter-spacing: -.01em;
    text-align: right
}

.cnt-pg__frm-sbhdng {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 28px;
    color: #05024B;
    text-align: right
}

.cnt-pg__frm {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.cnt-pg__frm-grp {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.cnt-pg__frm-lbl {
    font-size: 14px;
    line-height: 1.5;
    color: #05024B;
    font-weight: 700;
    letter-spacing: .01em
}

.cnt-pg__frm-lbl--rqrd::after {
    content: '*';
    color: #FD2104;
    margin-left: 4px
}

.cnt-pg__frm-inpt {
    width: 100%;
    padding: 16px;
    font-size: 16px;
    line-height: 1.5;
    color: #05024B;
    background: #EFEEEE;
    border: 2px solid transparent;
    border-radius: 3px;
    transition: all .42s ease-out;
    box-sizing: border-box
}

.cnt-pg__frm-inpt:focus {
    outline: none;
    border-color: #FD2104;
    background: #FFF;
    box-shadow: -1px 4px 14px 0 #fd210417
}

.cnt-pg__frm-inpt:hover {
    border-color: #fd21044d
}

.cnt-pg__frm-inpt::placeholder {
    color: #05024b66;
    font-style: italic
}

.cnt-pg__frm-slct {
    width: 100%;
    padding: 16px;
    font-size: 16px;
    line-height: 1.5;
    color: #05024B;
    background: #EFEEEE;
    border: 2px solid transparent;
    border-radius: 3px;
    transition: all .42s ease-out;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%2305024B' d='M8 11L3 6h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    box-sizing: border-box
}

.cnt-pg__frm-slct:focus {
    outline: none;
    border-color: #FD2104;
    background-color: #FFF;
    box-shadow: -1px 4px 14px 0 #fd210417
}

.cnt-pg__frm-slct:hover {
    border-color: #fd21044d
}

.cnt-pg__frm-txtara {
    width: 100%;
    padding: 16px;
    font-size: 16px;
    line-height: 1.8;
    color: #05024B;
    background: #EFEEEE;
    border: 2px solid transparent;
    border-radius: 3px;
    transition: all .42s ease-out;
    resize: vertical;
    min-height: 140px;
    box-sizing: border-box
}

.cnt-pg__frm-txtara:focus {
    outline: none;
    border-color: #FD2104;
    background: #FFF;
    box-shadow: -1px 4px 14px 0 #fd210417
}

.cnt-pg__frm-txtara:hover {
    border-color: #fd21044d
}

.cnt-pg__frm-txtara::placeholder {
    color: #05024b66;
    font-style: italic
}

.cnt-pg__frm-chckbx-wrp {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #efeeee80;
    border-radius: 3px;
    border: 2px solid transparent;
    transition: all .38s ease-out
}

.cnt-pg__frm-chckbx-wrp:hover {
    background: #fd21040d;
    border-color: #fd210433
}

.cnt-pg__frm-chckbx {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    background: #FFF;
    border: 2px solid #05024B;
    border-radius: 3px;
    position: relative;
    transition: all .32s ease-out;
    margin-top: 2px
}

.cnt-pg__frm-chckbx:checked {
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    border-color: #FD2104;
    box-shadow: inset -1px 1px 3px 0 #05024b12
}

.cnt-pg__frm-chckbx:checked::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 6px;
    width: 6px;
    height: 12px;
    border: solid #FFF;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg)
}

.cnt-pg__frm-chckbx:focus {
    outline: 2px solid #FD2104;
    outline-offset: 2px
}

.cnt-pg__frm-chckbx-lbl {
    font-size: 14px;
    line-height: 1.8;
    color: #05024B;
    cursor: pointer;
    flex: 1
}

.cnt-pg__frm-chckbx-lbl a {
    color: #FD2104;
    text-decoration: none;
    transition: all .25s ease-out;
    position: relative
}

.cnt-pg__frm-chckbx-lbl a:hover {
    background: #fd21041a;
    padding: 2px 4px;
    margin: -2px -4px;
    border-radius: 3px
}

.cnt-pg__frm-sbmt {
    padding: 16px 56px;
    font-size: 16px;
    line-height: 1.5;
    color: #FFF;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    border: none;
    border-radius: 3px;
    cursor: pointer;
    transition: all .52s ease-out;
    box-shadow: -1px 4px 14px 0 #fd210417;
    align-self: flex-start;
    font-weight: 700;
    letter-spacing: .02em
}

.cnt-pg__frm-sbmt:hover {
    transform: translateY(-2px);
    box-shadow: -1px 10px 44px 0 #fd210424
}

.cnt-pg__frm-sbmt:active {
    transform: scale(0.97);
    box-shadow: inset -1px 1px 3px 0 #05024b12
}

.cnt-pg__frm-sbmt:focus {
    outline: 2px solid #FD2104;
    outline-offset: 4px
}

.cnt-pg__frm-rw {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px
}

.cnt-pg__frm-bttm-accnt {
    margin-top: 28px;
    padding: 28px;
    background: linear-gradient(277deg, #fd21040d 0%, #05024b0d 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 2px solid transparent;
    transition: all .48s ease-out
}

.cnt-pg__frm-bttm-accnt:hover {
    border-color: #fd210433;
    transform: translateX(4px)
}

.cnt-pg__frm-bttm-txt {
    font-size: 16px;
    line-height: 1.8;
    color: #05024B;
    margin: 0
}

.cnt-pg__frm-bttm-vls {
    display: flex;
    align-items: center;
    gap: 16px
}

.cnt-pg__frm-bttm-vl {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 16px;
    background: #FFF;
    border-radius: 3px;
    min-width: 80px
}

.cnt-pg__frm-bttm-vl-nmbr {
    font-size: 33px;
    line-height: 1.1;
    font-weight: 700;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0
}

.cnt-pg__frm-bttm-vl-lbl {
    font-size: 14px;
    line-height: 1.5;
    color: #05024B;
    margin: 0
}

.cnt-pg__frm-bttm-br {
    height: 8px;
    background: #EFEEEE;
    border-radius: 999px;
    margin-top: 16px;
    overflow: hidden;
    position: relative
}

.cnt-pg__frm-bttm-br-fll {
    height: 100%;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    border-radius: 999px;
    width: 78%;
    transition: width .88s ease-out
}

.cnt-pg__frm-bttm-accnt:hover .cnt-pg__frm-bttm-br-fll {
    width: 82%
}

@media (max-width: 1280px) {
    .cnt-pg__ttl-wrp {
        padding: 56px 28px
    }

    .cnt-pg__ttl-hdng {
        font-size: 62px
    }

    .cnt-pg__inf-grd {
        gap: 56px
    }
}

@media (max-width: 768px) {
    .cnt-pg__ttl-wrp {
        flex-direction: column;
        padding: 28px 16px
    }

    .cnt-pg__ttl-cntnt {
        padding-right: 0;
        margin-bottom: 28px;
        width: 100%
    }

    .cnt-pg__ttl-hdng {
        font-size: 33px
    }

    .cnt-pg__ttl-img-wrp {
        width: 100%;
        height: 280px
    }

    .cnt-pg__inf-sctn {
        padding: 28px 16px
    }

    .cnt-pg__inf-grd {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .cnt-pg__inf-crd:nth-child(2) {
        margin-top: 0
    }

    .cnt-pg__inf-mtr-wrp {
        flex-direction: column;
        margin-top: 28px
    }

    .cnt-pg__inf-mtr-arr {
        transform: rotate(90deg)
    }

    .cnt-pg__frm-sctn {
        padding: 28px 16px
    }

    .cnt-pg__frm-wrp {
        padding: 28px 16px
    }

    .cnt-pg__frm-hdng {
        font-size: 33px;
        text-align: left
    }

    .cnt-pg__frm-sbhdng {
        text-align: left
    }

    .cnt-pg__frm-rw {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .cnt-pg__frm-bttm-accnt {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }

    .cnt-pg__frm-bttm-vls {
        width: 100%;
        justify-content: space-between
    }
}

@media (max-width: 390px) {
    .cnt-pg__ttl-hdng {
        font-size: 33px
    }

    .cnt-pg__inf-crd {
        padding: 16px
    }

    .cnt-pg__inf-crd-hdng {
        font-size: 33px
    }

    .cnt-pg__frm-wrp {
        padding: 16px
    }

    .cnt-pg__frm-sbmt {
        width: 100%;
        padding: 16px 28px
    }

    .cnt-pg__inf-mtr-itm {
        min-width: 140px;
        padding: 16px
    }

    .cnt-pg__inf-mtr-nmbr {
        font-size: 33px
    }
}

.opn {
    background: #FEFEFE;
    color: #05024B;
    overflow-x: clip
}

.opn__intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 56px 28px;
    align-items: center;
    position: relative
}

.opn__intro::before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background: #fd21041f;
    border-radius: 50%;
    top: 120px;
    left: 15%;
    animation: opn-drift-a 7200ms ease-in-out infinite
}

.opn__intro::after {
    content: '';
    position: absolute;
    width: 6px;
    height: 6px;
    background: #fd210414;
    border-radius: 50%;
    bottom: 180px;
    right: 20%;
    animation: opn-drift-b 8400ms ease-in-out infinite
}

@keyframes opn-drift-a {

    0%,
    100% {
        transform: translate(0, 0);
        opacity: .12
    }

    50% {
        transform: translate(24px, -16px);
        opacity: .04
    }
}

@keyframes opn-drift-b {

    0%,
    100% {
        transform: translate(0, 0);
        opacity: .08
    }

    50% {
        transform: translate(-32px, 20px);
        opacity: .03
    }
}

.opn__intro-img-wrap {
    background: #EFEEEE;
    border-radius: 10px;
    padding: 28px;
    box-shadow: -1px 4px 14px 0 #05024b17
}

.opn__intro-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 3px;
    filter: saturate(1.15) contrast(1.05) brightness(1.02);
    object-fit: cover;
    aspect-ratio: 1 / 1
}

.opn__intro-txt {
    padding: 16px 56px 16px 28px
}

.opn__intro-head {
    font-size: 62px;
    line-height: 1.1;
    letter-spacing: -.02em;
    margin: 0 0 28px;
    font-weight: 700
}

.opn__intro-head-mark {
    color: #FD2104
}

.opn__intro-par {
    font-size: 16px;
    line-height: 1.5;
    margin: 0
}

@media (max-width: 768px) {
    .opn__intro {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 28px 16px
    }

    .opn__intro-txt {
        padding: 8px 16px
    }

    .opn__intro-head {
        font-size: 33px
    }

    .opn__intro-img-wrap {
        padding: 16px
    }
}

.opn__mthd {
    background: linear-gradient(277deg, #fd210408 0%, #05024b08 100%);
    padding: 56px 28px;
    position: relative
}

.opn__mthd::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #05024B 50%, transparent 100%);
    opacity: .15
}

.opn__mthd-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 56px;
    align-items: start
}

.opn__mthd-txt {
    padding: 0 28px 0 0
}

.opn__mthd-head {
    font-size: 33px;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0 0 28px;
    font-weight: 700;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.opn__mthd-par {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 16px
}

.opn__mthd-par:last-child {
    margin-bottom: 0
}

.opn__mthd-vis {
    background: #FFF;
    border-radius: 10px;
    padding: 28px;
    box-shadow: -1px 1px 3px 0 #05024b12;
    position: relative;
    overflow: hidden
}

.opn__mthd-vis::before {
    content: '';
    position: absolute;
    top: -20px;
    right: -20px;
    width: 80px;
    height: 80px;
    background: #FD2104;
    transform: rotate(45deg);
    opacity: .08
}

.opn__mthd-lst {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: mthd-cnt
}

.opn__mthd-itm {
    counter-increment: mthd-cnt;
    position: relative;
    padding: 16px 0 16px 56px;
    border-bottom: 1px solid #05024b14;
    font-size: 16px;
    line-height: 1.5;
    transition: transform .35s ease-out, padding-left .35s ease-out
}

.opn__mthd-itm:last-child {
    border-bottom: none
}

.opn__mthd-itm::before {
    content: counter(mthd-cnt);
    position: absolute;
    left: 0;
    top: 16px;
    width: 36px;
    height: 36px;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    color: #FFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    transition: transform .4s ease-out, box-shadow .4s ease-out
}

.opn__mthd-itm:hover {
    transform: translateX(4px);
    padding-left: 60px
}

.opn__mthd-itm:hover::before {
    transform: scale(1.1);
    box-shadow: -1px 4px 14px 0 #fd210440
}

@media (max-width: 768px) {
    .opn__mthd {
        padding: 28px 16px
    }

    .opn__mthd-inner {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .opn__mthd-txt {
        padding: 0
    }

    .opn__mthd-head {
        font-size: 33px
    }

    .opn__mthd-vis {
        padding: 16px
    }
}

.opn__prf {
    padding: 56px 28px;
    background: #FFF;
    position: relative
}

.opn__prf::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #fd210433 50%, transparent 100%)
}

.opn__prf::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, #05024b1f 50%, transparent 100%)
}

.opn__prf-inner {
    max-width: 1100px;
    margin: 0 auto
}

.opn__prf-head {
    font-size: 33px;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0 0 56px;
    font-weight: 700;
    text-align: center
}

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

.opn__prf-crd {
    background: linear-gradient(277deg, #fd210405 0%, #05024b05 100%);
    border-radius: 10px;
    padding: 28px;
    box-shadow: -1px 1px 3px 0 #05024b12;
    transition: transform .45s ease-out, box-shadow .45s ease-out, background .6s ease-out;
    position: relative;
    overflow: hidden
}

.opn__prf-crd::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: repeating-linear-gradient(45deg, transparent, transparent 20px, #fd210404 20px, #fd210404 40px);
    opacity: 1;
    transition: opacity .6s ease-out;
    pointer-events: none
}

.opn__prf-crd:hover {
    transform: translateY(-4px);
    box-shadow: -1px 10px 44px 0 #05024b24;
    background: linear-gradient(277deg, #fd21040a 0%, #05024b0a 100%)
}

.opn__prf-crd:hover::before {
    opacity: .5
}

.opn__prf-crd-img-wrap {
    margin: 0 0 16px;
    border-radius: 3px;
    overflow: hidden;
    position: relative
}

.opn__prf-crd-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    transition: transform .75s ease-out, filter .75s ease-out
}

.opn__prf-crd:hover .opn__prf-crd-img {
    transform: scale(1.05);
    filter: brightness(1.05)
}

.opn__prf-crd-ttl {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
    margin: 0 0 8px;
    color: #05024B
}

.opn__prf-crd-txt {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    color: #05024bd9
}

@media (max-width: 1280px) {
    .opn__prf-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 768px) {
    .opn__prf {
        padding: 28px 16px
    }

    .opn__prf-head {
        font-size: 33px;
        margin-bottom: 28px
    }

    .opn__prf-grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .opn__prf-crd {
        padding: 16px
    }
}

.opn__scl {
    padding: 56px 28px;
    background: #F8F7F7;
    position: relative
}

.opn__scl-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 56px;
    align-items: center
}

.opn__scl-txt {
    text-align: right;
    padding: 0 28px 0 0
}

.opn__scl-head {
    font-size: 33px;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0 0 28px;
    font-weight: 700;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.opn__scl-par {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 16px
}

.opn__scl-par:last-child {
    margin-bottom: 0
}

.opn__scl-nums {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px
}

.opn__scl-num-box {
    background: #FFF;
    border-radius: 32px;
    padding: 28px;
    box-shadow: -1px 4px 14px 0 #05024b17;
    text-align: center;
    transition: transform .4s ease-out, box-shadow .4s ease-out, background .7s ease-out;
    position: relative;
    overflow: hidden
}

.opn__scl-num-box::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(277deg, #fd210414 0%, #05024b14 100%);
    opacity: 0;
    transition: opacity .85s ease-out, transform .85s ease-out;
    pointer-events: none
}

.opn__scl-num-box:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: -1px 10px 44px 0 #05024b24;
    background: linear-gradient(277deg, #fd210405 0%, #05024b05 100%)
}

.opn__scl-num-box:hover::before {
    opacity: 1;
    transform: rotate(45deg)
}

.opn__scl-num-val {
    font-size: 62px;
    line-height: 1.1;
    font-weight: 700;
    color: #FD2104;
    margin: 0 0 8px;
    position: relative;
    z-index: 1
}

.opn__scl-num-lbl {
    font-size: 14px;
    line-height: 1.5;
    color: #05024bbf;
    margin: 0;
    position: relative;
    z-index: 1
}

@media (max-width: 768px) {
    .opn__scl {
        padding: 28px 16px
    }

    .opn__scl-inner {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .opn__scl-txt {
        text-align: left;
        padding: 0
    }

    .opn__scl-head {
        font-size: 33px
    }

    .opn__scl-nums {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .opn__scl-num-box {
        padding: 16px
    }

    .opn__scl-num-val {
        font-size: 33px
    }
}

@media (max-width: 390px) {
    .opn__intro {
        padding: 28px 8px
    }

    .opn__intro-txt {
        padding: 8px
    }

    .opn__mthd {
        padding: 28px 8px
    }

    .opn__prf {
        padding: 28px 8px
    }

    .opn__scl {
        padding: 28px 8px
    }
}

.abt {
    background: #FEFEFE;
    color: #05024B;
    overflow-x: clip
}

.abt__title-wrap {
    position: relative;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    padding: 56px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 420px
}

.abt__title-inner {
    max-width: 1100px;
    width: 100%;
    position: relative;
    z-index: 2
}

.abt__title-frame {
    border: 2px solid #ffffff4d;
    padding: 56px 28px;
    border-radius: 3px;
    background: #fffffff2
}

.abt__title-h {
    font-size: 62px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #05024B;
    margin: 0 0 16px
}

.abt__title-h .abt__title-accent {
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.abt__title-txt {
    font-size: 16px;
    line-height: 1.5;
    color: #05024B;
    margin: 0;
    max-width: 680px
}

.abt__zigzag {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 28px;
    background: linear-gradient(135deg, #FEFEFE 25%, transparent 25%), linear-gradient(225deg, #FEFEFE 25%, transparent 25%);
    background-size: 56px 28px;
    background-position: 0 0, 28px 0;
    z-index: 1
}

.abt__story {
    padding: 56px 16px;
    position: relative;
    background: #FEFEFE
}

.abt__story-grid {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start
}

.abt__story-left {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.abt__story-h {
    font-size: 33px;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0 0 16px;
    color: #05024B
}

.abt__story-p {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 16px;
    color: #05024B
}

.abt__story-p:last-child {
    margin-bottom: 0
}

.abt__story-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: -1px 10px 44px 0 #05024b24
}

.abt__story-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.85);
    transition: filter .72s ease-out, transform .68s ease-out
}

.abt__story-img:hover {
    filter: brightness(1.1);
    transform: scale(1.03)
}

.abt__story-right {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.abt__story-card {
    background: #EFEEEE;
    padding: 28px;
    border-radius: 32px;
    box-shadow: -1px 4px 14px 0 #fd210417;
    transition: transform .42s ease-out, box-shadow .38s ease-out;
    transform-origin: center;
    animation: abt-card-flip-1 .85s ease-out forwards;
    opacity: 0
}

.abt__story-card:nth-child(1) {
    animation-delay: .15s
}

.abt__story-card:nth-child(2) {
    animation-delay: .35s
}

@keyframes abt-card-flip-1 {
    0% {
        transform: perspective(800px) rotateY(90deg);
        opacity: 0
    }

    100% {
        transform: perspective(800px) rotateY(0deg);
        opacity: 1
    }
}

.abt__story-card:hover {
    transform: translateY(-4px);
    box-shadow: -1px 10px 44px 0 #fd210424
}

.abt__story-card-h {
    font-size: 16px;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0 0 8px;
    color: #FD2104;
    font-weight: 600
}

.abt__story-card-txt {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    color: #05024B
}

.abt__divider-wrap {
    position: relative;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FEFEFE
}

.abt__divider-svg {
    width: 100%;
    height: 2px;
    max-width: 1100px
}

.abt__divider-path {
    stroke: #FD2104;
    stroke-width: 2;
    fill: none;
    stroke-dasharray: 4 8
}

.abt__divider-circle {
    position: absolute;
    width: 16px;
    height: 16px;
    background: #FD2104;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: -1px 1px 3px 0 #05024b12
}

.abt__mission {
    padding: 56px 16px;
    background: #05024B;
    position: relative
}

.abt__mission::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle, #ffffff08 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none
}

.abt__mission-container {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.abt__mission-layout {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 56px;
    align-items: center
}

.abt__mission-content {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.abt__mission-h {
    font-size: 33px;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0;
    color: #FEFEFE
}

.abt__mission-p {
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
    color: #EFEEEE
}

.abt__mission-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abt__mission-li {
    display: flex;
    align-items: start;
    gap: 16px;
    font-size: 14px;
    line-height: 1.5;
    color: #EFEEEE
}

.abt__mission-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    color: #FEFEFE;
    font-weight: 600;
    flex-shrink: 0;
    font-size: 14px;
    box-shadow: -1px 4px 14px 0 #fd210417
}

.abt__mission-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: -1px 10px 44px 0 #fd210424
}

.abt__mission-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.85);
    transition: filter .76s ease-out, transform .71s ease-out
}

.abt__mission-img:hover {
    filter: brightness(1.1);
    transform: scale(1.03)
}

.abt__metrics {
    padding: 56px 16px;
    background: #FEFEFE;
    position: relative
}

.abt__metrics-container {
    max-width: 1100px;
    margin: 0 auto
}

.abt__metrics-h {
    font-size: 33px;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0 0 56px;
    color: #05024B;
    text-align: center
}

.abt__metrics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    margin-bottom: 56px
}

.abt__metrics-item {
    padding: 28px;
    background: #EFEEEE;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-right: 2px solid #FD2104;
    transition: background .35s ease-out, transform .28s ease-out;
    animation: abt-card-flip-2 .82s ease-out forwards;
    opacity: 0
}

.abt__metrics-item:nth-child(1) {
    animation-delay: .2s
}

.abt__metrics-item:nth-child(2) {
    animation-delay: .4s
}

.abt__metrics-item:nth-child(3) {
    animation-delay: .6s;
    border-right: none
}

@keyframes abt-card-flip-2 {
    0% {
        transform: perspective(800px) rotateX(-90deg);
        opacity: 0
    }

    100% {
        transform: perspective(800px) rotateX(0deg);
        opacity: 1
    }
}

.abt__metrics-item:hover {
    background: #FD2104;
    transform: translateY(-4px)
}

.abt__metrics-num {
    font-size: 62px;
    line-height: 1.1;
    letter-spacing: -.02em;
    margin: 0 0 8px;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
    transition: opacity .32s ease-out
}

.abt__metrics-item:hover .abt__metrics-num {
    opacity: 0
}

.abt__metrics-label {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    color: #05024B;
    transition: color .32s ease-out
}

.abt__metrics-item:hover .abt__metrics-label {
    color: #FEFEFE
}

.abt__metrics-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start
}

.abt__metrics-col {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.abt__metrics-col:nth-child(2) {
    text-align: right
}

.abt__metrics-subh {
    font-size: 16px;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0 0 8px;
    color: #FD2104;
    font-weight: 600
}

.abt__metrics-txt {
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
    color: #05024B
}

.abt__metrics-box {
    display: inline-block;
    padding: 4px 8px;
    border: 1px solid #05024B;
    border-radius: 3px;
    font-size: 14px;
    line-height: 1.1;
    color: #05024B;
    transition: background .27s ease-out, color .27s ease-out
}

.abt__metrics-box:hover {
    background: #05024B;
    color: #FEFEFE
}

.abt__metrics-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: -1px 4px 14px 0 #05024b17;
    margin-top: 28px
}

.abt__metrics-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.85);
    transition: filter .69s ease-out, transform .64s ease-out
}

.abt__metrics-img:hover {
    filter: brightness(1.1);
    transform: scale(1.03)
}

.abt__team {
    padding: 56px 16px;
    background: #EFEEEE;
    position: relative
}

.abt__team-container {
    max-width: 1100px;
    margin: 0 auto
}

.abt__team-h {
    font-size: 33px;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0 0 28px;
    color: #05024B
}

.abt__team-intro {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 56px;
    color: #05024B;
    max-width: 760px
}

.abt__team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px
}

.abt__team-card {
    background: #FEFEFE;
    border-radius: 10px;
    padding: 28px;
    box-shadow: -1px 1px 3px 0 #05024b12;
    transition: box-shadow .41s ease-out, transform .36s ease-out;
    animation: abt-card-flip-3 .78s ease-out forwards;
    opacity: 0
}

.abt__team-card:nth-child(1) {
    animation-delay: .1s
}

.abt__team-card:nth-child(2) {
    animation-delay: .25s
}

@keyframes abt-card-flip-3 {
    0% {
        transform: perspective(800px) rotateY(-90deg);
        opacity: 0
    }

    100% {
        transform: perspective(800px) rotateY(0deg);
        opacity: 1
    }
}

.abt__team-card:hover {
    box-shadow: -1px 10px 44px 0 #05024b24;
    transform: translateX(4px)
}

.abt__team-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 32px;
    overflow: hidden;
    margin-bottom: 16px
}

.abt__team-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.85);
    transition: filter .73s ease-out, transform .67s ease-out
}

.abt__team-img:hover {
    filter: brightness(1.1);
    transform: scale(1.03)
}

.abt__team-name {
    font-size: 16px;
    line-height: 1.1;
    letter-spacing: -.01em;
    margin: 0 0 4px;
    color: #05024B;
    font-weight: 600
}

.abt__team-role {
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 16px;
    color: #FD2104
}

.abt__team-bio {
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
    color: #05024B
}

@media (max-width: 1280px) {
    .abt__title-h {
        font-size: 33px
    }

    .abt__story-grid {
        gap: 28px
    }

    .abt__mission-layout {
        gap: 28px
    }

    .abt__metrics-split {
        gap: 28px
    }
}

@media (max-width: 768px) {
    .abt__title-wrap {
        padding: 28px 16px;
        min-height: 320px
    }

    .abt__title-frame {
        padding: 28px 16px
    }

    .abt__title-h {
        font-size: 33px
    }

    .abt__title-txt {
        font-size: 14px
    }

    .abt__story {
        padding: 28px 16px
    }

    .abt__story-grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .abt__story-h {
        font-size: 16px
    }

    .abt__story-p {
        font-size: 14px
    }

    .abt__divider-wrap {
        height: 28px
    }

    .abt__mission {
        padding: 28px 16px
    }

    .abt__mission-layout {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .abt__mission-h {
        font-size: 16px
    }

    .abt__mission-p {
        font-size: 14px
    }

    .abt__metrics {
        padding: 28px 16px
    }

    .abt__metrics-h {
        font-size: 16px;
        margin-bottom: 28px
    }

    .abt__metrics-grid {
        grid-template-columns: 1fr;
        margin-bottom: 28px
    }

    .abt__metrics-item {
        border-right: none;
        border-bottom: 2px solid #FD2104
    }

    .abt__metrics-item:last-child {
        border-bottom: none
    }

    .abt__metrics-num {
        font-size: 33px
    }

    .abt__metrics-split {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .abt__metrics-col:nth-child(2) {
        text-align: left
    }

    .abt__team {
        padding: 28px 16px
    }

    .abt__team-h {
        font-size: 16px
    }

    .abt__team-intro {
        font-size: 14px;
        margin-bottom: 28px
    }

    .abt__team-grid {
        grid-template-columns: 1fr
    }
}

@media (max-width: 390px) {
    .abt__title-wrap {
        padding: 16px 8px;
        min-height: 280px
    }

    .abt__title-frame {
        padding: 16px 8px
    }

    .abt__story {
        padding: 16px 8px
    }

    .abt__mission {
        padding: 16px 8px
    }

    .abt__metrics {
        padding: 16px 8px
    }

    .abt__team {
        padding: 16px 8px
    }
}

.lrn-prog {
    background: #FFF;
    color: #05024B;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0
}

.lrn-prog__ttl-wrap {
    display: flex;
    flex-direction: row;
    min-height: 520px;
    position: relative;
    overflow: hidden;
    margin: 0 0 56px
}

.lrn-prog__ttl-zone-img {
    flex: 0 0 58%;
    background: #FD2104;
    position: relative;
    padding: 56px 28px
}

.lrn-prog__ttl-zone-txt {
    flex: 0 0 42%;
    background: #05024B;
    padding: 56px 56px 56px 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative
}

.lrn-prog__ttl-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    filter: brightness(0.7);
    mask-image: linear-gradient(to bottom, #000f 40%, #0000004d 100%);
    -webkit-mask-image: linear-gradient(to bottom, #000f 40%, #0000004d 100%)
}

.lrn-prog__ttl-shape {
    position: absolute;
    border-radius: 32px;
    background: #ffffff14;
    pointer-events: none
}

.lrn-prog__ttl-shape--one {
    width: 180px;
    height: 180px;
    top: 28px;
    right: -40px;
    transform: rotate(25deg)
}

.lrn-prog__ttl-shape--two {
    width: 120px;
    height: 120px;
    bottom: 56px;
    right: 140px;
    transform: rotate(-15deg)
}

.lrn-prog__ttl-shape--three {
    width: 90px;
    height: 220px;
    top: 180px;
    right: 28px;
    transform: rotate(45deg)
}

.lrn-prog__ttl-h {
    font-size: 62px;
    line-height: 1.1;
    color: #FFF;
    margin: 0 0 28px;
    letter-spacing: -.02em
}

.lrn-prog__ttl-desc {
    font-size: 16px;
    line-height: 1.5;
    color: #EFEEEE;
    margin: 0
}

@media (max-width: 768px) {
    .lrn-prog__ttl-wrap {
        flex-direction: column;
        min-height: auto
    }

    .lrn-prog__ttl-zone-img {
        flex: 0 0 auto;
        min-height: 280px;
        padding: 28px 16px
    }

    .lrn-prog__ttl-zone-txt {
        flex: 0 0 auto;
        padding: 28px 16px
    }

    .lrn-prog__ttl-h {
        font-size: 33px
    }

    .lrn-prog__ttl-desc {
        font-size: 14px
    }
}

.lrn-prog__grid-sec {
    padding: 56px 28px;
    background: #FAFBFC;
    position: relative
}

.lrn-prog__grid-sec::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%)
}

.lrn-prog__grid-h {
    font-size: 33px;
    line-height: 1.1;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 56px;
    text-align: center;
    letter-spacing: -.01em
}

.lrn-prog__grid-layout {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 28px;
    margin: 0 0 56px
}

.lrn-prog__grid-col {
    display: flex;
    flex-direction: column;
    gap: 28px
}

.lrn-prog__grid-card {
    background: #FFF;
    border-radius: 10px;
    padding: 28px;
    box-shadow: -1px 4px 14px 0 #05024b17;
    transition: transform .67s ease-out, box-shadow .75s ease-out;
    position: relative;
    overflow: hidden
}

.lrn-prog__grid-card:hover {
    transform: translateY(-4px);
    box-shadow: -1px 10px 44px 0 #05024b24
}

.lrn-prog__grid-card--tall {
    min-height: 320px
}

.lrn-prog__grid-card--short {
    min-height: 180px
}

.lrn-prog__grid-card--mid {
    min-height: 240px
}

.lrn-prog__grid-card-num {
    font-size: 62px;
    line-height: 1.1;
    color: #FD2104;
    margin: 0 0 16px;
    font-weight: 700;
    letter-spacing: -.03em
}

.lrn-prog__grid-card-h {
    font-size: 16px;
    line-height: 1.5;
    color: #05024B;
    margin: 0 0 16px;
    font-weight: 600
}

.lrn-prog__grid-card-txt {
    font-size: 14px;
    line-height: 1.8;
    color: #05024B;
    margin: 0
}

.lrn-prog__grid-card-curve {
    position: absolute;
    bottom: -20px;
    right: -20px;
    width: 140px;
    height: 140px;
    border-radius: 32px;
    background: #fd21040a;
    transform: rotate(25deg);
    pointer-events: none
}

@media (max-width: 768px) {
    .lrn-prog__grid-sec {
        padding: 28px 16px
    }

    .lrn-prog__grid-h {
        font-size: 33px;
        margin: 0 0 28px
    }

    .lrn-prog__grid-layout {
        grid-template-columns: 1fr;
        gap: 16px;
        margin: 0 0 28px
    }

    .lrn-prog__grid-card {
        padding: 16px
    }

    .lrn-prog__grid-card--tall,
    .lrn-prog__grid-card--short,
    .lrn-prog__grid-card--mid {
        min-height: auto
    }

    .lrn-prog__grid-card-num {
        font-size: 33px
    }
}

.lrn-prog__metrics-wrap {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    gap: 28px;
    padding: 0 28px;
    margin: 0 0 56px
}

.lrn-prog__metric-box {
    flex: 1;
    background: #05024B;
    border-radius: 3px;
    padding: 28px;
    text-align: right;
    position: relative;
    overflow: hidden;
    transition: transform .82s ease-out;
    animation: lrn-prog-scale-in .9s ease-out forwards;
    opacity: 0
}

.lrn-prog__metric-box:nth-child(1) {
    animation-delay: .1s
}

.lrn-prog__metric-box:nth-child(2) {
    animation-delay: .25s
}

.lrn-prog__metric-box:nth-child(3) {
    animation-delay: .4s
}

@keyframes lrn-prog-scale-in {
    from {
        opacity: 0;
        transform: scale(0.9)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

.lrn-prog__metric-box:hover {
    transform: translateX(-3px)
}

.lrn-prog__metric-val {
    font-size: 62px;
    line-height: 1.1;
    color: #FD2104;
    margin: 0 0 8px;
    font-weight: 700;
    letter-spacing: -.02em;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 8px
}

.lrn-prog__metric-arrow {
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 18px solid #FD2104
}

.lrn-prog__metric-lbl {
    font-size: 14px;
    line-height: 1.5;
    color: #EFEEEE;
    margin: 0
}

@media (max-width: 768px) {
    .lrn-prog__metrics-wrap {
        flex-direction: column;
        padding: 0 16px;
        margin: 0 0 28px;
        gap: 16px
    }

    .lrn-prog__metric-box {
        padding: 16px
    }

    .lrn-prog__metric-val {
        font-size: 33px
    }
}

.lrn-prog__data-sec {
    padding: 56px 28px;
    background: #FFF;
    position: relative
}

.lrn-prog__data-sec::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 8px;
    background: linear-gradient(277deg, #05024B 0%, #FD2104 100%)
}

.lrn-prog__data-sec::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, #efeeee4d 2px, #efeeee4d 4px), repeating-linear-gradient(90deg, transparent, transparent 2px, #efeeee4d 2px, #efeeee4d 4px);
    pointer-events: none;
    opacity: .4
}

.lrn-prog__data-h {
    font-size: 33px;
    line-height: 1.1;
    color: #05024B;
    margin: 0 0 28px;
    letter-spacing: -.01em;
    position: relative;
    z-index: 1
}

.lrn-prog__data-flex {
    display: flex;
    flex-direction: row;
    gap: 56px;
    position: relative;
    z-index: 1
}

.lrn-prog__data-table-wrap {
    flex: 0 0 45%;
    background: #efeeee80;
    border-radius: 10px;
    padding: 28px;
    box-shadow: -1px 1px 3px 0 #fd210412
}

.lrn-prog__data-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px
}

.lrn-prog__data-table-row {
    transition: background .38s ease-out
}

.lrn-prog__data-table-row:hover {
    background: #fd21040a
}

.lrn-prog__data-table-cell {
    padding: 16px;
    font-size: 14px;
    line-height: 1.5;
    color: #05024B;
    border-bottom: 1px solid #05024b1a
}

.lrn-prog__data-table-cell:first-child {
    font-weight: 600;
    border-right: 3px solid #FD2104
}

.lrn-prog__data-narr-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 28px
}

.lrn-prog__data-narr-block {
    background: #FFF;
    border-radius: 3px;
    padding: 28px;
    border-left: 4px solid #FD2104;
    box-shadow: -1px 4px 14px 0 #05024b17;
    transition: transform .42s ease-out, border-left-color .35s ease-out
}

.lrn-prog__data-narr-block:hover {
    transform: translateX(4px);
    border-left-color: #05024B
}

.lrn-prog__data-narr-h {
    font-size: 16px;
    line-height: 1.5;
    color: #05024B;
    margin: 0 0 8px;
    font-weight: 600
}

.lrn-prog__data-narr-txt {
    font-size: 14px;
    line-height: 1.8;
    color: #05024B;
    margin: 0
}

@media (max-width: 768px) {
    .lrn-prog__data-sec {
        padding: 28px 16px
    }

    .lrn-prog__data-h {
        font-size: 33px;
        margin: 0 0 16px
    }

    .lrn-prog__data-flex {
        flex-direction: column;
        gap: 28px
    }

    .lrn-prog__data-table-wrap {
        flex: 0 0 auto;
        padding: 16px
    }

    .lrn-prog__data-narr-block {
        padding: 16px
    }
}

.lrn-prog__connect-line {
    position: absolute;
    width: 100%;
    height: 120px;
    top: 50%;
    left: 0;
    pointer-events: none;
    z-index: 0
}

.lrn-prog__connect-svg {
    width: 100%;
    height: 100%
}

.lrn-prog__connect-path {
    fill: none;
    stroke: #fd210426;
    stroke-width: 2;
    stroke-dasharray: 8 4
}

@media (max-width: 768px) {
    .lrn-prog__connect-line {
        display: none
    }
}

.lrn-prog__list-sec {
    padding: 56px 28px;
    background: linear-gradient(277deg, #fd210408 0%, #05024b08 100%)
}

.lrn-prog__list-h {
    font-size: 33px;
    line-height: 1.1;
    background: linear-gradient(277deg, #05024B 0%, #FD2104 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 28px;
    letter-spacing: -.01em
}

.lrn-prog__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    counter-reset: lrn-prog-counter
}

.lrn-prog__list-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #FFF;
    border-radius: 32px;
    box-shadow: -1px 1px 3px 0 #05024b12;
    transition: transform .28s ease-out, box-shadow .33s ease-out;
    counter-increment: lrn-prog-counter
}

.lrn-prog__list-item:hover {
    transform: translateX(4px);
    box-shadow: -1px 4px 14px 0 #fd210417
}

.lrn-prog__list-num {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(277deg, #FD2104 0%, #05024B 100%);
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1
}

.lrn-prog__list-num::before {
    content: counter(lrn-prog-counter)
}

.lrn-prog__list-txt {
    flex: 1;
    font-size: 14px;
    line-height: 1.8;
    color: #05024B;
    margin: 0;
    padding: 8px 0 0
}

@media (max-width: 768px) {
    .lrn-prog__list-sec {
        padding: 28px 16px
    }

    .lrn-prog__list-h {
        font-size: 33px;
        margin: 0 0 16px
    }

    .lrn-prog__list-item {
        padding: 12px
    }

    .lrn-prog__list-num {
        width: 36px;
        height: 36px;
        font-size: 14px
    }
}

.lrn-prog__accent-sec {
    padding: 56px 28px;
    background: #05024B;
    position: relative;
    overflow: hidden
}

.lrn-prog__accent-deco {
    position: absolute;
    width: 280px;
    height: 280px;
    border-radius: 32px;
    background: #fd21040f;
    pointer-events: none
}

.lrn-prog__accent-deco--one {
    top: -80px;
    left: -60px;
    transform: rotate(-20deg)
}

.lrn-prog__accent-deco--two {
    bottom: -100px;
    right: -40px;
    transform: rotate(35deg)
}

.lrn-prog__accent-h {
    font-size: 33px;
    line-height: 1.1;
    color: #FFF;
    margin: 0 0 28px;
    letter-spacing: -.01em;
    position: relative;
    z-index: 1;
    text-align: right
}

.lrn-prog__accent-txt {
    font-size: 16px;
    line-height: 1.8;
    color: #EFEEEE;
    margin: 0;
    position: relative;
    z-index: 1;
    text-align: right;
    max-width: 680px;
    margin-left: auto
}

.lrn-prog__accent-txt:not(:last-child) {
    margin-bottom: 16px
}

.lrn-prog__accent-inline {
    display: inline-block;
    padding: 4px 8px;
    border: 1px solid #FD2104;
    border-radius: 3px;
    color: #FD2104;
    transition: background .32s ease-out, color .32s ease-out
}

.lrn-prog__accent-inline:hover {
    background: #FD2104;
    color: #FFF
}

@media (max-width: 768px) {
    .lrn-prog__accent-sec {
        padding: 28px 16px
    }

    .lrn-prog__accent-h {
        font-size: 33px;
        margin: 0 0 16px;
        text-align: left
    }

    .lrn-prog__accent-txt {
        font-size: 14px;
        text-align: left
    }
}

.success-pg {
    background: linear-gradient(277deg, #FD2104, #05024B);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 56px 16px
}

.success-pg__wrapper {
    background: #EFEEEE;
    border-radius: 32px;
    box-shadow: -1px 10px 44px 0 #05024b24;
    max-width: 1100px;
    padding: 56px 28px;
    text-align: center;
    width: 100%
}

.success-pg__icon-container {
    display: flex;
    justify-content: center;
    margin-bottom: 28px
}

.success-pg__icon {
    background: #FD2104;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 120px;
    width: 120px;
    box-shadow: -1px 4px 14px 0 #fd210417;
    animation: success-scale .85s ease-out
}

@keyframes success-scale {
    0% {
        transform: scale(0.4);
        opacity: 0
    }

    50% {
        transform: scale(1.08)
    }

    100% {
        transform: scale(1);
        opacity: 1
    }
}

.success-pg__icon svg {
    width: 64px;
    height: 64px;
    stroke: #EFEEEE;
    stroke-width: 4;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round
}

.success-pg__icon svg path {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    animation: success-draw .7s ease-out .3s forwards
}

@keyframes success-draw {
    to {
        stroke-dashoffset: 0
    }
}

.success-pg__title {
    background: linear-gradient(277deg, #FD2104, #05024B);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 62px;
    line-height: 1.1;
    margin-bottom: 16px;
    letter-spacing: -.02em
}

.success-pg__message {
    color: #05024B;
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 28px;
    max-width: 580px;
    margin-left: auto;
    margin-right: auto
}

.success-pg__details {
    background: #fff;
    border-radius: 10px;
    box-shadow: -1px 1px 3px 0 #05024b12;
    margin-bottom: 28px;
    padding: 28px;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto
}

.success-pg__detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid #EFEEEE
}

.success-pg__detail-row:last-child {
    border-bottom: none
}

.success-pg__detail-label {
    color: #05024B;
    font-size: 14px;
    line-height: 1.5;
    opacity: .7
}

.success-pg__detail-value {
    color: #05024B;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 600
}

.success-pg__actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap
}

.success-pg__btn {
    background: #05024B;
    border: none;
    border-radius: 10px;
    box-shadow: -1px 4px 14px 0 #05024b17;
    color: #EFEEEE;
    cursor: pointer;
    font-size: 16px;
    line-height: 1.5;
    padding: 16px 28px;
    text-decoration: none;
    display: inline-block;
    transition: transform .65s ease-out, box-shadow .4s ease-out
}

.success-pg__btn:hover {
    transform: translateY(-2px);
    box-shadow: -1px 10px 44px 0 #05024b24
}

.success-pg__btn:active {
    transform: scale(0.97);
    box-shadow: inset -1px 1px 3px 0 #05024b12
}

.success-pg__btn--secondary {
    background: #EFEEEE;
    color: #05024B;
    border: 2px solid #05024B
}

.success-pg__btn--secondary:hover {
    background: #fff
}

.success-pg__note {
    color: #05024B;
    font-size: 14px;
    line-height: 1.8;
    margin-top: 28px;
    opacity: .8
}

@media (max-width: 768px) {
    .success-pg__wrapper {
        padding: 28px 16px
    }

    .success-pg__icon {
        height: 90px;
        width: 90px
    }

    .success-pg__icon svg {
        width: 48px;
        height: 48px
    }

    .success-pg__title {
        font-size: 33px
    }

    .success-pg__message {
        font-size: 14px
    }

    .success-pg__details {
        padding: 16px
    }

    .success-pg__detail-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px
    }

    .success-pg__actions {
        flex-direction: column
    }

    .success-pg__btn {
        width: 100%
    }
}

@media (max-width: 390px) {
    .success-pg {
        padding: 28px 8px
    }

    .success-pg__title {
        font-size: 33px
    }
}