@import "https://cdn.jsdelivr.net/npm/@fontsource/noto-serif@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/noto-serif@latest/700.css";

::before,
::after {
    content: '';
    box-sizing: inherit
}

body {
    margin: 0;
    box-sizing: border-box;
    font-family: 'Noto Serif', serif;
    font-size: 15px;
    line-height: 1.7;
    color: #1a0d13;
    background: #fff
}

.hd_bar {
    background: linear-gradient(135deg, #FFF7EF 0%, #f5ebe0 100%);
    padding: 24px 36px;
    position: relative;
    box-shadow: 0 3px 5px -1px #5d14460f 0 5px 22px -1px #5d144614
}

.hd_inner {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px
}

.lg_zone {
    display: flex;
    align-items: center;
    position: relative;
    padding-right: 24px
}

.lg_zone::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 72px;
    background: linear-gradient(180deg, #00F243 0%, #5D1446 100%);
    border-radius: 4px
}

.lg_img {
    width: 78px;
    height: 78px;
    object-fit: contain;
    background: #ffffffb3;
    padding: 8px;
    border-radius: 6px;
    box-shadow: 0 3px 5px -1px #00f2430f 0 5px 22px -1px #00f24314
}

.hd_nav {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.hd_link {
    font-size: 15px;
    font-weight: 400;
    color: #5D1446;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 20px;
    background: #fff9;
    transition: background .15s ease-out, color .12s ease-out, transform .1s ease;
    position: relative;
    overflow: hidden;
    box-shadow: 0 3px 5px -1px #5d14460f
}

.hd_link:hover {
    background: #00f24326;
    color: #1a0d13;
    transform: translateY(-1px);
    box-shadow: 0 5px 22px -1px #00f24314
}

.hd_link:focus {
    background: #00f24340;
    outline: none;
    color: #1a0d13
}

.hd_link:active {
    transform: translateY(0)
}

@keyframes progress_fill {
    from {
        width: 0
    }

    to {
        width: 100%
    }
}

.hd_link:active::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, #00F243 0%, #5D1446 100%);
    animation: progress_fill .8s linear forwards;
    pointer-events: none
}

@media (max-width: 1024px) {
    .hd_bar {
        padding: 24px
    }

    .hd_inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px
    }

    .lg_zone::after {
        display: none
    }

    .hd_nav {
        width: 100%;
        justify-content: flex-start
    }
}

@media (max-width: 768px) {
    .hd_bar {
        padding: 24px 12px
    }

    .lg_img {
        width: 64px;
        height: 64px
    }

    .hd_link {
        font-size: 15px;
        padding: 12px;
        flex: 1 1 auto;
        text-align: center
    }
}

@media (max-width: 320px) {
    .hd_link {
        padding: 12px 8px;
        font-size: 15px
    }
}

.ft_wrap {
    background: linear-gradient(135deg, #5D1446 0%, #3d0e2e 100%);
    padding: 72px 36px 36px;
    position: relative;
    overflow: hidden
}

.ft_wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #00F243 0%, #FFF7EF 50%, #00F243 100%)
}

.ft_container {
    max-width: 1140px;
    margin: 0 auto
}

.ft_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    margin-bottom: 72px;
    position: relative
}

.ft_col {
    position: relative;
    padding-right: 24px
}

.ft_col:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(180deg, #00f2434d 0%, #fff7ef33 50%, #00f2434d 100%)
}

.ft_heading {
    font-size: 19px;
    font-weight: 700;
    color: #FFF7EF;
    margin: 0 0 24px;
    letter-spacing: .5px
}

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

.ft_link {
    font-size: 15px;
    color: #fff7efd9;
    text-decoration: none;
    transition: color .12s ease-out, transform .1s ease;
    display: inline-block;
    position: relative;
    padding-left: 20px
}

.ft_link::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background: #00F243;
    border-radius: 4px;
    transition: width .15s ease-out
}

.ft_link:hover {
    color: #00F243;
    transform: translateX(4px)
}

.ft_link:hover::before {
    width: 12px
}

.ft_link:focus {
    background: #00f24326;
    outline: none;
    color: #00F243
}

.ft_logo_zone {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 36px 0;
    border-top: 1px solid #fff7ef33;
    margin-bottom: 36px
}

.ft_logo_box {
    background: #ffffff14;
    padding: 24px;
    border-radius: 36px;
    box-shadow: inset 0 4px 8px #0000004d 0 5px 22px -1px #00f24314
}

.ft_logo_img {
    width: 82px;
    height: 82px;
    object-fit: contain;
    filter: drop-shadow(0 3px 5px #00f24366)
}

.ft_bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
    padding-top: 36px;
    border-top: 1px solid #fff7ef33
}

.ft_copy {
    font-size: 15px;
    color: #fff7efb3;
    margin: 0
}

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

.ft_detail {
    font-size: 15px;
    color: #fff7efd9;
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    transition: color .12s ease-out
}

.ft_detail:hover {
    color: #00F243
}

.ft_detail:focus {
    background: #00f24326;
    outline: none;
    color: #00F243
}

.ft_icon {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

@media (max-width: 1024px) {
    .ft_grid {
        grid-template-columns: 1fr;
        gap: 48px
    }

    .ft_col::after {
        display: none
    }

    .ft_col {
        padding-right: 0;
        padding-bottom: 24px;
        border-bottom: 1px solid #fff7ef33
    }

    .ft_col:last-child {
        border-bottom: none
    }
}

@media (max-width: 768px) {
    .ft_wrap {
        padding: 48px 24px 24px
    }

    .ft_grid {
        margin-bottom: 48px
    }

    .ft_bottom {
        flex-direction: column;
        align-items: flex-start
    }

    .ft_logo_img {
        width: 70px;
        height: 70px
    }
}

@media (max-width: 320px) {
    .ft_wrap {
        padding: 36px 12px 24px
    }

    .ft_logo_box {
        padding: 12px
    }

    .ft_logo_img {
        width: 60px;
        height: 60px
    }
}

.consent_bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, #FFF7EF 0%, #fff 100%);
    padding: 24px 36px;
    box-shadow: 0 -3px 5px -1px #5d14460f 0 -5px 22px -1px #5d144614 0 -9px 60px -1px #5d14461f;
    z-index: 1000;
    display: none;
    border-top: 4px solid #00F243;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .18s ease-out, transform .18s ease-out
}

.consent_bar.visible {
    opacity: 1;
    transform: translateY(0)
}

.consent_inner {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px
}

.consent_txt {
    flex: 1;
    font-size: 15px;
    line-height: 1.5;
    color: #5D1446;
    margin: 0
}

.consent_actions {
    display: flex;
    gap: 12px;
    flex-shrink: 0
}

.consent_btn {
    font-family: 'Noto Serif', serif;
    font-size: 15px;
    font-weight: 700;
    padding: 12px 36px;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: background .15s ease-out, transform .1s ease, box-shadow .12s ease-out;
    position: relative;
    overflow: hidden;
    min-width: 120px
}

.consent_btn.primary {
    background: linear-gradient(135deg, #00F243 0%, #00c837 100%);
    color: #1a0d13;
    box-shadow: 0 3px 5px -1px #00f2430f 0 5px 22px -1px #00f24314
}

.consent_btn.primary:hover {
    background: linear-gradient(135deg, #00c837 0%, #00a82f 100%);
    transform: translateY(-2px);
    box-shadow: 0 5px 22px -1px #00f24314 0 9px 60px -1px #00f2431f
}

.consent_btn.primary:focus {
    background: linear-gradient(135deg, #00a82f 0%, #008826 100%);
    outline: none
}

.consent_btn.primary:active {
    transform: translateY(0)
}

.consent_btn.secondary {
    background: #5d144614;
    color: #5D1446;
    box-shadow: 0 3px 5px -1px #5d14460f
}

.consent_btn.secondary:hover {
    background: #5d144626;
    transform: translateY(-1px);
    box-shadow: 0 5px 22px -1px #5d144614
}

.consent_btn.secondary:focus {
    background: #5d144640;
    outline: none
}

.consent_btn.secondary:active {
    transform: translateY(0)
}

@keyframes btn_progress {
    from {
        width: 0
    }

    to {
        width: 100%
    }
}

.consent_btn:active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, #5D1446 0%, #00F243 100%);
    animation: btn_progress .8s linear forwards;
    pointer-events: none
}

@media (max-width: 1024px) {
    .consent_inner {
        flex-direction: column;
        align-items: stretch;
        gap: 24px
    }

    .consent_actions {
        justify-content: center
    }
}

@media (max-width: 768px) {
    .consent_bar {
        padding: 24px
    }

    .consent_actions {
        flex-direction: column
    }

    .consent_btn {
        width: 100%
    }
}

@media (max-width: 320px) {
    .consent_bar {
        padding: 24px 12px
    }

    .consent_btn {
        padding: 12px 24px;
        min-width: 100px
    }
}

.policy-nror-main {
    max-width: 1140px;
    margin: 0 auto;
    padding: 72px 24px;
    background: #fff
}

.policy-nror-main h1 {
    font-size: 56px;
    line-height: 1.2;
    margin-bottom: 36px;
    color: #5D1446
}

.policy-nror-main h2 {
    font-size: 41px;
    line-height: 1.2;
    margin-top: 72px;
    margin-bottom: 24px;
    color: #5D1446
}

.policy-nror-main h3 {
    font-size: 31px;
    line-height: 1.2;
    margin-top: 36px;
    margin-bottom: 24px;
    color: #5D1446
}

.policy-nror-main h4 {
    font-size: 19px;
    line-height: 1.5;
    margin-top: 24px;
    margin-bottom: 12px;
    color: #5D1446;
    font-weight: 600
}

.policy-nror-main h5 {
    font-size: 15px;
    line-height: 1.5;
    margin-top: 24px;
    margin-bottom: 12px;
    color: #5D1446;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em
}

.policy-nror-main h6 {
    font-size: 15px;
    line-height: 1.5;
    margin-top: 24px;
    margin-bottom: 12px;
    color: #5D1446;
    font-weight: 600
}

.policy-nror-main p {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 24px;
    color: #2a2a2a
}

.policy-nror-main ul,
.policy-nror-main ol {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 24px;
    padding-left: 36px;
    color: #2a2a2a
}

.policy-nror-main li {
    margin-bottom: 12px
}

.policy-nror-main li:last-child {
    margin-bottom: 0
}

.policy-nror-main ul ul,
.policy-nror-main ul ol,
.policy-nror-main ol ul,
.policy-nror-main ol ol {
    margin-top: 12px;
    margin-bottom: 12px
}

.policy-nror-main strong,
.policy-nror-main b {
    font-weight: 600;
    color: #5D1446
}

.policy-nror-main em,
.policy-nror-main i {
    font-style: italic
}

.policy-nror-main hr {
    border: none;
    height: 2px;
    background: linear-gradient(90deg, #00F243 0%, #5D1446 100%);
    margin: 72px 0;
    border-radius: 4px
}

.policy-nror-main div {
    margin-bottom: 24px
}

.policy-nror-main a {
    color: #00F243;
    text-decoration: underline;
    transition: color .15s ease-out
}

.policy-nror-main a:hover {
    color: #5D1446
}

@media (max-width: 768px) {
    .policy-nror-main {
        padding: 36px 24px
    }

    .policy-nror-main h1 {
        font-size: 41px;
        margin-bottom: 24px
    }

    .policy-nror-main h2 {
        font-size: 31px;
        margin-top: 36px;
        margin-bottom: 24px
    }

    .policy-nror-main h3 {
        font-size: 19px;
        margin-top: 24px;
        margin-bottom: 12px
    }

    .policy-nror-main hr {
        margin: 36px 0
    }
}

@media (max-width: 320px) {
    .policy-nror-main {
        padding: 24px 12px
    }

    .policy-nror-main h1 {
        font-size: 31px
    }

    .policy-nror-main h2 {
        font-size: 19px
    }

    .policy-nror-main ul,
    .policy-nror-main ol {
        padding-left: 24px
    }
}

.mstr_dtl {
    background: #fff;
    color: #2a2a2a;
    overflow-x: clip
}

.mstr_dtl * {
    box-sizing: border-box
}

.mstr_dtl .hd_bnr {
    max-width: 1140px;
    margin: 0 auto;
    padding: 36px 24px 72px;
    display: flex;
    flex-direction: row;
    gap: 36px;
    align-items: stretch;
    position: relative
}

.mstr_dtl .hd_bnr::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 24px;
    width: 8px;
    height: 8px;
    background: #00F243;
    border-radius: 50%;
    box-shadow: 0 16px 0 0 #00F243, 0 32px 0 0 #00F243, 0 48px 0 0 #00F243
}

.mstr_dtl .hd_bnr::after {
    content: '';
    position: absolute;
    bottom: 24px;
    left: 36px;
    width: 6px;
    height: 6px;
    background: #5D1446;
    border-radius: 50%;
    box-shadow: 0 -14px 0 0 #5D1446, 0 -28px 0 0 #5D1446;
    opacity: .4
}

.mstr_dtl .hd_txt {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center
}

.mstr_dtl .hd_meta {
    display: flex;
    flex-direction: row;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center
}

.mstr_dtl .tag {
    background: linear-gradient(135deg, #00f2431f, #5d144614);
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 15px;
    line-height: 1.5;
    color: #5D1446;
    display: inline-block
}

.mstr_dtl .usr_fmt {
    background: #fff7efcc;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 15px;
    line-height: 1.5;
    color: #2a2a2a;
    border: 1px solid #5d144626
}

.mstr_dtl .hd_h1 {
    font-size: 56px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0;
    letter-spacing: -.02em
}

.mstr_dtl .hd_sub {
    font-size: 19px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0
}

.mstr_dtl .hd_act {
    margin-top: 12px
}

.mstr_dtl .cta_lnk {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 19px;
    line-height: 1.5;
    color: #00F243;
    text-decoration: none;
    font-weight: 600;
    transition: color .15s ease-out;
    position: relative
}

.mstr_dtl .cta_lnk::after {
    content: '';
    width: 20px;
    height: 2px;
    background: currentColor;
    transition: width .18s ease
}

.mstr_dtl .cta_lnk:hover {
    color: #5D1446
}

.mstr_dtl .cta_lnk:hover::after {
    width: 32px
}

.mstr_dtl .hd_img_wrp {
    width: 280px;
    flex-shrink: 0;
    position: relative;
    border-radius: 6px;
    overflow: hidden
}

.mstr_dtl .hd_img_wrp::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(to left, #00f24326, transparent 60%);
    z-index: 1;
    pointer-events: none
}

.mstr_dtl .hd_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.mstr_dtl .inf_grd {
    background: radial-gradient(ellipse at center, #00f24314, #5d14460f);
    padding: 72px 24px
}

.mstr_dtl .inf_cntr {
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 36px;
    align-items: start
}

.mstr_dtl .inf_mn {
    display: flex;
    flex-direction: column;
    gap: 36px
}

.mstr_dtl .inf_blk {
    background: #fff;
    padding: 36px;
    border-radius: 20px;
    box-shadow: 0 3px 5px -1px #00f2430f 0 5px 22px -1px #00f24314 0 9px 60px -1px #00f2431f;
    position: relative;
    opacity: 0;
    transform: rotate(-2deg);
    animation: rot_in .6s ease-out .2s forwards
}

.mstr_dtl .inf_blk:nth-child(2) {
    animation-delay: .4s;
    transform: rotate(1deg)
}

@keyframes rot_in {
    to {
        opacity: 1;
        transform: rotate(0deg)
    }
}

.mstr_dtl .inf_blk::before {
    content: '';
    position: absolute;
    left: 0;
    top: 24px;
    bottom: 24px;
    width: 4px;
    background: linear-gradient(to bottom, #00F243, #5D1446);
    border-radius: 0 4px 4px 0
}

.mstr_dtl .inf_h2 {
    font-size: 31px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 24px;
    padding-left: 24px
}

.mstr_dtl .inf_prg {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-left: 24px
}

.mstr_dtl .inf_prg h2 {
    font-size: 31px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 12px
}

.mstr_dtl .inf_prg h3 {
    font-size: 19px;
    line-height: 1.5;
    color: #5D1446;
    margin: 24px 0 8px;
    font-weight: 600
}

.mstr_dtl .inf_prg p {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 12px
}

.mstr_dtl .inf_prg mark {
    background: linear-gradient(135deg, #00f24340, #5d144626);
    color: #2a2a2a;
    padding: 2px 4px;
    border-radius: 4px
}

.mstr_dtl .inf_prg abbr {
    text-decoration: none;
    border-bottom: 2px dotted #00F243;
    cursor: help
}

.mstr_dtl .inf_prg ul {
    margin: 12px 0;
    padding: 0;
    list-style: none
}

.mstr_dtl .inf_prg li {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 8px;
    padding-left: 24px;
    position: relative
}

.mstr_dtl .inf_prg li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    background: #00F243;
    border-radius: 50%
}

.mstr_dtl .inf_prg dl {
    margin: 12px 0;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.mstr_dtl .inf_prg dt {
    font-size: 15px;
    line-height: 1.5;
    color: #5D1446;
    font-weight: 600;
    margin: 0
}

.mstr_dtl .inf_prg dd {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 0 24px
}

.mstr_dtl .inf_prg details {
    background: #fff7ef80;
    padding: 12px;
    border-radius: 6px;
    border: 1px solid #5d14461a;
    margin: 12px 0
}

.mstr_dtl .inf_prg summary {
    font-size: 15px;
    line-height: 1.5;
    color: #5D1446;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    user-select: none
}

.mstr_dtl .inf_prg summary::marker {
    display: none
}

.mstr_dtl .inf_prg details[open] summary {
    margin-bottom: 12px
}

.mstr_dtl .inf_dsc {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-left: 24px
}

.mstr_dtl .inf_dsc h2 {
    font-size: 31px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 12px
}

.mstr_dtl .inf_dsc h3 {
    font-size: 19px;
    line-height: 1.5;
    color: #5D1446;
    margin: 24px 0 8px;
    font-weight: 600
}

.mstr_dtl .inf_dsc p {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 12px
}

.mstr_dtl .inf_dsc cite {
    font-size: 15px;
    line-height: 1.7;
    color: #5D1446;
    font-style: italic;
    display: block;
    margin: 12px 0
}

.mstr_dtl .inf_dsc mark {
    background: linear-gradient(135deg, #00f24340, #5d144626);
    color: #2a2a2a;
    padding: 2px 4px;
    border-radius: 4px
}

.mstr_dtl .inf_dsc ul {
    margin: 12px 0;
    padding: 0;
    list-style: none
}

.mstr_dtl .inf_dsc li {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 8px;
    padding-left: 24px;
    position: relative
}

.mstr_dtl .inf_dsc li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    background: #00F243;
    border-radius: 50%
}

.mstr_dtl .inf_dsc blockquote {
    background: #fff7ef99;
    padding: 24px;
    border-radius: 6px;
    margin: 24px 0;
    border-left: 4px solid #5D1446;
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a
}

.mstr_dtl .inf_dsc figure {
    margin: 24px 0;
    padding: 0
}

.mstr_dtl .inf_dsc figcaption {
    font-size: 15px;
    line-height: 1.5;
    color: #6a6a6a;
    margin-top: 8px;
    font-style: italic
}

.mstr_dtl .inf_dsc details {
    background: #fff7ef80;
    padding: 12px;
    border-radius: 6px;
    border: 1px solid #5d14461a;
    margin: 12px 0
}

.mstr_dtl .inf_dsc summary {
    font-size: 15px;
    line-height: 1.5;
    color: #5D1446;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    user-select: none
}

.mstr_dtl .inf_dsc summary::marker {
    display: none
}

.mstr_dtl .inf_dsc details[open] summary {
    margin-bottom: 12px
}

.mstr_dtl .inf_sd {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 24px
}

.mstr_dtl .sd_crd {
    background: #5D1446;
    padding: 36px 24px;
    border-radius: 20px;
    box-shadow: 0 5px 22px -1px #5d144614 0 9px 60px -1px #5d14461f;
    display: flex;
    flex-direction: column;
    gap: 24px;
    opacity: 0;
    transform: rotate(2deg);
    animation: rot_in .6s ease-out .6s forwards
}

.mstr_dtl .sd_prc_wrp {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.mstr_dtl .sd_prc_val {
    font-size: 56px;
    line-height: 1.2;
    color: #00F243;
    font-weight: 700;
    display: flex;
    align-items: baseline;
    gap: 4px
}

.mstr_dtl .sd_prc_int {
    color: #00F243
}

.mstr_dtl .sd_prc_dec {
    color: #FFF7EF;
    font-size: 31px
}

.mstr_dtl .sd_prc_cur {
    font-size: 31px;
    color: #FFF7EF;
    margin-left: 4px
}

.mstr_dtl .sd_prc_dsc {
    font-size: 15px;
    line-height: 1.5;
    color: #FFF7EF;
    opacity: .9
}

.mstr_dtl .sd_inf_lst {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.mstr_dtl .sd_inf_itm {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #fff7ef26
}

.mstr_dtl .sd_inf_itm:last-child {
    border-bottom: none
}

.mstr_dtl .sd_inf_icn {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #00f24326;
    border-radius: 36px
}

.mstr_dtl .sd_inf_icn svg {
    width: 16px;
    height: 16px;
    fill: #00F243
}

.mstr_dtl .sd_inf_txt {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1
}

.mstr_dtl .sd_inf_lbl {
    font-size: 15px;
    line-height: 1.2;
    color: #fff7efb3
}

.mstr_dtl .sd_inf_val {
    font-size: 15px;
    line-height: 1.5;
    color: #FFF7EF;
    font-weight: 600
}

.mstr_dtl .sd_btn {
    background: #00F243;
    color: #2a2a2a;
    font-size: 19px;
    line-height: 1.5;
    padding: 12px 24px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    transition: background .12s ease-out, transform .1s ease;
    text-align: center;
    text-decoration: none;
    display: block;
    position: relative;
    overflow: hidden
}

.mstr_dtl .sd_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #5D1446;
    transition: width .18s ease-out;
    z-index: 0
}

.mstr_dtl .sd_btn:hover::before {
    width: 100%
}

.mstr_dtl .sd_btn:hover {
    color: #FFF7EF
}

.mstr_dtl .sd_btn:active {
    transform: scale(0.98)
}

.mstr_dtl .sd_btn span {
    position: relative;
    z-index: 1
}

.mstr_dtl .sd_sml {
    background: #fff7ef14;
    padding: 24px;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    opacity: 0;
    transform: rotate(-1deg);
    animation: rot_in .6s ease-out .8s forwards
}

.mstr_dtl .sd_sml_rw {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: center;
    justify-content: space-between
}

.mstr_dtl .sd_sml_lbl {
    font-size: 15px;
    line-height: 1.5;
    color: #FFF7EF;
    opacity: .8
}

.mstr_dtl .sd_sml_val {
    font-size: 19px;
    line-height: 1.2;
    color: #00F243;
    font-weight: 600
}

.mstr_dtl .dvd {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.mstr_dtl .dvd svg {
    width: 100%;
    height: 24px
}

.mstr_dtl .dvd_pth_1 {
    fill: none;
    stroke: #00f24333;
    stroke-width: 2
}

.mstr_dtl .dvd_pth_2 {
    fill: none;
    stroke: #5d144626;
    stroke-width: 2
}

@media (max-width: 1024px) {
    .mstr_dtl .hd_bnr {
        flex-direction: column;
        padding: 24px 24px 36px
    }

    .mstr_dtl .hd_img_wrp {
        width: 100%;
        height: 240px
    }

    .mstr_dtl .hd_h1 {
        font-size: 41px
    }

    .mstr_dtl .inf_cntr {
        grid-template-columns: 1fr
    }

    .mstr_dtl .inf_sd {
        position: static
    }

    .mstr_dtl .sd_crd {
        order: -1
    }
}

@media (max-width: 768px) {
    .mstr_dtl .hd_h1 {
        font-size: 31px
    }

    .mstr_dtl .hd_sub {
        font-size: 15px
    }

    .mstr_dtl .inf_blk {
        padding: 24px
    }

    .mstr_dtl .inf_h2 {
        font-size: 19px
    }

    .mstr_dtl .sd_prc_val {
        font-size: 41px
    }

    .mstr_dtl .sd_prc_dec,
    .mstr_dtl .sd_prc_cur {
        font-size: 19px
    }
}

@media (max-width: 320px) {
    .mstr_dtl .hd_bnr {
        padding: 12px 12px 24px
    }

    .mstr_dtl .inf_grd {
        padding: 36px 12px
    }

    .mstr_dtl .inf_blk {
        padding: 12px
    }

    .mstr_dtl .sd_crd {
        padding: 24px 12px
    }
}

.stdy_mtrl {
    max-width: 1140px;
    margin: 0 auto;
    background: #fff
}

.stdy_mtrl .hero_intro {
    background: linear-gradient(135deg, #FFF7EF 0%, #fff 100%);
    padding: 72px 24px;
    position: relative;
    border-top: 3px solid #00F243;
    border-bottom: 3px solid #5D1446;
    overflow: visible
}

.stdy_mtrl .hero_intro .intro_content {
    max-width: 840px;
    margin: 0 auto;
    text-align: center
}

.stdy_mtrl .hero_intro .main_hdg {
    font-size: 70px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 24px;
    font-weight: 700
}

.stdy_mtrl .hero_intro .tagline {
    font-size: 19px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0;
    font-style: italic
}

.stdy_mtrl .hero_intro .decorative_shape {
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 36px;
    background: radial-gradient(ellipse at center, #00f24326, #5d144614);
    top: 24px;
    right: 36px;
    z-index: 0;
    pointer-events: none
}

.stdy_mtrl .hero_intro .intro_content {
    position: relative;
    z-index: 1
}

.stdy_mtrl .curve_divider_1 {
    width: 100%;
    height: 60px;
    overflow: hidden;
    line-height: 0
}

.stdy_mtrl .curve_divider_1 svg {
    display: block;
    width: 100%;
    height: 60px
}

.stdy_mtrl .fundamentals_grid {
    background: #fff;
    padding: 72px 24px;
    position: relative
}

.stdy_mtrl .fundamentals_grid .section_header {
    max-width: 840px;
    margin: 0 auto 36px
}

.stdy_mtrl .fundamentals_grid .section_ttl {
    font-size: 56px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 12px;
    font-weight: 700;
    position: relative;
    padding-left: 24px
}

.stdy_mtrl .fundamentals_grid .section_ttl::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 6px;
    height: 100%;
    background: #00F243;
    border-radius: 4px
}

.stdy_mtrl .fundamentals_grid .section_desc {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0;
    padding-left: 24px
}

.stdy_mtrl .fundamentals_grid .topics_container {
    max-width: 840px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px
}

.stdy_mtrl .fundamentals_grid .topic_card {
    background: #fff;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 3px 5px -1px #5d14460f 0 5px 22px -1px #5d144614 0 9px 60px -1px #5d14461f;
    position: relative;
    transition: transform .15s ease-out, box-shadow .15s ease-out
}

.stdy_mtrl .fundamentals_grid .topic_card:hover {
    transform: translateY(-4px);
    box-shadow: 0 5px 8px -1px #5d144614 0 8px 28px -1px #5d14461f 0 12px 70px -1px #5d144626
}

.stdy_mtrl .fundamentals_grid .topic_number {
    font-size: 41px;
    line-height: 1.2;
    color: #00F243;
    font-weight: 700;
    margin: 0 0 8px
}

.stdy_mtrl .fundamentals_grid .topic_name {
    font-size: 19px;
    line-height: 1.5;
    color: #2a2a2a;
    margin: 0 0 8px;
    font-weight: 600
}

.stdy_mtrl .fundamentals_grid .topic_detail {
    font-size: 15px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0
}

.stdy_mtrl .curve_divider_2 {
    width: 100%;
    height: 60px;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg)
}

.stdy_mtrl .curve_divider_2 svg {
    display: block;
    width: 100%;
    height: 60px
}

.stdy_mtrl .visual_resources {
    background-image: url(./graphics_archive/20260429_hdr3.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    padding: 72px 24px;
    border-top: 3px solid #5D1446;
    border-bottom: 3px solid #00F243
}

.stdy_mtrl .visual_resources::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #5d1446d9;
    z-index: 0
}

.stdy_mtrl .visual_resources .resources_content {
    max-width: 840px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.stdy_mtrl .visual_resources .resources_hdg {
    font-size: 56px;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 24px;
    font-weight: 700;
    text-align: center
}

.stdy_mtrl .visual_resources .resources_list {
    display: flex;
    flex-direction: row;
    gap: 24px;
    overflow-x: auto;
    overflow-y: visible;
    padding: 12px 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: #00F243 #fff3
}

.stdy_mtrl .visual_resources .resources_list::-webkit-scrollbar {
    height: 8px
}

.stdy_mtrl .visual_resources .resources_list::-webkit-scrollbar-track {
    background: #fff3;
    border-radius: 4px
}

.stdy_mtrl .visual_resources .resources_list::-webkit-scrollbar-thumb {
    background: #00F243;
    border-radius: 4px
}

.stdy_mtrl .visual_resources .resource_item {
    min-width: 280px;
    background: #fffffff2;
    border-radius: 20px;
    padding: 24px;
    scroll-snap-align: start;
    flex-shrink: 0;
    position: relative;
    overflow: hidden
}

.stdy_mtrl .visual_resources .resource_item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, #00F243 0%, #5D1446 100%)
}

.stdy_mtrl .visual_resources .resource_icon {
    width: 48px;
    height: 48px;
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(ellipse at center, #00f24326, #5d144614);
    border-radius: 36px
}

.stdy_mtrl .visual_resources .resource_icon svg {
    width: 28px;
    height: 28px;
    fill: #5D1446
}

.stdy_mtrl .visual_resources .resource_label {
    font-size: 19px;
    line-height: 1.5;
    color: #2a2a2a;
    margin: 0 0 8px;
    font-weight: 600
}

.stdy_mtrl .visual_resources .resource_info {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0
}

.stdy_mtrl .curve_divider_3 {
    width: 100%;
    height: 60px;
    overflow: hidden;
    line-height: 0
}

.stdy_mtrl .curve_divider_3 svg {
    display: block;
    width: 100%;
    height: 60px
}

.stdy_mtrl .metrics_narrative {
    background: linear-gradient(180deg, #fff 0%, #FFF7EF 100%);
    padding: 72px 24px;
    position: relative
}

.stdy_mtrl .metrics_narrative .narrative_wrap {
    max-width: 840px;
    margin: 0 auto
}

.stdy_mtrl .metrics_narrative .narrative_hdg {
    font-size: 56px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 36px;
    font-weight: 700;
    position: relative;
    padding-left: 24px
}

.stdy_mtrl .metrics_narrative .narrative_hdg::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 6px;
    height: 100%;
    background: #5D1446;
    border-radius: 4px
}

.stdy_mtrl .metrics_narrative .stat_block {
    margin: 0 0 36px;
    position: relative
}

.stdy_mtrl .metrics_narrative .stat_visual {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 12px;
    margin: 0 0 12px
}

.stdy_mtrl .metrics_narrative .stat_num {
    font-size: 70px;
    line-height: 1.2;
    color: #00F243;
    font-weight: 700;
    margin: 0;
    background: linear-gradient(135deg, #00F243 0%, #5D1446 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: pulse_glow 2.4s ease-in-out infinite
}

@keyframes pulse_glow {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .7
    }
}

.stdy_mtrl .metrics_narrative .stat_label {
    font-size: 31px;
    line-height: 1.2;
    color: #5a5a5a;
    margin: 0;
    font-weight: 600
}

.stdy_mtrl .metrics_narrative .stat_context {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0;
    padding-left: 12px;
    border-left: 4px solid #00F243
}

.stdy_mtrl .metrics_narrative .quote_bubble {
    background: #fff;
    border-radius: 20px;
    padding: 24px;
    position: relative;
    margin: 36px 0 0;
    box-shadow: 0 3px 5px -1px #00f2430f 0 5px 22px -1px #00f24314 0 9px 60px -1px #00f2431f
}

.stdy_mtrl .metrics_narrative .quote_bubble::before {
    content: '';
    position: absolute;
    top: -12px;
    left: 36px;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 12px solid #fff
}

.stdy_mtrl .metrics_narrative .quote_text {
    font-size: 19px;
    line-height: 1.5;
    color: #2a2a2a;
    margin: 0 0 12px;
    font-style: italic
}

.stdy_mtrl .metrics_narrative .quote_author {
    font-size: 15px;
    line-height: 1.7;
    color: #5D1446;
    margin: 0;
    font-weight: 600;
    text-align: right
}

.stdy_mtrl .metrics_narrative .image_showcase {
    margin: 36px 0 0;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 5px 8px -1px #5d144614 0 8px 28px -1px #5d14461f 0 12px 70px -1px #5d144626;
    position: relative
}

.stdy_mtrl .metrics_narrative .image_showcase img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block
}

.stdy_mtrl .metrics_narrative .overlay_layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #00f24366 0%, #5d144666 100%);
    opacity: 1;
    transition: opacity .18s ease;
    pointer-events: none
}

.stdy_mtrl .metrics_narrative .image_showcase:hover .overlay_layer {
    opacity: 0
}

.stdy_mtrl .metrics_narrative .underline_anim {
    position: relative;
    display: inline-block
}

.stdy_mtrl .metrics_narrative .underline_anim::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 4px;
    background: #00F243;
    border-radius: 4px;
    animation: draw_line 1.8s ease-out forwards
}

@keyframes draw_line {
    to {
        width: 100%
    }
}

.stdy_mtrl .numbered_para {
    counter-reset: para_count
}

.stdy_mtrl .numbered_para .para_item {
    position: relative;
    padding-left: 36px;
    margin: 0 0 24px;
    counter-increment: para_count
}

.stdy_mtrl .numbered_para .para_item::before {
    content: counter(para_count) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 19px;
    line-height: 1.5;
    color: #00F243;
    font-weight: 700
}

.stdy_mtrl .numbered_para .para_item p {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0
}

.stdy_mtrl .hold_btn {
    display: inline-block;
    padding: 12px 36px;
    background: #5D1446;
    color: #fff;
    font-size: 19px;
    line-height: 1.5;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform .12s ease-out
}

.stdy_mtrl .hold_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #00F243;
    transition: width 1.2s linear;
    z-index: 0
}

.stdy_mtrl .hold_btn:active::before {
    width: 100%
}

.stdy_mtrl .hold_btn span {
    position: relative;
    z-index: 1
}

.stdy_mtrl .hold_btn:hover {
    transform: scale(1.03)
}

.stdy_mtrl .hold_btn:active {
    transform: scale(0.98)
}

.stdy_mtrl .colored_list {
    list-style: none;
    padding: 0;
    margin: 0
}

.stdy_mtrl .colored_list li {
    position: relative;
    padding-left: 24px;
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a
}

.stdy_mtrl .colored_list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 8px;
    background: #00F243;
    border-radius: 36px
}

.stdy_mtrl .content_link {
    color: #5D1446;
    text-decoration: underline;
    transition: color .15s ease-out
}

.stdy_mtrl .content_link:hover {
    color: #00F243
}

.stdy_mtrl .important_reset {
    margin: 0 !important
}

@media (max-width: 1024px) {
    .stdy_mtrl .hero_intro .main_hdg {
        font-size: 56px
    }

    .stdy_mtrl .fundamentals_grid .section_ttl,
    .stdy_mtrl .visual_resources .resources_hdg,
    .stdy_mtrl .metrics_narrative .narrative_hdg {
        font-size: 41px
    }

    .stdy_mtrl .fundamentals_grid .topics_container {
        grid-template-columns: 1fr
    }

    .stdy_mtrl .metrics_narrative .stat_num {
        font-size: 56px
    }

    .stdy_mtrl .metrics_narrative .stat_label {
        font-size: 19px
    }
}

@media (max-width: 768px) {
    .stdy_mtrl .hero_intro {
        padding: 36px 24px
    }

    .stdy_mtrl .hero_intro .main_hdg {
        font-size: 41px
    }

    .stdy_mtrl .hero_intro .tagline {
        font-size: 15px
    }

    .stdy_mtrl .fundamentals_grid,
    .stdy_mtrl .visual_resources,
    .stdy_mtrl .metrics_narrative {
        padding: 36px 24px
    }

    .stdy_mtrl .fundamentals_grid .section_ttl,
    .stdy_mtrl .visual_resources .resources_hdg,
    .stdy_mtrl .metrics_narrative .narrative_hdg {
        font-size: 31px
    }

    .stdy_mtrl .metrics_narrative .stat_num {
        font-size: 41px
    }

    .stdy_mtrl .metrics_narrative .stat_label {
        font-size: 15px
    }

    .stdy_mtrl .metrics_narrative .image_showcase img {
        height: 280px
    }

    .stdy_mtrl .hero_intro .decorative_shape {
        width: 120px;
        height: 120px;
        top: 12px;
        right: 12px
    }

    .stdy_mtrl .visual_resources .resource_item {
        min-width: 240px
    }
}

@media (max-width: 320px) {
    .stdy_mtrl .hero_intro .main_hdg {
        font-size: 31px
    }

    .stdy_mtrl .fundamentals_grid .section_ttl,
    .stdy_mtrl .visual_resources .resources_hdg,
    .stdy_mtrl .metrics_narrative .narrative_hdg {
        font-size: 19px
    }

    .stdy_mtrl .metrics_narrative .stat_num {
        font-size: 31px
    }

    .stdy_mtrl .visual_resources .resource_item {
        min-width: 200px
    }
}

.net_mgmt_contact {
    background: linear-gradient(180deg, #FFF7EF 0%, #fff 100%);
    position: relative;
    overflow-x: clip
}

.net_mgmt_contact::before {
    content: '';
    position: absolute;
    top: 72px;
    right: 72px;
    width: 280px;
    height: 280px;
    border: 1px solid #5d144614;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1
}

.net_mgmt_contact::after {
    content: '';
    position: absolute;
    top: 48px;
    right: 48px;
    width: 332px;
    height: 332px;
    border: 1px solid #5d14460d;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1
}

.net_mgmt_contact .intro_zone {
    max-width: 1140px;
    margin: 0 auto;
    padding: 72px 24px 36px;
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 72px;
    align-items: center;
    position: relative;
    z-index: 2
}

.net_mgmt_contact .intro_text {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.net_mgmt_contact .intro_headline {
    font-size: 56px;
    line-height: 1.2;
    color: #5D1446;
    margin: 0;
    letter-spacing: -.02em
}

.net_mgmt_contact .intro_description {
    font-size: 19px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0
}

.net_mgmt_contact .intro_img_card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: 420px;
    box-shadow: 0 9px 60px -1px #5d14461f
}

.net_mgmt_contact .intro_img_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 40%;
    background: linear-gradient(180deg, #5d144699 0%, #5d144600 100%);
    z-index: 2;
    pointer-events: none
}

.net_mgmt_contact .intro_visual {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.net_mgmt_contact .divider_arrows {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 36px 0;
    max-width: 1140px;
    margin: 0 auto
}

.net_mgmt_contact .arrow_shape {
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 12px solid #00F243;
    opacity: .4;
    transform: rotate(90deg)
}

.net_mgmt_contact .arrow_shape:nth-child(2) {
    opacity: .6;
    border-top-color: #5D1446
}

.net_mgmt_contact .arrow_shape:nth-child(3) {
    opacity: .5;
    border-top-color: #00F243
}

.net_mgmt_contact .arrow_shape:nth-child(4) {
    opacity: .7;
    border-top-color: #5D1446
}

.net_mgmt_contact .arrow_shape:nth-child(5) {
    opacity: .4;
    border-top-color: #00F243
}

.net_mgmt_contact .form_area {
    max-width: 1140px;
    margin: 0 auto;
    padding: 72px 24px;
    position: relative
}

.net_mgmt_contact .form_area::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    height: 400px;
    background: radial-gradient(ellipse at center, #00f2431f 0%, #5d144614 100%);
    border-radius: 50%;
    pointer-events: none;
    animation: pulse_spot 8s linear infinite;
    z-index: 1
}

@keyframes pulse_spot {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1)
    }

    50% {
        transform: translate(-50%, -50%) scale(1.15)
    }
}

.net_mgmt_contact .form_glass {
    background: #ffffffb3;
    backdrop-filter: blur(12px);
    border-radius: 36px;
    padding: 72px;
    position: relative;
    z-index: 2;
    box-shadow: 0 5px 22px -1px #00f24314
}

.net_mgmt_contact .form_header {
    margin: 0 0 36px
}

.net_mgmt_contact .form_title {
    font-size: 41px;
    line-height: 1.2;
    color: #5D1446;
    margin: 0 0 12px;
    position: relative;
    padding-left: 24px
}

.net_mgmt_contact .form_title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #00F243 0%, #5D1446 100%);
    border-radius: 4px
}

.net_mgmt_contact .form_subtitle {
    font-size: 19px;
    line-height: 1.5;
    color: #6a6a6a;
    margin: 0;
    padding-left: 24px
}

.net_mgmt_contact .contact_form {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.net_mgmt_contact .form_row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px
}

.net_mgmt_contact .field_group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative
}

.net_mgmt_contact .field_label {
    font-size: 15px;
    line-height: 1.5;
    color: #5D1446;
    font-weight: 600;
    display: block
}

.net_mgmt_contact .field_input {
    padding: 12px 24px;
    border: 2px solid #5d144626;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.5;
    color: #2a2a2a;
    background: #fff;
    transition: border-color .15s ease-out, box-shadow .15s ease-out;
    outline: none
}

.net_mgmt_contact .field_input:focus {
    border-color: #00F243;
    box-shadow: 0 3px 5px -1px #00f2430f
}

.net_mgmt_contact .field_input::placeholder {
    color: #a0a0a0
}

.net_mgmt_contact .field_textarea {
    padding: 12px 24px;
    border: 2px solid #5d144626;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.5;
    color: #2a2a2a;
    background: #fff;
    transition: border-color .15s ease-out, box-shadow .15s ease-out;
    outline: none;
    resize: vertical;
    min-height: 140px
}

.net_mgmt_contact .field_textarea:focus {
    border-color: #00F243;
    box-shadow: 0 3px 5px -1px #00f2430f
}

.net_mgmt_contact .field_textarea::placeholder {
    color: #a0a0a0
}

.net_mgmt_contact .method_selector {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.net_mgmt_contact .method_label {
    font-size: 15px;
    line-height: 1.5;
    color: #5D1446;
    font-weight: 600;
    margin-bottom: 4px
}

.net_mgmt_contact .method_options {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.net_mgmt_contact .method_option {
    position: relative
}

.net_mgmt_contact .method_radio {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.net_mgmt_contact .method_btn {
    padding: 8px 24px;
    border: 2px solid #5d144626;
    border-radius: 4px;
    font-size: 15px;
    line-height: 1.5;
    color: #5D1446;
    background: #fff;
    cursor: pointer;
    transition: all .12s ease-out;
    display: inline-block
}

.net_mgmt_contact .method_radio:checked+.method_btn {
    background: #00F243;
    border-color: #00F243;
    color: #fff;
    box-shadow: 0 3px 5px -1px #00f2430f
}

.net_mgmt_contact .method_btn:hover {
    border-color: #00F243
}

.net_mgmt_contact .service_selector {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.net_mgmt_contact .service_label {
    font-size: 15px;
    line-height: 1.5;
    color: #5D1446;
    font-weight: 600
}

.net_mgmt_contact .service_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px
}

.net_mgmt_contact .service_item {
    position: relative
}

.net_mgmt_contact .service_check {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.net_mgmt_contact .service_box {
    padding: 12px 24px;
    border: 2px solid #5d144626;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.5;
    color: #5D1446;
    background: #fff;
    cursor: pointer;
    transition: all .15s ease-out;
    display: flex;
    align-items: center;
    gap: 12px
}

.net_mgmt_contact .service_box::before {
    content: '';
    width: 20px;
    height: 20px;
    border: 2px solid #5d14464d;
    border-radius: 4px;
    flex-shrink: 0;
    transition: all .15s ease-out
}

.net_mgmt_contact .service_check:checked+.service_box {
    background: #00f24314;
    border-color: #00F243
}

.net_mgmt_contact .service_check:checked+.service_box::before {
    background: #00F243;
    border-color: #00F243;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M13.5 3.5L6 11 2.5 7.5l1-1L6 9l6.5-6.5z'/%3E%3C/svg%3E");
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat
}

.net_mgmt_contact .service_box:hover {
    border-color: #00F243
}

.net_mgmt_contact .privacy_consent {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 24px;
    background: #fff7ef80;
    border-radius: 6px;
    margin-top: 12px
}

.net_mgmt_contact .privacy_check {
    margin-top: 4px;
    width: 20px;
    height: 20px;
    cursor: pointer;
    flex-shrink: 0;
    accent-color: #00F243
}

.net_mgmt_contact .privacy_text {
    font-size: 15px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0
}

.net_mgmt_contact .privacy_link {
    color: #5D1446;
    text-decoration: none;
    border-bottom: 1px solid #5d14464d;
    transition: color .12s ease-out, border-color .12s ease-out
}

.net_mgmt_contact .privacy_link:hover {
    color: #00F243;
    border-color: #00F243
}

.net_mgmt_contact .submit_btn {
    padding: 24px 72px;
    background: #5D1446;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 19px;
    line-height: 1.2;
    cursor: pointer;
    transition: all .18s ease;
    position: relative;
    overflow: hidden;
    align-self: flex-start;
    box-shadow: 0 5px 22px -1px #5d144614
}

.net_mgmt_contact .submit_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #00F243;
    transition: width .18s ease;
    z-index: -1
}

.net_mgmt_contact .submit_btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 60px -1px #5d14461f
}

.net_mgmt_contact .submit_btn:hover::before {
    width: 100%
}

.net_mgmt_contact .submit_btn:active {
    transform: translateY(0)
}

.net_mgmt_contact .info_cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 72px
}

.net_mgmt_contact .info_card {
    background: #fff;
    padding: 36px 24px;
    border-radius: 20px;
    box-shadow: 0 3px 5px -1px #00f2430f;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: all .15s ease-out
}

.net_mgmt_contact .info_card:hover {
    transform: translateY(-4px);
    box-shadow: 0 9px 60px -1px #00f2431f
}

.net_mgmt_contact .card_icon {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #00f24326 0%, #5d144626 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px
}

.net_mgmt_contact .card_icon svg {
    width: 24px;
    height: 24px;
    fill: #5D1446
}

.net_mgmt_contact .card_heading {
    font-size: 19px;
    line-height: 1.2;
    color: #5D1446;
    margin: 0;
    font-weight: 600
}

.net_mgmt_contact .card_detail {
    font-size: 15px;
    line-height: 1.7;
    color: #6a6a6a;
    margin: 0
}

.net_mgmt_contact .card_link {
    color: #5D1446;
    text-decoration: none;
    transition: color .12s ease-out
}

.net_mgmt_contact .card_link:hover {
    color: #00F243
}

@media (max-width: 1024px) {
    .net_mgmt_contact .intro_zone {
        grid-template-columns: 1fr;
        gap: 36px;
        padding: 72px 24px 24px
    }

    .net_mgmt_contact .intro_img_card {
        height: 320px
    }

    .net_mgmt_contact .intro_headline {
        font-size: 41px
    }

    .net_mgmt_contact .form_glass {
        padding: 36px
    }

    .net_mgmt_contact .form_title {
        font-size: 31px
    }

    .net_mgmt_contact .form_row {
        grid-template-columns: 1fr
    }

    .net_mgmt_contact .info_cards {
        grid-template-columns: 1fr
    }

    .net_mgmt_contact .service_grid {
        grid-template-columns: 1fr
    }
}

@media (max-width: 768px) {
    .net_mgmt_contact::before {
        width: 180px;
        height: 180px;
        top: 36px;
        right: 36px
    }

    .net_mgmt_contact::after {
        width: 220px;
        height: 220px;
        top: 24px;
        right: 24px
    }

    .net_mgmt_contact .intro_zone {
        padding: 36px 24px 24px
    }

    .net_mgmt_contact .intro_headline {
        font-size: 31px
    }

    .net_mgmt_contact .intro_description {
        font-size: 15px
    }

    .net_mgmt_contact .intro_img_card {
        height: 240px
    }

    .net_mgmt_contact .form_area {
        padding: 36px 24px
    }

    .net_mgmt_contact .form_area::before {
        width: 280px;
        height: 280px
    }

    .net_mgmt_contact .form_glass {
        padding: 24px;
        border-radius: 20px
    }

    .net_mgmt_contact .form_title {
        font-size: 19px;
        padding-left: 12px
    }

    .net_mgmt_contact .form_subtitle {
        font-size: 15px;
        padding-left: 12px
    }

    .net_mgmt_contact .submit_btn {
        width: 100%;
        padding: 24px 36px
    }

    .net_mgmt_contact .method_options {
        flex-direction: column
    }

    .net_mgmt_contact .method_btn {
        width: 100%;
        text-align: center
    }

    .net_mgmt_contact .info_cards {
        margin-top: 36px
    }
}

@media (max-width: 320px) {
    .net_mgmt_contact .intro_headline {
        font-size: 19px
    }

    .net_mgmt_contact .form_title {
        font-size: 15px
    }

    .net_mgmt_contact .divider_arrows {
        gap: 8px
    }

    .net_mgmt_contact .arrow_shape {
        border-left-width: 6px;
        border-right-width: 6px;
        border-top-width: 9px
    }
}

.mstr_cls {
    background: #fff;
    min-height: 100vh;
    overflow-x: hidden
}

.mstr_cls * {
    box-sizing: border-box
}

.mstr_cls .ttl_blk {
    position: relative;
    max-width: 1140px;
    margin: 0 auto;
    padding: 36px 24px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 36px;
    background: linear-gradient(135deg, #FFF7EF 0%, #fff 100%)
}

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

.mstr_cls .ttl_txt {
    flex: 1;
    position: relative;
    z-index: 2
}

.mstr_cls .ttl_txt h1 {
    font-size: 56px;
    line-height: 1.2;
    color: #5D1446;
    margin: 0 0 24px;
    font-weight: 700
}

.mstr_cls .ttl_manifesto {
    font-size: 19px;
    line-height: 1.5;
    color: #333;
    margin: 0
}

.mstr_cls .ttl_img_wrap {
    width: 280px;
    flex-shrink: 0;
    position: relative;
    z-index: 1
}

.mstr_cls .ttl_img_wrap img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    border-radius: 6px;
    opacity: .7;
    box-shadow: 0 9px 60px -1px #5d14461f
}

.mstr_cls .crd_grid_sec {
    max-width: 1140px;
    margin: 72px auto;
    padding: 0 24px;
    position: relative
}

.mstr_cls .crd_grid_sec::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 420px;
    height: 420px;
    background: radial-gradient(ellipse at center, #00f24314, #5d144614);
    transform: translate(-50%, -50%) rotate(0deg);
    animation: slow_rotate 60s linear infinite;
    pointer-events: none;
    z-index: 0
}

@keyframes slow_rotate {
    from {
        transform: translate(-50%, -50%) rotate(0deg)
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg)
    }
}

.mstr_cls .crd_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    position: relative;
    z-index: 1
}

.mstr_cls .crd {
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 3px 5px -1px #5d14460f 0 5px 22px -1px #5d144614;
    transition: transform .15s ease-out, box-shadow .15s ease-out;
    position: relative
}

.mstr_cls .crd::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #00f243d9 0%, #5d1446d9 100%);
    opacity: 0;
    transition: opacity .18s ease-out;
    pointer-events: none;
    z-index: 2
}

.mstr_cls .crd:hover::before {
    opacity: 1
}

.mstr_cls .crd:hover {
    transform: translateY(-4px);
    box-shadow: 0 9px 60px -1px #5d14461f
}

.mstr_cls .crd_img_wrap {
    width: 100%;
    height: 180px;
    overflow: hidden;
    position: relative
}

.mstr_cls .crd_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .2s ease-out
}

.mstr_cls .crd:hover .crd_img_wrap img {
    transform: scale(1.08)
}

.mstr_cls .crd_body {
    padding: 24px
}

.mstr_cls .crd_meta {
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin-bottom: 12px;
    flex-wrap: wrap
}

.mstr_cls .tag {
    display: inline-block;
    padding: 4px 12px;
    background: #00f2431f;
    color: #5D1446;
    font-size: 15px;
    line-height: 1.2;
    border-radius: 4px;
    font-weight: 500
}

.mstr_cls .usr_lvl {
    display: inline-block;
    padding: 4px 12px;
    background: #5d14461f;
    color: #5D1446;
    font-size: 15px;
    line-height: 1.2;
    border-radius: 4px;
    font-weight: 500
}

.mstr_cls .crd_ttl {
    font-size: 19px;
    line-height: 1.5;
    color: #1a1a1a;
    margin: 0 0 12px;
    font-weight: 600
}

.mstr_cls .crd_desc {
    font-size: 15px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0 0 24px
}

.mstr_cls .crd_stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 24px
}

.mstr_cls .stat_itm {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.mstr_cls .stat_lbl {
    font-size: 15px;
    line-height: 1.2;
    color: #7a7a7a
}

.mstr_cls .stat_val {
    font-size: 19px;
    line-height: 1.2;
    color: #5D1446;
    font-weight: 600
}

.mstr_cls .crd_footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-top: 24px;
    border-top: 1px solid #5d14461f
}

.mstr_cls .prc {
    font-size: 31px;
    line-height: 1.2;
    color: #5D1446;
    font-weight: 700
}

.mstr_cls .crd_btn {
    display: inline-block;
    padding: 12px 24px;
    background: #00F243;
    color: #5D1446;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 600;
    border-radius: 6px;
    text-decoration: none;
    transition: background .12s ease-out, transform .12s ease-out;
    position: relative;
    overflow: hidden
}

.mstr_cls .crd_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #5d144626;
    transition: left .15s ease-out
}

.mstr_cls .crd_btn:hover::before {
    left: 0
}

.mstr_cls .crd_btn:hover {
    transform: translateY(-2px)
}

.mstr_cls .crd_btn:active {
    transform: translateY(0)
}

.mstr_cls .tmln_sec {
    max-width: 1140px;
    margin: 72px auto;
    padding: 72px 24px;
    background: linear-gradient(180deg, #FFF7EF 0%, #fff 100%);
    border-radius: 20px;
    position: relative
}

.mstr_cls .tmln_sec::before {
    content: '';
    position: absolute;
    top: 50%;
    right: -100px;
    width: 300px;
    height: 300px;
    background: linear-gradient(135deg, #00f24326, transparent);
    border-radius: 50%;
    transform: translateY(-50%) rotate(0deg);
    animation: slow_rotate 80s linear infinite;
    pointer-events: none
}

.mstr_cls .tmln_hdr {
    text-align: center;
    margin-bottom: 72px
}

.mstr_cls .tmln_hdr h2 {
    font-size: 41px;
    line-height: 1.2;
    color: #5D1446;
    margin: 0 0 12px;
    font-weight: 700
}

.mstr_cls .tmln_hdr p {
    font-size: 19px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0
}

.mstr_cls .tmln_wrap {
    position: relative;
    padding: 0 24px
}

.mstr_cls .tmln_line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, #00F243, #5D1446);
    transform: translateX(-50%)
}

.mstr_cls .tmln_itm {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    margin-bottom: 72px;
    position: relative
}

.mstr_cls .tmln_itm:last-child {
    margin-bottom: 0
}

.mstr_cls .tmln_itm.left .tmln_cnt {
    grid-column: 1;
    text-align: right
}

.mstr_cls .tmln_itm.left .tmln_empty {
    grid-column: 2
}

.mstr_cls .tmln_itm.right .tmln_empty {
    grid-column: 1
}

.mstr_cls .tmln_itm.right .tmln_cnt {
    grid-column: 2;
    text-align: left
}

.mstr_cls .tmln_dot {
    position: absolute;
    left: 50%;
    top: 24px;
    width: 16px;
    height: 16px;
    background: #00F243;
    border: 4px solid #fff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 3px 5px -1px #00f2430f 0 5px 22px -1px #00f24314;
    z-index: 2
}

.mstr_cls .tmln_cnt {
    background: #fff;
    padding: 24px;
    border-radius: 6px;
    box-shadow: 0 5px 22px -1px #5d144614
}

.mstr_cls .tmln_cnt h3 {
    font-size: 19px;
    line-height: 1.2;
    color: #5D1446;
    margin: 0 0 12px;
    font-weight: 600
}

.mstr_cls .tmln_cnt p {
    font-size: 15px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0
}

.mstr_cls .info_grid_sec {
    max-width: 1140px;
    margin: 72px auto;
    padding: 0 24px
}

.mstr_cls .info_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px
}

.mstr_cls .info_bx {
    background: #fff;
    padding: 24px;
    border-radius: 6px;
    box-shadow: 0 3px 5px -1px #00f2430f 0 5px 22px -1px #00f24314;
    position: relative;
    overflow: hidden;
    transition: transform .12s ease-out
}

.mstr_cls .info_bx::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #00F243, #5D1446)
}

.mstr_cls .info_bx:hover {
    transform: translateY(-4px)
}

.mstr_cls .info_icn {
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
    position: relative
}

.mstr_cls .info_icn svg {
    width: 100%;
    height: 100%;
    fill: #5D1446
}

.mstr_cls .info_bx h4 {
    font-size: 19px;
    line-height: 1.2;
    color: #5D1446;
    margin: 0 0 8px;
    font-weight: 600
}

.mstr_cls .info_bx p {
    font-size: 15px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0
}

.mstr_cls .divider_svg {
    width: 100%;
    height: 60px;
    display: block;
    margin: 72px 0
}

.mstr_cls .divider_svg svg {
    width: 100%;
    height: 100%
}

@media (max-width: 1024px) {
    .mstr_cls .ttl_blk {
        flex-direction: column;
        gap: 24px
    }

    .mstr_cls .ttl_img_wrap {
        width: 100%;
        max-width: 420px
    }

    .mstr_cls .ttl_txt h1 {
        font-size: 41px
    }

    .mstr_cls .crd_grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .mstr_cls .info_grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .mstr_cls .tmln_itm {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .mstr_cls .tmln_line {
        left: 24px
    }

    .mstr_cls .tmln_dot {
        left: 24px
    }

    .mstr_cls .tmln_itm.left .tmln_cnt,
    .mstr_cls .tmln_itm.right .tmln_cnt {
        grid-column: 1;
        text-align: left
    }

    .mstr_cls .tmln_itm.left .tmln_empty,
    .mstr_cls .tmln_itm.right .tmln_empty {
        display: none
    }
}

@media (max-width: 768px) {
    .mstr_cls .ttl_txt h1 {
        font-size: 31px
    }

    .mstr_cls .ttl_manifesto {
        font-size: 15px
    }

    .mstr_cls .crd_grid {
        grid-template-columns: 1fr
    }

    .mstr_cls .info_grid {
        grid-template-columns: 1fr
    }

    .mstr_cls .tmln_hdr h2 {
        font-size: 31px
    }

    .mstr_cls .crd_stats {
        grid-template-columns: 1fr
    }
}

@media (max-width: 320px) {

    .mstr_cls .ttl_blk,
    .mstr_cls .crd_grid_sec,
    .mstr_cls .tmln_sec,
    .mstr_cls .info_grid_sec {
        padding-left: 12px;
        padding-right: 12px
    }

    .mstr_cls .ttl_txt h1 {
        font-size: 19px
    }

    .mstr_cls .crd_body {
        padding: 12px
    }
}

.abt_us {
    background: #fff;
    overflow-x: clip
}

.abt_us * {
    box-sizing: border-box
}

.abt_us .tl_blk {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    max-width: 100%;
    margin: 0 auto;
    padding: 36px 0;
    background: linear-gradient(135deg, #FFF7EF 0%, #fff 100%)
}

.abt_us .tl_blk::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 8%;
    width: 180px;
    height: 180px;
    border: 2px solid #00f24326;
    border-radius: 50% 40% 60% 50%;
    z-index: 1
}

.abt_us .tl_blk::after {
    content: '';
    position: absolute;
    bottom: 36px;
    right: 12%;
    width: 140px;
    height: 140px;
    border: 2px solid #5d14461f;
    border-radius: 40% 50% 50% 60%;
    z-index: 1
}

.abt_us .tl_img_wr {
    position: relative;
    flex: 0 0 50%;
    height: 420px;
    overflow: hidden;
    z-index: 2
}

.abt_us .tl_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: translateZ(0);
    will-change: transform
}

.abt_us .tl_img_wr::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to top, #5d1446b3 0%, transparent 100%);
    pointer-events: none
}

.abt_us .tl_txt_wr {
    flex: 0 0 50%;
    padding: 0 72px;
    z-index: 2
}

.abt_us .tl_h {
    font-size: 56px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 24px
}

.abt_us .tl_h .em_phr {
    background: linear-gradient(110deg, #00F243 0%, #5D1446 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 600
}

.abt_us .tl_dsc {
    font-size: 19px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0
}

.abt_us .cnt_wr {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px
}

.abt_us .sc_1 {
    padding: 72px 0;
    background: #fff;
    position: relative
}

.abt_us .sc_1::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: #fff;
    z-index: -1
}

.abt_us .sc_1_in {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: start
}

.abt_us .sc_1_lft {
    position: relative
}

.abt_us .sc_1_lft::before {
    content: '';
    position: absolute;
    left: -12px;
    top: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #00F243 0%, #5D1446 100%);
    border-radius: 4px
}

.abt_us .sc_1_h {
    font-size: 41px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 36px
}

.abt_us .sc_1_p {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 24px;
    position: relative;
    padding-left: 36px
}

.abt_us .sc_1_p::before {
    content: '1';
    position: absolute;
    left: 0;
    top: 0;
    font-size: 15px;
    font-weight: 600;
    color: #5D1446
}

.abt_us .sc_1_p:nth-of-type(2)::before {
    content: '2'
}

.abt_us .sc_1_p:nth-of-type(3)::before {
    content: '3'
}

.abt_us .sc_1_p:last-of-type {
    margin-bottom: 0
}

.abt_us .sc_1_rgt {
    position: relative;
    height: 100%;
    min-height: 480px
}

.abt_us .sc_1_img_wr {
    position: sticky;
    top: 72px;
    width: 100%;
    height: 420px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 9px 60px -1px #00f2431f;
    transform: translateZ(0);
    will-change: transform
}

.abt_us .sc_1_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.abt_us .dvd_1 {
    height: 8px;
    background: linear-gradient(90deg, #00F243 0%, transparent 100%);
    margin: 0;
    border: none
}

.abt_us .sc_2 {
    padding: 72px 0;
    background: radial-gradient(ellipse at center, #FFF7EF 0%, #fff 100%);
    position: relative
}

.abt_us .sc_2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: radial-gradient(ellipse at center, #FFF7EF 0%, #fff 100%);
    z-index: -1
}

.abt_us .sc_2::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(135deg, transparent 48%, #00f24308 48%, #00f24308 52%, transparent 52%), linear-gradient(-135deg, transparent 48%, #5d144608 48%, #5d144608 52%, transparent 52%);
    background-size: 48px 48px;
    pointer-events: none;
    z-index: 0
}

.abt_us .sc_2_in {
    position: relative;
    z-index: 1
}

.abt_us .sc_2_h {
    font-size: 41px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 36px;
    text-align: center
}

.abt_us .prg_st {
    display: flex;
    flex-direction: column;
    gap: 36px;
    max-width: 880px;
    margin: 0 auto
}

.abt_us .prg_itm {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
    position: relative;
    opacity: 0;
    animation: fd_blr .15s ease-out .2s forwards
}

.abt_us .prg_itm:nth-child(2) {
    animation-delay: .35s
}

.abt_us .prg_itm:nth-child(3) {
    animation-delay: .5s
}

.abt_us .prg_itm:nth-child(4) {
    animation-delay: .65s
}

@keyframes fd_blr {
    from {
        opacity: 0;
        filter: blur(8px)
    }

    to {
        opacity: 1;
        filter: blur(0)
    }
}

.abt_us .prg_itm::after {
    content: '';
    position: absolute;
    left: 30px;
    top: 48px;
    width: 2px;
    height: calc(100% + 36px);
    background: linear-gradient(180deg, #5D1446 0%, transparent 100%)
}

.abt_us .prg_itm:last-child::after {
    display: none
}

.abt_us .prg_num {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    border-radius: 36px;
    background: linear-gradient(135deg, #00F243 0%, #5D1446 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    font-weight: 600;
    color: #fff;
    box-shadow: 0 5px 22px -1px #00f24314
}

.abt_us .prg_cnt {
    flex: 1;
    padding-top: 8px
}

.abt_us .prg_ttl {
    font-size: 19px;
    line-height: 1.5;
    color: #2a2a2a;
    margin: 0 0 8px;
    font-weight: 600
}

.abt_us .prg_dsc {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0
}

.abt_us .dvd_2 {
    height: 8px;
    background: linear-gradient(270deg, #5D1446 0%, transparent 100%);
    margin: 0;
    border: none
}

.abt_us .sc_3 {
    padding: 72px 0;
    background: #fff;
    position: relative
}

.abt_us .sc_3_h {
    font-size: 41px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 36px
}

.abt_us .sc_3_grd {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: start
}

.abt_us .sc_3_col {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt_us .sc_3_txt {
    background: linear-gradient(135deg, #FFF7EF 0%, #fff 100%);
    padding: 36px;
    border-radius: 20px;
    box-shadow: 0 5px 22px -1px #5d144614;
    position: relative
}

.abt_us .sc_3_txt::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 12px;
    width: 24px;
    height: 24px;
    border-top: 3px solid #00F243;
    border-left: 3px solid #00F243;
    border-radius: 4px
}

.abt_us .sc_3_txt::after {
    content: '';
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 24px;
    height: 24px;
    border-bottom: 3px solid #5D1446;
    border-right: 3px solid #5D1446;
    border-radius: 4px
}

.abt_us .sc_3_sh {
    font-size: 19px;
    line-height: 1.5;
    color: #2a2a2a;
    margin: 0 0 12px;
    font-weight: 600
}

.abt_us .sc_3_p {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0
}

.abt_us .sc_3_vis {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt_us .sc_3_img_wr {
    position: relative;
    width: 100%;
    height: 280px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 5px 22px -1px #00f24314
}

.abt_us .sc_3_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.abt_us .sc_3_dgrm {
    background: linear-gradient(135deg, #fff 0%, #FFF7EF 100%);
    padding: 36px;
    border-radius: 20px;
    box-shadow: 0 5px 22px -1px #5d144614;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt_us .dgrm_rw {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px
}

.abt_us .dgrm_lbl {
    flex: 0 0 140px;
    font-size: 15px;
    line-height: 1.5;
    color: #4a4a4a
}

.abt_us .dgrm_br_wr {
    flex: 1;
    height: 32px;
    background: #5d144614;
    border-radius: 6px;
    overflow: hidden;
    position: relative
}

.abt_us .dgrm_br_fl {
    height: 100%;
    background: linear-gradient(90deg, #00F243 0%, #5D1446 100%);
    border-radius: 6px;
    position: relative;
    transition: width .18s ease-out
}

.abt_us .dgrm_br_fl::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 3px;
    height: 100%;
    background: #fff6;
    animation: pls_ln 1.8s linear infinite
}

@keyframes pls_ln {

    0%,
    100% {
        transform: scaleY(1)
    }

    50% {
        transform: scaleY(0.6)
    }
}

.abt_us .dgrm_vl {
    flex: 0 0 48px;
    font-size: 15px;
    line-height: 1.5;
    color: #2a2a2a;
    font-weight: 600;
    text-align: right
}

.abt_us .dgrm_br_fl.w_78 {
    width: 78%
}

.abt_us .dgrm_br_fl.w_91 {
    width: 91%
}

.abt_us .dgrm_br_fl.w_64 {
    width: 64%
}

.abt_us .dgrm_br_fl.w_87 {
    width: 87%
}

.abt_us .sc_4 {
    padding: 72px 0;
    background: #fff;
    position: relative
}

.abt_us .sc_4_h {
    font-size: 41px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 36px;
    position: relative;
    padding-left: 24px
}

.abt_us .sc_4_h::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #00F243 0%, #5D1446 100%);
    border-radius: 4px
}

.abt_us .frm_wr {
    max-width: 720px;
    margin: 0 auto;
    background: linear-gradient(135deg, #FFF7EF 0%, #fff 100%);
    padding: 36px;
    border-radius: 20px;
    box-shadow: 0 9px 60px -1px #5d14461f
}

.abt_us .frm_rw {
    margin-bottom: 24px
}

.abt_us .frm_lbl {
    display: block;
    font-size: 15px;
    line-height: 1.5;
    color: #2a2a2a;
    margin-bottom: 8px;
    font-weight: 600
}

.abt_us .frm_inp {
    width: 100%;
    padding: 12px 24px;
    font-size: 15px;
    line-height: 1.5;
    color: #2a2a2a;
    background: #fff;
    border: 2px solid #5d14461f;
    border-radius: 6px;
    outline: none;
    transition: border-color .12s ease-out, box-shadow .12s ease-out
}

.abt_us .frm_inp:focus {
    border-color: #00F243;
    box-shadow: 0 0 0 3px #00f2431f
}

.abt_us .frm_inp::placeholder {
    color: #4a4a4a80
}

.abt_us .frm_slct {
    width: 100%;
    padding: 12px 24px;
    font-size: 15px;
    line-height: 1.5;
    color: #2a2a2a;
    background: #fff;
    border: 2px solid #5d14461f;
    border-radius: 6px;
    outline: none;
    cursor: pointer;
    transition: border-color .12s ease-out, box-shadow .12s ease-out;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%235D1446' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 24px center;
    padding-right: 48px
}

.abt_us .frm_slct:focus {
    border-color: #00F243;
    box-shadow: 0 0 0 3px #00f2431f
}

.abt_us .frm_rd_gr {
    display: flex;
    flex-direction: row;
    gap: 24px
}

.abt_us .frm_rd_wr {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.abt_us .frm_rd {
    width: 20px;
    height: 20px;
    margin: 0;
    cursor: pointer;
    appearance: none;
    border: 2px solid #5d14461f;
    border-radius: 36px;
    outline: none;
    position: relative;
    transition: border-color .12s ease-out, box-shadow .12s ease-out;
    background: #fff
}

.abt_us .frm_rd:checked {
    border-color: #00F243;
    box-shadow: 0 0 0 3px #00f2431f
}

.abt_us .frm_rd:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background: #00F243;
    border-radius: 36px
}

.abt_us .frm_rd_lbl {
    font-size: 15px;
    line-height: 1.5;
    color: #2a2a2a;
    cursor: pointer
}

.abt_us .frm_chk_wr {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 24px
}

.abt_us .frm_chk {
    width: 20px;
    height: 20px;
    margin: 0;
    cursor: pointer;
    appearance: none;
    border: 2px solid #5d14461f;
    border-radius: 4px;
    outline: none;
    position: relative;
    transition: border-color .12s ease-out, box-shadow .12s ease-out, background-color .12s ease-out;
    background: #fff;
    flex-shrink: 0;
    margin-top: 2px
}

.abt_us .frm_chk:checked {
    border-color: #00F243;
    background-color: #00F243;
    box-shadow: 0 0 0 3px #00f2431f
}

.abt_us .frm_chk:checked::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 5px;
    width: 6px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg)
}

.abt_us .frm_chk_lbl {
    font-size: 15px;
    line-height: 1.5;
    color: #4a4a4a;
    cursor: pointer
}

.abt_us .frm_chk_lbl a {
    color: #00F243;
    text-decoration: none;
    transition: color .12s ease-out
}

.abt_us .frm_chk_lbl a:hover {
    color: #5D1446
}

.abt_us .frm_btn {
    width: 100%;
    padding: 12px 36px;
    font-size: 15px;
    line-height: 1.5;
    color: #fff;
    background: linear-gradient(135deg, #00F243 0%, #5D1446 100%);
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    transition: box-shadow .15s ease-out, transform .15s ease-out;
    position: relative;
    overflow: hidden
}

.abt_us .frm_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #fff3;
    transition: width 1.8s linear
}

.abt_us .frm_btn:hover {
    box-shadow: 0 5px 22px -1px #00f24314;
    transform: translateY(-2px)
}

.abt_us .frm_btn:active::before {
    width: 100%
}

@media (max-width: 1024px) {
    .abt_us .tl_blk {
        flex-direction: column;
        padding: 24px 0
    }

    .abt_us .tl_img_wr {
        flex: 0 0 auto;
        width: 100%;
        height: 320px
    }

    .abt_us .tl_txt_wr {
        flex: 0 0 auto;
        width: 100%;
        padding: 36px 24px
    }

    .abt_us .tl_h {
        font-size: 41px
    }

    .abt_us .cnt_wr {
        padding: 0 24px
    }

    .abt_us .sc_1_in {
        grid-template-columns: 1fr;
        gap: 36px
    }

    .abt_us .sc_1_img_wr {
        position: static;
        height: 340px
    }

    .abt_us .sc_2_h {
        font-size: 31px
    }

    .abt_us .sc_3_grd {
        grid-template-columns: 1fr
    }

    .abt_us .sc_3_h {
        font-size: 31px
    }

    .abt_us .sc_4_h {
        font-size: 31px
    }
}

@media (max-width: 768px) {

    .abt_us .tl_blk::before,
    .abt_us .tl_blk::after {
        display: none
    }

    .abt_us .tl_h {
        font-size: 31px
    }

    .abt_us .tl_dsc {
        font-size: 15px
    }

    .abt_us .sc_1 {
        padding: 36px 0
    }

    .abt_us .sc_1_h {
        font-size: 31px
    }

    .abt_us .sc_2 {
        padding: 36px 0
    }

    .abt_us .sc_2_h {
        font-size: 31px
    }

    .abt_us .prg_itm {
        gap: 12px
    }

    .abt_us .prg_itm::after {
        left: 24px
    }

    .abt_us .prg_num {
        flex: 0 0 48px;
        width: 48px;
        height: 48px
    }

    .abt_us .sc_3 {
        padding: 36px 0
    }

    .abt_us .sc_3_h {
        font-size: 31px
    }

    .abt_us .sc_3_txt {
        padding: 24px
    }

    .abt_us .sc_3_img_wr {
        height: 240px
    }

    .abt_us .sc_3_dgrm {
        padding: 24px
    }

    .abt_us .dgrm_rw {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }

    .abt_us .dgrm_lbl {
        flex: 0 0 auto
    }

    .abt_us .dgrm_br_wr {
        width: 100%
    }

    .abt_us .dgrm_vl {
        flex: 0 0 auto;
        width: 100%;
        text-align: left
    }

    .abt_us .sc_4 {
        padding: 36px 0
    }

    .abt_us .sc_4_h {
        font-size: 31px
    }

    .abt_us .frm_wr {
        padding: 24px
    }

    .abt_us .frm_rd_gr {
        flex-direction: column;
        gap: 12px
    }
}

@media (max-width: 320px) {
    .abt_us .tl_txt_wr {
        padding: 24px 12px
    }

    .abt_us .cnt_wr {
        padding: 0 12px
    }

    .abt_us .tl_h {
        font-size: 31px
    }

    .abt_us .sc_1_h,
    .abt_us .sc_2_h,
    .abt_us .sc_3_h,
    .abt_us .sc_4_h {
        font-size: 31px
    }

    .abt_us .frm_wr {
        padding: 24px 12px
    }
}

.prm {
    background: #fff;
    color: #2a2a2a;
    max-width: 1140px;
    margin: 0 auto;
    position: relative
}

.prm_ttl_wr {
    padding: 72px 24px;
    background: radial-gradient(ellipse at center, #00f2431f, #5d144614);
    position: relative;
    overflow: visible
}

.prm_ttl_wr::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(0deg, #5d144608 1px, transparent 1px), linear-gradient(90deg, #5d144608 1px, transparent 1px);
    background-size: 36px 36px;
    pointer-events: none
}

.prm_ttl_cnt {
    position: relative;
    z-index: 1
}

.prm_ttl_hd {
    font-size: 70px;
    line-height: 1.2;
    margin: 0 0 24px;
    color: #5D1446
}

.prm_ttl_dsc {
    font-size: 19px;
    line-height: 1.5;
    color: #4a4a4a;
    max-width: 620px;
    margin: 0
}

.prm_aud_wr {
    padding: 72px 24px;
    background: #FFF7EF;
    position: relative
}

.prm_aud_wr::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    background: linear-gradient(180deg, transparent 0%, #00F243 50%, transparent 100%)
}

.prm_aud_hd {
    font-size: 41px;
    line-height: 1.2;
    margin: 0 0 36px;
    color: #5D1446;
    padding-left: 24px;
    position: relative
}

.prm_aud_hd::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #00F243
}

.prm_aud_grd {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    padding-left: 24px
}

.prm_aud_crd {
    background: #fff;
    padding: 24px;
    border-radius: 6px;
    box-shadow: 0 3px 5px -1px #5d14460f 0 5px 22px -1px #5d144614;
    transition: transform .15s ease-out, box-shadow .15s ease-out;
    position: relative
}

.prm_aud_crd:hover {
    transform: translateY(-4px);
    box-shadow: 0 9px 60px -1px #5d14461f
}

.prm_aud_crd_num {
    font-size: 15px;
    line-height: 1.2;
    color: #00F243;
    font-weight: 700;
    margin: 0 0 12px
}

.prm_aud_crd_txt {
    font-size: 15px;
    line-height: 1.7;
    color: #2a2a2a;
    margin: 0
}

.prm_mth_wr {
    padding: 72px 24px;
    background: #fff;
    position: relative
}

.prm_mth_cnt {
    display: flex;
    flex-direction: column;
    gap: 36px
}

.prm_mth_hd {
    font-size: 41px;
    line-height: 1.2;
    margin: 0;
    color: #5D1446
}

.prm_mth_flx {
    display: flex;
    flex-direction: row;
    gap: 36px;
    align-items: flex-start
}

.prm_mth_img_wr {
    flex: 0 0 420px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 5px 22px -1px #00f24314;
    position: relative
}

.prm_mth_img_wr::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #00f24326, transparent 60%);
    pointer-events: none;
    z-index: 1
}

.prm_mth_img {
    width: 420px;
    height: 280px;
    object-fit: cover;
    display: block
}

.prm_mth_txt_wr {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.prm_mth_prg {
    font-size: 15px;
    line-height: 1.7;
    color: #2a2a2a;
    margin: 0;
    position: relative;
    padding-left: 32px
}

.prm_mth_prg::before {
    content: attr(data-num);
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    color: #00F243
}

.prm_mth_crv {
    position: absolute;
    bottom: -36px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 36px;
    pointer-events: none
}

.prm_mth_crv svg {
    width: 100%;
    height: 100%;
    stroke: #00F243;
    fill: none;
    stroke-width: 2;
    opacity: .4
}

.prm_rpt_wr {
    padding: 72px 24px;
    background: linear-gradient(180deg, #FFF7EF 0%, #fff 100%);
    position: relative
}

.prm_rpt_hd {
    font-size: 41px;
    line-height: 1.2;
    margin: 0 0 36px;
    color: #5D1446;
    text-align: center
}

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

.prm_rpt_itm {
    background: #fff;
    padding: 36px 24px;
    border-radius: 20px;
    box-shadow: 0 3px 5px -1px #00f2430f 0 5px 22px -1px #00f24314;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: transform .12s ease-out
}

.prm_rpt_itm:hover {
    transform: scale(1.04)
}

.prm_rpt_itm.feat {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    padding: 72px 24px;
    background: radial-gradient(ellipse at center, #00f24314, #fff);
    box-shadow: 0 9px 60px -1px #00f2431f
}

.prm_rpt_itm_num {
    font-size: 56px;
    line-height: 1.2;
    color: #00F243;
    font-weight: 700;
    margin: 0 0 12px
}

.prm_rpt_itm_lbl {
    font-size: 15px;
    line-height: 1.5;
    color: #5D1446;
    margin: 0;
    font-weight: 700
}

.prm_rpt_itm_dsc {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 12px 0 0
}

.prm_otc_wr {
    padding: 72px 24px;
    background: #fff;
    position: relative
}

.prm_otc_hd {
    font-size: 41px;
    line-height: 1.2;
    margin: 0 0 36px;
    color: #5D1446;
    padding-left: 24px;
    position: relative
}

.prm_otc_hd::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #5D1446
}

.prm_otc_flx {
    display: flex;
    flex-direction: row;
    gap: 36px;
    align-items: center
}

.prm_otc_txt_wr {
    flex: 1;
    padding-left: 24px
}

.prm_otc_prg {
    font-size: 15px;
    line-height: 1.7;
    color: #2a2a2a;
    margin: 0 0 24px;
    position: relative;
    padding-left: 32px
}

.prm_otc_prg::before {
    content: attr(data-num);
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    color: #5D1446
}

.prm_otc_prg:last-child {
    margin-bottom: 0
}

.prm_otc_img_wr {
    flex: 0 0 460px;
    border-radius: 36px;
    overflow: hidden;
    box-shadow: 0 5px 22px -1px #5d144614;
    position: relative;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transition: clip-path .18s ease
}

.prm_otc_img_wr:hover {
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%)
}

.prm_otc_img {
    width: 460px;
    height: 340px;
    object-fit: cover;
    display: block
}

.prm_cnd_wr {
    padding: 72px 24px;
    background: #FFF7EF;
    position: relative
}

.prm_cnd_wr::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h60v60H0z' fill='%23ffffff' fill-opacity='0.4'/%3E%3Cpath d='M30 0v60M0 30h60' stroke='%235D1446' stroke-opacity='0.04' stroke-width='1'/%3E%3C/svg%3E");
    background-size: 60px 60px;
    pointer-events: none
}

.prm_cnd_cnt {
    position: relative;
    z-index: 1
}

.prm_cnd_hd {
    font-size: 41px;
    line-height: 1.2;
    margin: 0 0 36px;
    color: #5D1446
}

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

.prm_cnd_lst_itm {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
    background: #fff;
    padding: 24px;
    border-radius: 6px;
    box-shadow: 0 3px 5px -1px #5d14460f;
    position: relative;
    padding-left: 72px
}

.prm_cnd_lst_itm::before {
    content: '';
    position: absolute;
    left: 24px;
    top: 24px;
    width: 24px;
    height: 24px;
    border-radius: 4px;
    background: #00F243
}

.prm_cnd_lst_itm::after {
    content: '';
    position: absolute;
    left: 30px;
    top: 30px;
    width: 12px;
    height: 6px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg)
}

.prm_cnd_lst_txt {
    font-size: 15px;
    line-height: 1.7;
    color: #2a2a2a;
    margin: 0
}

.prm_inv_wr {
    padding: 72px 24px;
    background: #fff;
    position: relative
}

.prm_inv_flx {
    display: flex;
    flex-direction: row;
    gap: 36px;
    align-items: flex-start
}

.prm_inv_img_wr {
    flex: 0 0 380px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 5px 22px -1px #00f24314
}

.prm_inv_img {
    width: 380px;
    height: 280px;
    object-fit: cover;
    display: block
}

.prm_inv_cnt {
    flex: 1
}

.prm_inv_hd {
    font-size: 41px;
    line-height: 1.2;
    margin: 0 0 24px;
    color: #5D1446
}

.prm_inv_prg {
    font-size: 15px;
    line-height: 1.7;
    color: #2a2a2a;
    margin: 0 0 24px
}

.prm_inv_prg:last-of-type {
    margin-bottom: 36px
}

.prm_inv_btn {
    display: inline-block;
    padding: 12px 36px;
    background: #00F243;
    color: #2a2a2a;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 700;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background .15s ease-out, transform .12s ease;
    box-shadow: 0 3px 5px -1px #00f2430f 0 5px 22px -1px #00f24314;
    position: relative;
    overflow: hidden
}

.prm_inv_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #5D1446;
    transition: width .18s ease;
    z-index: 0
}

.prm_inv_btn:hover::before {
    width: 100%
}

.prm_inv_btn:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 9px 60px -1px #00f2431f
}

.prm_inv_btn:active {
    transform: translateY(0)
}

.prm_inv_btn span {
    position: relative;
    z-index: 1
}

.prm_grd_ln {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(0deg, #00f24314 1px, transparent 1px), linear-gradient(90deg, #00f24314 1px, transparent 1px);
    background-size: 72px 72px;
    pointer-events: none;
    animation: grd_pls 8s linear infinite;
    opacity: .3
}

@keyframes grd_pls {

    0%,
    100% {
        opacity: .3
    }

    50% {
        opacity: .6
    }
}

@media (max-width: 1024px) {
    .prm_ttl_hd {
        font-size: 56px
    }

    .prm_aud_hd,
    .prm_mth_hd,
    .prm_rpt_hd,
    .prm_otc_hd,
    .prm_cnd_hd,
    .prm_inv_hd {
        font-size: 31px
    }

    .prm_mth_flx {
        flex-direction: column
    }

    .prm_mth_img_wr {
        flex: 1;
        width: 100%
    }

    .prm_mth_img {
        width: 100%;
        height: auto
    }

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

    .prm_rpt_itm.feat {
        grid-column: 1;
        grid-row: auto
    }

    .prm_otc_flx {
        flex-direction: column-reverse
    }

    .prm_otc_img_wr {
        flex: 1;
        width: 100%
    }

    .prm_otc_img {
        width: 100%;
        height: auto
    }

    .prm_inv_flx {
        flex-direction: column
    }

    .prm_inv_img_wr {
        flex: 1;
        width: 100%
    }

    .prm_inv_img {
        width: 100%;
        height: auto
    }
}

@media (max-width: 768px) {

    .prm_ttl_wr,
    .prm_aud_wr,
    .prm_mth_wr,
    .prm_rpt_wr,
    .prm_otc_wr,
    .prm_cnd_wr,
    .prm_inv_wr {
        padding: 36px 12px
    }

    .prm_ttl_hd {
        font-size: 41px
    }

    .prm_ttl_dsc {
        font-size: 15px
    }

    .prm_aud_hd,
    .prm_mth_hd,
    .prm_rpt_hd,
    .prm_otc_hd,
    .prm_cnd_hd,
    .prm_inv_hd {
        font-size: 31px;
        margin-bottom: 24px
    }

    .prm_aud_grd {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-left: 12px
    }

    .prm_mth_flx,
    .prm_otc_flx,
    .prm_inv_flx {
        gap: 24px
    }

    .prm_mth_txt_wr {
        gap: 12px
    }

    .prm_otc_txt_wr {
        padding-left: 12px
    }

    .prm_rpt_grd {
        gap: 12px
    }
}

@media (max-width: 320px) {
    .prm_ttl_hd {
        font-size: 31px
    }

    .prm_aud_hd,
    .prm_mth_hd,
    .prm_rpt_hd,
    .prm_otc_hd,
    .prm_cnd_hd,
    .prm_inv_hd {
        font-size: 19px
    }

    .prm_rpt_itm_num {
        font-size: 41px
    }
}

.success_pg {
    background: linear-gradient(to bottom, #FFF7EF 0%, #fff 100%);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px
}

.success_pg .wrap {
    max-width: 640px;
    width: 100%;
    background: #fff;
    border-radius: 20px;
    padding: 72px 36px;
    text-align: center;
    box-shadow: 0 5px 22px -1px #00f24314 0 9px 60px -1px #00f2431f;
    position: relative
}

.success_pg .icon_wrap {
    width: 120px;
    height: 120px;
    margin: 0 auto 36px;
    background: linear-gradient(135deg, #00F243 0%, #5D1446 100%);
    border-radius: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    animation: pulse_ring 1.8s linear infinite
}

@keyframes pulse_ring {
    0% {
        box-shadow: 0 0 0 0 #00f24366
    }

    50% {
        box-shadow: 0 0 0 20px #00f24300
    }

    100% {
        box-shadow: 0 0 0 0 #00f24300
    }
}

.success_pg .check_icon {
    width: 56px;
    height: 56px;
    border: 5px solid #fff;
    border-radius: 50%;
    position: relative
}

.success_pg .check_icon::after {
    content: '';
    position: absolute;
    left: 16px;
    top: 8px;
    width: 12px;
    height: 22px;
    border: solid #fff;
    border-width: 0 4px 4px 0;
    transform: rotate(45deg)
}

.success_pg .title {
    font-size: 56px;
    line-height: 1.2;
    color: #5D1446;
    margin: 0 0 24px;
    font-weight: 700
}

.success_pg .msg {
    font-size: 19px;
    line-height: 1.7;
    color: #333;
    margin: 0 0 36px
}

.success_pg .detail_box {
    background: #FFF7EF;
    border-radius: 6px;
    padding: 24px;
    margin: 0 0 36px;
    text-align: left
}

.success_pg .detail_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #5d14461a
}

.success_pg .detail_row:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.success_pg .detail_row:first-child {
    padding-top: 0
}

.success_pg .detail_label {
    font-size: 15px;
    line-height: 1.5;
    color: #666
}

.success_pg .detail_val {
    font-size: 15px;
    line-height: 1.5;
    color: #5D1446;
    font-weight: 600
}

.success_pg .btn_grp {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap
}

.success_pg .btn_prim {
    background: linear-gradient(135deg, #00F243 0%, #5D1446 100%);
    color: #fff;
    font-size: 15px;
    line-height: 1.5;
    padding: 12px 36px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: transform .15s ease-out, box-shadow .15s ease-out;
    box-shadow: 0 3px 5px -1px #00f2430f;
    font-weight: 600;
    position: relative;
    overflow: hidden
}

.success_pg .btn_prim::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #fff3;
    transition: left .18s ease-out
}

.success_pg .btn_prim:hover::before {
    left: 100%
}

.success_pg .btn_prim:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 22px -1px #00f2432e
}

.success_pg .btn_prim:active {
    transform: translateY(0)
}

.success_pg .btn_sec {
    background: transparent;
    color: #5D1446;
    font-size: 15px;
    line-height: 1.5;
    padding: 12px 36px;
    border: 2px solid #5D1446;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: background .12s ease, color .12s ease;
    font-weight: 600
}

.success_pg .btn_sec:hover {
    background: #5D1446;
    color: #fff
}

.success_pg .note {
    font-size: 15px;
    line-height: 1.7;
    color: #666;
    margin: 36px 0 0
}

.success_pg .note_link {
    color: #00F243;
    text-decoration: none;
    transition: color .1s ease-out
}

.success_pg .note_link:hover {
    color: #5D1446;
    text-decoration: underline
}

@media (max-width: 768px) {
    .success_pg .wrap {
        padding: 36px 24px
    }

    .success_pg .title {
        font-size: 41px
    }

    .success_pg .icon_wrap {
        width: 100px;
        height: 100px;
        margin-bottom: 24px
    }

    .success_pg .check_icon {
        width: 48px;
        height: 48px
    }

    .success_pg .check_icon::after {
        left: 14px;
        top: 6px;
        width: 10px;
        height: 18px;
        border-width: 0 3px 3px 0
    }

    .success_pg .btn_grp {
        flex-direction: column
    }

    .success_pg .btn_prim,
    .success_pg .btn_sec {
        width: 100%
    }
}

@media (max-width: 320px) {
    .success_pg .title {
        font-size: 31px
    }

    .success_pg .detail_row {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px
    }
}