html {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth
}

body {
    margin: 0;
    font-family: 'Raleway', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    color: #1a1a1a;
    background: #fff
}

.hd-plate {
    background: linear-gradient(135deg, #f7fbff 0%, #fff 100%);
    border-bottom: 1px solid #0177d71f;
    position: relative;
    overflow: hidden
}

.hd-plate::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, #0177d70a 0%, transparent 70%);
    pointer-events: none
}

.hd-plate::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, #a23e0708 0%, transparent 65%);
    pointer-events: none
}

.hd-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    position: relative;
    z-index: 1
}

.logo-box {
    flex-shrink: 0;
    width: 92px;
    height: 92px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a 0 12px 40px -1px #0177d71f 0 0 0 1px #0177d714;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    transition: box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.logo-box:hover {
    box-shadow: 0 2px 2px -1px #0177d71a 0 4px 28px -1px #0177d724 0 12px 40px -1px #0177d729 0 0 0 1px #0177d71f
}

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

.nav-deck {
    flex: 1;
    display: flex;
    justify-content: flex-end
}

.nav-tabs {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
    background: #fcf3b526;
    padding: 6px;
    border-radius: 20px;
    border: 1px solid #a23e0714
}

.nav-tabs a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 500;
    color: #2a2a2a;
    text-decoration: none;
    border-radius: 6px;
    background: transparent;
    transition: background .24s cubic-bezier(0.34, 1.56, 0.64, 1), color .22s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform .26s cubic-bezier(0.34, 1.56, 0.64, 1);
    letter-spacing: .3px;
    position: relative
}

.nav-tabs a::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 6px;
    background: linear-gradient(135deg, #0177d714, #a23e0714);
    opacity: 0;
    transition: opacity .27s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.nav-tabs a:hover {
    background: #fff;
    color: #0177D7;
    transform: translateY(-1px)
}

.nav-tabs a:hover::before {
    opacity: 1
}

.nav-tabs a:focus {
    outline: 2px solid #0177D7;
    outline-offset: 3px
}

.nav-tabs a.active {
    background: #fff;
    color: #0177D7;
    box-shadow: 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a
}

.nav-tabs a i {
    font-size: 18px
}

@media (max-width: 768px) {
    .hd-inner {
        flex-direction: column;
        gap: 24px;
        padding: 24px 12px
    }

    .nav-deck {
        width: 100%;
        justify-content: center
    }

    .nav-tabs {
        width: 100%;
        justify-content: center
    }

    .nav-tabs a {
        padding: 12px 18px;
        font-size: 15px
    }
}

@media (max-width: 390px) {
    .logo-box {
        width: 80px;
        height: 80px
    }

    .nav-tabs {
        flex-direction: column;
        width: 100%
    }

    .nav-tabs a {
        width: 100%;
        justify-content: center
    }
}

.ft-plate {
    background: linear-gradient(180deg, #fff 0%, #f9fcff 100%);
    border-top: 2px solid #0177d726;
    margin-top: 80px;
    position: relative;
    overflow: hidden
}

.ft-plate::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #0177d74d 20%, #a23e074d 50%, #fcf3b54d 80%, transparent 100%)
}

.ft-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px 40px
}

.ft-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    text-align: center
}

.ft-logo-box {
    width: 88px;
    height: 88px;
    background: #fff;
    border-radius: 20px;
    border: 2px solid #0177d726;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    box-shadow: inset 0 2px 4px #0177d70a inset 0 -2px 4px #a23e0708 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a
}

.ft-logo-box img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.ft-desc {
    font-size: 15px;
    line-height: 1.5;
    color: #4a4a4a;
    max-width: 520px;
    font-weight: 400
}

.ft-links {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
    align-items: center
}

.ft-links a {
    font-size: 15px;
    color: #2a2a2a;
    text-decoration: none;
    padding: 6px 12px;
    border: 1px solid transparent;
    border-radius: 6px;
    transition: color .23s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .25s cubic-bezier(0.68, -0.55, 0.27, 1.55), background .24s cubic-bezier(0.34, 1.56, 0.64, 1);
    letter-spacing: .2px;
    font-weight: 400
}

.ft-links a:hover {
    color: #0177D7;
    border-color: #0177d740;
    background: #0177d708
}

.ft-links a:focus {
    outline: 2px solid #A23E07;
    outline-offset: 3px
}

.ft-contact {
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-size: 15px;
    color: #4a4a4a;
    line-height: 1.5
}

.ft-contact a {
    color: #0177D7;
    text-decoration: none;
    font-weight: 500;
    transition: color .21s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ft-contact a:hover {
    color: #A23E07;
    text-decoration: underline
}

.ft-contact a:focus {
    outline: 2px solid #0177D7;
    outline-offset: 2px;
    border-radius: 6px
}

.ft-copy {
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid #0177d71f;
    font-size: 15px;
    color: #6a6a6a;
    text-align: center;
    font-weight: 300
}

@media (max-width: 768px) {
    .ft-inner {
        padding: 60px 12px 40px
    }

    .ft-links {
        flex-direction: column;
        gap: 12px
    }

    .ft-links a {
        width: 100%;
        text-align: center
    }
}

input:focus,
button:focus,
textarea:focus,
select:focus {
    outline: 2px solid #0177D7;
    outline-offset: 2px
}

a:focus {
    outline: 2px solid #0177D7;
    outline-offset: 2px
}

input::placeholder,
textarea::placeholder {
    color: #0177d759
}

::selection {
    background: #0177d71a;
    color: inherit
}

@media (max-width: 1280px) {

    .hd-inner,
    .ft-inner {
        padding-left: 24px;
        padding-right: 24px
    }
}

.doc-info {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px
}

@media (max-width: 768px) {
    .doc-info {
        padding: 40px 12px
    }
}

.doc-info h1 {
    font-size: clamp(42px, 5vw, 58px);
    line-height: 1.1;
    margin-bottom: 40px;
    color: #0177D7
}

.doc-info h2 {
    font-size: clamp(30px, 3.5vw, 42px);
    line-height: 1.1;
    margin-top: 80px;
    margin-bottom: 24px;
    color: #222
}

.doc-info h3 {
    font-size: clamp(22px, 2.5vw, 30px);
    line-height: 1.5;
    margin-top: 40px;
    margin-bottom: 24px;
    color: #333
}

.doc-info h4 {
    font-size: 22px;
    line-height: 1.5;
    margin-top: 40px;
    margin-bottom: 12px;
    color: #444
}

.doc-info h5 {
    font-size: 18px;
    line-height: 1.5;
    margin-top: 24px;
    margin-bottom: 12px;
    color: #555;
    letter-spacing: .02em
}

.doc-info h6 {
    font-size: 15px;
    line-height: 1.5;
    margin-top: 24px;
    margin-bottom: 12px;
    color: #666;
    letter-spacing: .03em;
    text-transform: uppercase
}

.doc-info p {
    font-size: 18px;
    line-height: 1.9;
    margin-bottom: 24px;
    color: #333
}

.doc-info ul,
.doc-info ol {
    font-size: 18px;
    line-height: 1.9;
    margin-bottom: 24px;
    padding-left: 40px;
    color: #333
}

@media (max-width: 768px) {

    .doc-info ul,
    .doc-info ol {
        padding-left: 24px
    }
}

.doc-info li {
    margin-bottom: 12px
}

.doc-info li:last-child {
    margin-bottom: 0
}

.doc-info ul ul,
.doc-info ul ol,
.doc-info ol ul,
.doc-info ol ol {
    margin-top: 12px;
    margin-bottom: 12px
}

.doc-info em,
.doc-info i {
    font-style: italic;
    color: #444
}

.doc-info a {
    color: #0177D7;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    transition: color .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.doc-info a:hover {
    color: #A23E07;
    text-decoration-thickness: 2px
}

.doc-info a:focus-visible {
    outline: 2px solid #0177D7;
    outline-offset: 3px;
    border-radius: 6px
}

.doc-info div {
    margin-bottom: 24px
}

.doc-info h1:first-child {
    margin-top: 0
}

.doc-info h2:first-child,
.doc-info h3:first-child,
.doc-info h4:first-child,
.doc-info h5:first-child,
.doc-info h6:first-child {
    margin-top: 0
}

.doc-info p:last-child,
.doc-info ul:last-child,
.doc-info ol:last-child,
.doc-info div:last-child {
    margin-bottom: 0
}

@media (max-width: 768px) {
    .doc-info h2 {
        margin-top: 40px
    }

    .doc-info h3,
    .doc-info h4 {
        margin-top: 24px
    }
}

.post-dtl {
    background: #fff;
    color: #1a1a1a
}

.post-dtl .hdr-bnr {
    background: linear-gradient(270deg, #0177D7 0%, #2a2a2a 100%);
    padding: 80px 24px;
    position: relative;
    overflow: hidden
}

.post-dtl .hdr-bnr::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 20px, #ffffff08 20px, #ffffff08 40px);
    pointer-events: none
}

.post-dtl .hdr-ctr {
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.post-dtl .cat-lbl {
    display: inline-block;
    background: #fcf3b540;
    color: #FCF3B5;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 15px;
    letter-spacing: .05em;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 24px
}

.post-dtl .main-ttl {
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1.1;
    color: #fff;
    margin: 0 0 24px;
    font-weight: 700
}

.post-dtl .sub-txt {
    font-size: clamp(18px, 2.5vw, 22px);
    line-height: 1.5;
    color: #ffffffd9;
    margin: 0 0 40px;
    max-width: 820px
}

.post-dtl .meta-rw {
    display: flex;
    flex-direction: row;
    gap: 24px;
    flex-wrap: wrap;
    align-items: center
}

.post-dtl .meta-itm {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    color: #ffffffbf
}

.post-dtl .meta-icn {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fcf3b533;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.post-dtl .meta-icn svg {
    width: 12px;
    height: 12px;
    fill: #FCF3B5
}

.post-dtl .cntnt-wrp {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 80px
}

.post-dtl .img-blk {
    width: 100%;
    height: 480px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a 0 12px 40px -1px #0177d71f;
    position: relative;
    animation: img-rvl .28s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

@keyframes img-rvl {
    from {
        opacity: 0;
        transform: translateY(24px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.post-dtl .img-blk img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.post-dtl .artcl-bdy {
    font-size: 18px;
    line-height: 1.9;
    color: #2a2a2a
}

.post-dtl .artcl-bdy ::selection {
    background: #0177d71a;
    color: #1a1a1a
}

.post-dtl .artcl-bdy h2 {
    font-size: clamp(30px, 3.5vw, 42px);
    line-height: 1.1;
    color: #0177D7;
    margin: 80px 0 24px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em
}

.post-dtl .artcl-bdy h2:first-child {
    margin-top: 0
}

.post-dtl .artcl-bdy p {
    margin: 0 0 24px
}

.post-dtl .artcl-bdy p:first-letter {
    font-size: 30px;
    color: #A23E07;
    font-weight: 700;
    float: left;
    line-height: 1;
    margin-right: 6px
}

.post-dtl .artcl-bdy strong {
    color: #0177D7;
    font-weight: 700
}

.post-dtl .artcl-bdy ol {
    margin: 24px 0;
    padding-left: 24px;
    list-style: none;
    counter-reset: lst-cntr
}

.post-dtl .artcl-bdy ol li {
    counter-increment: lst-cntr;
    margin-bottom: 24px;
    position: relative;
    padding-left: 40px
}

.post-dtl .artcl-bdy ol li::before {
    content: counter(lst-cntr);
    position: absolute;
    left: 0;
    top: 0;
    width: 30px;
    height: 30px;
    background: linear-gradient(135deg, #0177D7 0%, #A23E07 100%);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 15px;
    box-shadow: 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a
}

.post-dtl .artcl-bdy a {
    color: #0177D7;
    text-decoration: none !important;
    position: relative;
    transition: color .22s cubic-bezier(0.34, 1.56, 0.64, 1);
    border-bottom: 2px solid #0177d74d
}

.post-dtl .artcl-bdy a:hover {
    color: #A23E07;
    border-bottom-color: #A23E07
}

.post-dtl .artcl-bdy a::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 6px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230177D7'%3E%3Cpath d='M8 0L6.59 1.41 12.17 7H0v2h12.17l-5.58 5.59L8 16l8-8z'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity .25s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform .25s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    vertical-align: middle
}

.post-dtl .artcl-bdy a:hover::after {
    opacity: 1;
    transform: translateX(0)
}

.post-dtl .info-grd {
    background: radial-gradient(ellipse at center, #fff 0%, #f5f5f5 100%);
    padding: 80px 24px;
    position: relative
}

.post-dtl .info-grd::before {
    content: '';
    position: absolute;
    top: -80px;
    left: 0;
    right: 0;
    height: 160px;
    background: linear-gradient(180deg, #fff0 0%, #0177d70d 50%, #fff0 100%);
    filter: blur(40px);
    pointer-events: none
}

.post-dtl .info-ctr {
    max-width: 1140px;
    margin: 0 auto
}

.post-dtl .sct-hdr {
    text-align: center;
    margin-bottom: 80px
}

.post-dtl .sct-ttl {
    font-size: clamp(30px, 4vw, 58px);
    line-height: 1.1;
    color: #0177D7;
    margin: 0 0 24px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    position: relative;
    display: inline-block
}

.post-dtl .sct-ttl::before,
.post-dtl .sct-ttl::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, #0177D7 0%, #A23E07 100%)
}

.post-dtl .sct-ttl::before {
    right: calc(100% + 24px)
}

.post-dtl .sct-ttl::after {
    left: calc(100% + 24px)
}

.post-dtl .crd-grd {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px
}

.post-dtl .inf-crd {
    background: #fff;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a 0 12px 40px -1px #0177d71f;
    position: relative;
    overflow: hidden;
    transition: transform .3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .3s cubic-bezier(0.34, 1.56, 0.64, 1);
    cursor: pointer
}

.post-dtl .inf-crd::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, #0177D7 0%, #A23E07 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .32s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.post-dtl .inf-crd:hover {
    transform: translateY(-12px) rotate(0.5deg);
    box-shadow: 0 4px 28px -1px #0177d726 0 12px 40px -1px #0177d733
}

.post-dtl .inf-crd:hover::before {
    transform: scaleX(1)
}

.post-dtl .inf-crd:active {
    animation: crd-plse .24s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

@keyframes crd-plse {

    0%,
    100% {
        box-shadow: 0 4px 28px -1px #0177d726 0 12px 40px -1px #0177d733
    }

    50% {
        box-shadow: 0 4px 28px -1px #0177d726 0 12px 40px -1px #0177d733 0 0 0 12px #0177d71a
    }
}

.post-dtl .crd-icn {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #0177D7 0%, #A23E07 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    transition: transform .28s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.post-dtl .inf-crd:hover .crd-icn {
    transform: rotate(15deg) scale(1.1)
}

.post-dtl .crd-icn svg {
    width: 30px;
    height: 30px;
    fill: #fff
}

.post-dtl .crd-lbl {
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #A23E07;
    font-weight: 700;
    margin: 0 0 12px
}

.post-dtl .crd-val {
    font-size: 30px;
    line-height: 1.1;
    color: #0177D7;
    font-weight: 700;
    margin: 0
}

.post-dtl .curv-ln {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    height: 2px;
    pointer-events: none;
    z-index: -1
}

.post-dtl .curv-ln svg {
    width: 100%;
    height: 100%
}

@media (max-width: 1280px) {
    .post-dtl .hdr-bnr {
        padding: 60px 24px
    }

    .post-dtl .cntnt-wrp {
        padding: 60px 24px;
        gap: 60px
    }

    .post-dtl .img-blk {
        height: 380px
    }

    .post-dtl .info-grd {
        padding: 60px 24px
    }

    .post-dtl .sct-hdr {
        margin-bottom: 60px
    }

    .post-dtl .crd-grd {
        gap: 24px
    }
}

@media (max-width: 768px) {
    .post-dtl .hdr-bnr {
        padding: 40px 24px
    }

    .post-dtl .meta-rw {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }

    .post-dtl .cntnt-wrp {
        padding: 40px 24px;
        gap: 40px
    }

    .post-dtl .img-blk {
        height: 280px;
        border-radius: 6px
    }

    .post-dtl .artcl-bdy h2 {
        margin: 40px 0 24px
    }

    .post-dtl .info-grd {
        padding: 40px 24px
    }

    .post-dtl .info-grd::before {
        top: -40px;
        height: 80px
    }

    .post-dtl .sct-hdr {
        margin-bottom: 40px
    }

    .post-dtl .sct-ttl::before,
    .post-dtl .sct-ttl::after {
        display: none
    }

    .post-dtl .crd-grd {
        grid-template-columns: 1fr
    }

    .post-dtl .inf-crd {
        padding: 24px
    }
}

@media (max-width: 390px) {
    .post-dtl .hdr-bnr {
        padding: 24px 12px
    }

    .post-dtl .cntnt-wrp {
        padding: 24px 12px
    }

    .post-dtl .img-blk {
        height: 220px
    }

    .post-dtl .info-grd {
        padding: 24px 12px
    }

    .post-dtl .inf-crd {
        padding: 24px
    }
}

.prtnrs {
    background: linear-gradient(270deg, #0177D7 0%, #1a1a2e 100%);
    background-size: 200% 200%;
    animation: prtnrs-bg-shift 18s ease-in-out infinite;
    min-height: 100vh;
    position: relative;
    overflow: hidden
}

@keyframes prtnrs-bg-shift {
    0% {
        background-position: 0 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0 50%
    }
}

.prtnrs::before {
    content: '';
    position: absolute;
    top: 12%;
    left: 8%;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: #fcf3b50a;
    pointer-events: none;
    z-index: 1
}

.prtnrs::after {
    content: '';
    position: absolute;
    bottom: 18%;
    right: 15%;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: #0177d70f;
    pointer-events: none;
    z-index: 1
}

.prtnrs .geo-circle-1 {
    position: absolute;
    top: 45%;
    right: 5%;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    border: 1px solid #ffffff14;
    pointer-events: none;
    z-index: 1
}

.prtnrs .geo-circle-2 {
    position: absolute;
    bottom: 25%;
    left: 12%;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    border: 1px solid #fcf3b50d;
    pointer-events: none;
    z-index: 1
}

.prtnrs .title-hero {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px
}

.prtnrs .title-hero .abstract-shape-1 {
    position: absolute;
    top: 40px;
    right: 80px;
    width: 120px;
    height: 120px;
    background: linear-gradient(135deg, #fcf3b526, #0177d71f);
    border-radius: 20px;
    transform: rotate(25deg);
    pointer-events: none
}

.prtnrs .title-hero .abstract-shape-2 {
    position: absolute;
    bottom: 60px;
    left: 120px;
    width: 90px;
    height: 90px;
    background: linear-gradient(225deg, #a23e072e, #fcf3b51a);
    border-radius: 50%;
    pointer-events: none
}

.prtnrs .title-hero .txt-zone {
    padding: 40px 40px 40px 60px;
    max-width: 720px
}

.prtnrs .title-hero h1 {
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1.1;
    color: #fff;
    margin: 0 0 24px;
    letter-spacing: -.02em
}

.prtnrs .title-hero h1::first-letter {
    color: #FCF3B5;
    font-size: 1.3em
}

.prtnrs .title-hero .key-pts {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.prtnrs .title-hero .key-pts li {
    font-size: 18px;
    line-height: 1.5;
    color: #ffffffe0;
    padding-left: 32px;
    position: relative
}

.prtnrs .title-hero .key-pts li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 18px;
    height: 2px;
    background: #FCF3B5
}

.prtnrs .divider-wrap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2
}

.prtnrs .divider-line {
    height: 1px;
    background: #ffffff1f;
    position: relative
}

.prtnrs .divider-line::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    background: #0177D7;
    border-radius: 50%;
    border: 2px solid #fff3
}

.prtnrs .collab-sec {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    position: relative;
    z-index: 2
}

.prtnrs .collab-sec .sec-intro {
    text-align: center;
    margin-bottom: 80px
}

.prtnrs .collab-sec .sec-intro h2 {
    font-size: clamp(30px, 4vw, 58px);
    line-height: 1.1;
    color: #fff;
    margin: 0 0 24px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700
}

.prtnrs .collab-sec .sec-intro p {
    font-size: 18px;
    line-height: 1.5;
    color: #ffffffd1;
    max-width: 680px;
    margin: 0 auto
}

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

.prtnrs .collab-grid::before {
    content: '';
    position: absolute;
    top: -40px;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, #FCF3B5 50%, transparent 100%)
}

.prtnrs .partner-card {
    background: #ffffff0f;
    backdrop-filter: blur(12px);
    border-radius: 20px;
    padding: 40px 24px;
    position: relative;
    overflow: hidden;
    transition: transform .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a 0 12px 40px -1px #0177d71f
}

.prtnrs .partner-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #A23E07 0%, transparent 100%);
    clip-path: polygon(100% 0, 100% 100%, 0 0);
    opacity: .4;
    transition: opacity .25s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.prtnrs .partner-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 2px 2px -1px #0177d71f 0 4px 28px -1px #0177d72e 0 12px 40px -1px #0177d738
}

.prtnrs .partner-card:hover::before {
    opacity: .7
}

.prtnrs .partner-card .img-wrap {
    width: 100%;
    height: 180px;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 24px;
    position: relative
}

.prtnrs .partner-card .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: blur(4px);
    transition: filter .32s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.prtnrs .partner-card:hover .img-wrap img {
    filter: blur(0px)
}

.prtnrs .partner-card h3 {
    font-size: 22px;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em
}

.prtnrs .partner-card .desc {
    font-size: 15px;
    line-height: 1.5;
    color: #ffffffc7;
    margin: 0 0 24px
}

.prtnrs .partner-card .metric-row {
    display: flex;
    gap: 24px;
    margin-bottom: 24px
}

.prtnrs .partner-card .metric {
    flex: 1
}

.prtnrs .partner-card .metric .num {
    font-size: 30px;
    line-height: 1.1;
    color: #FCF3B5;
    font-weight: 700;
    margin: 0 0 6px;
    animation: prtnrs-pulse 3s ease-in-out infinite
}

@keyframes prtnrs-pulse {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .7
    }
}

.prtnrs .partner-card .metric .lbl {
    font-size: 15px;
    line-height: 1.1;
    color: #ffffffad;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 700
}

.prtnrs .partner-card .contact-lnk {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    line-height: 1.1;
    color: #fff;
    text-decoration: none;
    padding: 12px 24px;
    background: #0177d733;
    border-radius: 6px;
    transition: background .24s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform .24s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    border: 1px solid #0177d74d
}

.prtnrs .partner-card .contact-lnk:hover {
    background: #0177d759;
    transform: translateX(4px)
}

.prtnrs .partner-card .contact-lnk svg {
    width: 14px;
    height: 14px;
    fill: currentColor
}

.prtnrs .story-sec {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px 120px;
    position: relative;
    z-index: 2
}

.prtnrs .story-sec::before {
    content: '';
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 100%;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><rect width="100" height="100" fill="#ffffff03"/><path d="M0 0 L100 100 M100 0 L0 100" stroke="#ffffff08" stroke-width="0.5"/></svg>') repeat;
    opacity: .3;
    pointer-events: none;
    border-radius: 20px
}

.prtnrs .story-wrap {
    max-width: 840px;
    margin: 0 auto;
    background: #ffffff14;
    backdrop-filter: blur(16px);
    border-radius: 20px;
    padding: 60px 40px;
    position: relative;
    box-shadow: inset 0 2px 4px #ffffff1a inset 0 -2px 4px #0003 0 2px 2px -1px #a23e0712 0 4px 28px -1px #a23e071a 0 12px 40px -1px #a23e071f
}

.prtnrs .story-wrap h2 {
    font-size: clamp(30px, 4vw, 42px);
    line-height: 1.1;
    color: #fff;
    margin: 0 0 40px;
    text-align: center
}

.prtnrs .story-wrap h2::first-letter {
    color: #A23E07;
    font-size: 1.4em
}

.prtnrs .story-txt {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.prtnrs .story-txt p {
    font-size: 18px;
    line-height: 1.9;
    color: #ffffffd9;
    margin: 0
}

.prtnrs .story-txt p:first-of-type::first-letter {
    font-size: 2.2em;
    color: #FCF3B5;
    float: left;
    line-height: .9;
    margin-right: 8px;
    margin-top: 6px
}

.prtnrs .story-highlight {
    background: linear-gradient(90deg, #0177d726, #a23e0726);
    border-left: 3px solid #0177D7;
    padding: 24px;
    border-radius: 6px;
    margin: 24px 0
}

.prtnrs .story-highlight p {
    font-size: 18px;
    line-height: 1.5;
    color: #ffffffe6;
    margin: 0;
    font-weight: 500
}

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

    .prtnrs .partner-card:last-child {
        grid-column: 1 / -1;
        max-width: 50%;
        margin: 0 auto
    }
}

@media (max-width: 768px) {
    .prtnrs .title-hero {
        padding: 60px 24px
    }

    .prtnrs .title-hero .txt-zone {
        padding: 24px
    }

    .prtnrs .title-hero h1 {
        font-size: 42px
    }

    .prtnrs .title-hero .abstract-shape-1,
    .prtnrs .title-hero .abstract-shape-2 {
        display: none
    }

    .prtnrs .collab-sec {
        padding: 60px 24px
    }

    .prtnrs .collab-sec .sec-intro {
        margin-bottom: 60px
    }

    .prtnrs .collab-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .prtnrs .partner-card:last-child {
        max-width: 100%
    }

    .prtnrs .story-sec {
        padding: 60px 24px 80px
    }

    .prtnrs .story-wrap {
        padding: 40px 24px
    }

    .prtnrs::before,
    .prtnrs::after,
    .prtnrs .geo-circle-1,
    .prtnrs .geo-circle-2 {
        display: none
    }
}

@media (max-width: 390px) {
    .prtnrs .title-hero h1 {
        font-size: 30px
    }

    .prtnrs .title-hero .key-pts li {
        font-size: 15px
    }

    .prtnrs .collab-sec .sec-intro h2 {
        font-size: 30px
    }

    .prtnrs .partner-card {
        padding: 24px
    }

    .prtnrs .partner-card .metric-row {
        flex-direction: column;
        gap: 12px
    }

    .prtnrs .story-wrap h2 {
        font-size: 30px
    }

    .prtnrs .story-txt p {
        font-size: 15px
    }

    .prtnrs .story-highlight p {
        font-size: 15px
    }
}

.dgest {
    background: #FFF;
    color: #1D1D1F;
    overflow-x: clip
}

.dgest .title-anchor {
    padding: 80px 24px 40px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(270deg, #0177D7 0%, #1D1D1F 100%)
}

.dgest .title-anchor::before {
    content: '';
    position: absolute;
    top: 12%;
    right: 8%;
    width: 140px;
    height: 140px;
    background: radial-gradient(circle, #fcf3b526 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none
}

.dgest .title-anchor::after {
    content: '';
    position: absolute;
    top: 45%;
    right: 18%;
    width: 60px;
    height: 60px;
    background: radial-gradient(circle, #fcf3b517 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none
}

.dgest .title-anchor .dot-scatter {
    position: absolute;
    bottom: 20%;
    left: 15%;
    width: 90px;
    height: 90px;
    background: radial-gradient(circle, #a23e071f 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none
}

.dgest .title-wrap {
    max-width: 1140px;
    margin: 0 auto;
    text-align: center
}

.dgest .title-wrap h1 {
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1.1;
    color: #FFF;
    margin: 0 0 24px;
    letter-spacing: -.02em
}

.dgest .title-wrap h1 .outline-word {
    color: transparent;
    -webkit-text-stroke: 2px #FCF3B5;
    text-stroke: 2px #FCF3B5
}

.dgest .title-wrap .quote-txt {
    font-size: 22px;
    line-height: 1.5;
    color: #ffffffeb;
    margin: 0 0 40px;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto
}

.dgest .img-holder {
    position: relative;
    max-width: 920px;
    margin: 0 auto;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 12px 40px -1px #0177d71f
}

.dgest .img-holder img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center;
    display: block;
    transform: translateZ(0);
    will-change: transform
}

.dgest .img-holder::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(180deg, transparent 0%, #0177d759 100%);
    pointer-events: none
}

.dgest .narrative-sec {
    padding: 80px 24px;
    background: #FFF;
    position: relative
}

.dgest .narrative-sec::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: url("data:image/svg+xml,%3Csvg width='100%25' height='80' viewBox='0 0 1200 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 40 Q100 10 200 40 T400 40 Q500 50 600 40 T800 40 Q900 45 1000 40 T1200 40 L1200 80 L0 80 Z' fill='%230177D7'/%3E%3C/svg%3E") no-repeat top center;
    background-size: 100% 100%;
    transform: translateY(-79px)
}

.dgest .narrative-wrap {
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start
}

.dgest .narrative-col h2 {
    font-size: clamp(30px, 3.5vw, 42px);
    line-height: 1.1;
    color: #1D1D1F;
    margin: 0 0 24px;
    letter-spacing: -.01em
}

.dgest .narrative-col h2::first-letter {
    color: #A23E07;
    font-size: 1.3em
}

.dgest .narrative-col p {
    font-size: 18px;
    line-height: 1.5;
    color: #2D2D2F;
    margin: 0 0 24px
}

.dgest .narrative-col p:last-child {
    margin-bottom: 0
}

.dgest .narrative-col .inline-link {
    color: #0177D7;
    text-decoration: none;
    position: relative;
    transition: color .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.dgest .narrative-col .inline-link::after {
    content: '';
    position: absolute;
    right: -18px;
    top: 50%;
    transform: translateY(-50%) scale(0);
    width: 14px;
    height: 14px;
    background: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 3 L10 7 L5 11' stroke='%230177D7' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
    opacity: 0;
    transition: all .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.dgest .narrative-col .inline-link:hover {
    color: #A23E07
}

.dgest .narrative-col .inline-link:hover::after {
    opacity: 1;
    transform: translateY(-50%) scale(1)
}

.dgest .matrix-sec {
    padding: 80px 24px;
    background: #1D1D1F;
    position: relative;
    overflow: hidden
}

.dgest .matrix-sec::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(0deg, transparent 49%, #fcf3b508 49%, #fcf3b508 51%, transparent 51%), linear-gradient(60deg, transparent 49%, #fcf3b508 49%, #fcf3b508 51%, transparent 51%), linear-gradient(120deg, transparent 49%, #fcf3b508 49%, #fcf3b508 51%, transparent 51%);
    background-size: 32px 32px;
    pointer-events: none;
    opacity: .4
}

.dgest .matrix-wrap {
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.dgest .matrix-wrap h2 {
    font-size: clamp(30px, 3.5vw, 42px);
    line-height: 1.1;
    color: #FFF;
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700
}

.dgest .matrix-wrap .sub-intro {
    font-size: 18px;
    line-height: 1.5;
    color: #ffffffd9;
    margin: 0 0 40px;
    max-width: 720px
}

.dgest .priority-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px
}

.dgest .quad-zone {
    background: #ffffff0a;
    padding: 40px;
    border-radius: 20px;
    border: 2px solid transparent;
    position: relative;
    transition: all .32s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: inset 0 2px 4px #fcf3b50f inset 0 -2px 4px #0177d70f
}

.dgest .quad-zone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 20px;
    border: 2px solid transparent;
    transition: border-color .32s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none
}

.dgest .quad-zone:hover {
    background: #ffffff14;
    transform: translateY(-6px);
    box-shadow: inset 0 2px 4px #fcf3b514 inset 0 -2px 4px #0177d714 0 12px 40px -1px #0177d71f
}

.dgest .quad-zone:hover::before {
    border-color: #0177d74d;
    animation: trace-border 1.2s cubic-bezier(0.68, -0.55, 0.27, 1.55) forwards
}

@keyframes trace-border {
    0% {
        clip-path: polygon(0 0, 0 0, 0 100%, 0 100%)
    }

    25% {
        clip-path: polygon(0 0, 100% 0, 100% 0, 0 0)
    }

    50% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 100% 100%)
    }

    75% {
        clip-path: polygon(100% 100%, 100% 100%, 0 100%, 0 100%)
    }

    100% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
    }
}

.dgest .quad-zone h3 {
    font-size: 22px;
    line-height: 1.1;
    color: #FCF3B5;
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 700
}

.dgest .quad-zone p {
    font-size: 15px;
    line-height: 1.5;
    color: #ffffffd1;
    margin: 0
}

.dgest .quad-zone.urgent {
    background: #a23e0714
}

.dgest .quad-zone.urgent:hover::before {
    border-color: #a23e0766
}

.dgest .quad-zone.important {
    background: #0177d714
}

.dgest .quad-zone.important:hover::before {
    border-color: #0177d766
}

.dgest .quad-zone.delegate {
    background: #fcf3b50f
}

.dgest .quad-zone.delegate:hover::before {
    border-color: #fcf3b54d
}

@media (max-width: 1280px) {
    .dgest .narrative-wrap {
        gap: 60px
    }

    .dgest .img-holder img {
        height: 420px
    }
}

@media (max-width: 768px) {
    .dgest .title-anchor {
        padding: 60px 24px 40px
    }

    .dgest .narrative-wrap {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .dgest .priority-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .dgest .img-holder img {
        height: 340px
    }

    .dgest .narrative-sec,
    .dgest .matrix-sec {
        padding: 60px 24px
    }

    .dgest .quad-zone {
        padding: 24px
    }
}

@media (max-width: 390px) {
    .dgest .title-anchor {
        padding: 40px 12px 24px
    }

    .dgest .narrative-sec,
    .dgest .matrix-sec {
        padding: 40px 12px
    }

    .dgest .img-holder img {
        height: 280px
    }

    .dgest .title-wrap .quote-txt {
        margin-bottom: 24px
    }
}

.dgest ::selection {
    background: #0177d71a;
    color: #1D1D1F
}

.dgest ::-moz-selection {
    background: #0177d71a;
    color: #1D1D1F
}

.dgest input::placeholder,
.dgest textarea::placeholder {
    color: #0177d759
}

.dgest button {
    cursor: pointer;
    border: none;
    background: none;
    padding: 0;
    font-family: inherit
}

.dgest .parallax-container {
    position: relative;
    overflow: hidden
}

.dgest .parallax-img {
    transform: translateY(-20px);
    transition: transform .1s linear
}

.ld-home {
    background: #fff;
    color: #1a1a1a
}

.ld-home .hro-blk {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: center;
    position: relative
}

.ld-home .hro-blk::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 24px;
    right: 24px;
    height: 1px;
    background: linear-gradient(to right, #0177d733, transparent)
}

.ld-home .img-frm {
    flex: 0 0 45%;
    position: relative;
    padding: 12px;
    background: linear-gradient(135deg, #0177d70d, #fcf3b50d);
    border-radius: 20px;
    overflow: hidden
}

.ld-home .img-frm::before,
.ld-home .img-frm::after {
    content: '';
    position: absolute;
    border: 1px solid #0177d726;
    pointer-events: none
}

.ld-home .img-frm::before {
    top: 6px;
    left: 6px;
    right: 6px;
    bottom: 6px;
    border-radius: 20px
}

.ld-home .img-frm::after {
    top: 12px;
    left: 12px;
    right: 12px;
    bottom: 12px;
    border-radius: 20px
}

.ld-home .img-wrap {
    position: relative;
    width: 100%;
    height: 380px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 28px -1px #0177d71a 0 12px 40px -1px #0177d71f
}

.ld-home .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.ld-home .img-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(to bottom, #0177d740, transparent);
    pointer-events: none
}

.ld-home .txt-zn {
    flex: 1;
    padding: 40px 24px 40px 0
}

.ld-home .hro-hdg {
    font-size: 58px;
    line-height: 1.1;
    margin: 0 0 24px;
    font-weight: 700;
    animation: ld-rvl .28s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    opacity: 0;
    transform: translateY(20px)
}

@keyframes ld-rvl {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.ld-home .hro-hdg::first-letter {
    color: #0177D7;
    font-size: 72px
}

.ld-home .act-lnk {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    color: #0177D7;
    text-decoration: none;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 6px;
    background: #0177d70d;
    transition: background .24s cubic-bezier(0.34, 1.56, 0.64, 1), transform .22s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.ld-home .act-lnk:hover {
    background: #0177d71f;
    transform: translateX(6px)
}

.ld-home .act-lnk:focus {
    outline: 2px solid #0177D7;
    outline-offset: 3px
}

.ld-home .arr-icn {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center
}

.ld-home .arr-icn svg {
    width: 100%;
    height: 100%;
    fill: currentColor
}

.ld-home .pst-lst {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    background: linear-gradient(270deg, #0177d705, #fcf3b508)
}

.ld-home .pst-hdr {
    margin: 0 0 40px
}

.ld-home .pst-ttl {
    font-size: 42px;
    line-height: 1.1;
    margin: 0 0 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em
}

.ld-home .pst-sub {
    font-size: 18px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0
}

.ld-home .pst-grd {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px
}

.ld-home .pst-crd {
    position: relative;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a;
    transition: transform .26s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .26s cubic-bezier(0.34, 1.56, 0.64, 1);
    border: 1px solid #0177d714
}

.ld-home .pst-crd::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #0177D7, #A23E07);
    clip-path: polygon(100% 0, 100% 100%, 0 0);
    opacity: .15;
    pointer-events: none
}

.ld-home .pst-crd:hover {
    transform: translateY(-6px);
    box-shadow: 0 4px 28px -1px #0177d71a 0 12px 40px -1px #0177d71f
}

.ld-home .pst-img-wrap {
    width: 100%;
    height: 220px;
    overflow: hidden;
    position: relative;
    border: 3px solid #fff;
    box-sizing: border-box
}

.ld-home .pst-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .32s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ld-home .pst-crd:hover .pst-img-wrap img {
    transform: scale(1.08)
}

.ld-home .pst-cnt {
    padding: 24px
}

.ld-home .pst-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
    flex-wrap: wrap
}

.ld-home .pst-tag {
    font-size: 15px;
    color: #0177D7;
    background: #0177d714;
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em
}

.ld-home .pst-date {
    font-size: 15px;
    color: #6a6a6a
}

.ld-home .pst-rdtm {
    font-size: 15px;
    color: #6a6a6a;
    margin-left: auto
}

.ld-home .pst-hdg {
    font-size: 22px;
    line-height: 1.5;
    margin: 0 0 12px;
    font-weight: 700
}

.ld-home .pst-hdg a {
    color: inherit;
    text-decoration: none;
    transition: color .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ld-home .pst-hdg a:hover {
    color: #0177D7
}

.ld-home .pst-desc {
    font-size: 15px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0 0 12px
}

.ld-home .pst-sub-txt {
    font-size: 15px;
    line-height: 1.5;
    color: #6a6a6a;
    font-style: italic;
    margin: 0
}

.ld-home .auth-blk {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: center;
    background: #fff
}

.ld-home .auth-img-wrap {
    flex: 0 0 280px;
    height: 280px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    border: 4px solid #0177d71f;
    box-shadow: 0 4px 28px -1px #0177d71a
}

.ld-home .auth-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.ld-home .auth-cnt {
    flex: 1
}

.ld-home .auth-hdg {
    font-size: 30px;
    line-height: 1.1;
    margin: 0 0 24px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em
}

.ld-home .auth-txt {
    font-size: 18px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0 0 24px
}

.ld-home .auth-txt:last-of-type {
    margin-bottom: 0
}

.ld-home .tpc-nav {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    background: linear-gradient(270deg, #a23e0708, transparent)
}

.ld-home .tpc-hdg {
    font-size: 42px;
    line-height: 1.1;
    margin: 0 0 40px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em
}

.ld-home .tpc-grd {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 24px
}

.ld-home .tpc-itm {
    background: #fff;
    padding: 24px;
    border-radius: 20px;
    border: 1px solid #0177d71f;
    position: relative;
    overflow: hidden;
    transition: transform .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ld-home .tpc-itm::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    background: linear-gradient(to top, #0177d714, transparent);
    transition: height .3s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none
}

.ld-home .tpc-itm:hover {
    transform: translateY(-4px)
}

.ld-home .tpc-itm:hover::before {
    height: 100%
}

.ld-home .tpc-lbl {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 6px;
    color: #0177D7;
    text-transform: uppercase;
    letter-spacing: .08em
}

.ld-home .tpc-cnt {
    font-size: 15px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0
}

.ld-home .adj-blk {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    background: #fff;
    position: relative
}

.ld-home .adj-blk::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 24px;
    right: 24px;
    bottom: 24px;
    border: 1px solid #a23e0726;
    border-radius: 20px;
    pointer-events: none
}

.ld-home .adj-blk::after {
    content: '';
    position: absolute;
    top: 30px;
    left: 30px;
    right: 30px;
    bottom: 30px;
    border: 1px solid #a23e071a;
    border-radius: 20px;
    pointer-events: none
}

.ld-home .adj-hdg {
    font-size: 30px;
    line-height: 1.1;
    margin: 0 0 40px;
    font-weight: 700;
    position: relative;
    z-index: 1
}

.ld-home .adj-lst {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
    z-index: 1
}

.ld-home .adj-itm {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
    padding: 24px;
    background: linear-gradient(270deg, #fcf3b526, transparent);
    border-radius: 6px;
    border-left: 0
}

.ld-home .adj-icn {
    flex: 0 0 48px;
    height: 48px;
    background: #0177D7;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 22px;
    font-weight: 700
}

.ld-home .adj-cnt {
    flex: 1
}

.ld-home .adj-ttl {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 6px
}

.ld-home .adj-txt {
    font-size: 15px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0
}

.ld-home .thm-blk {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    background: #0177d705;
    backdrop-filter: blur(10px)
}

.ld-home .thm-hdg {
    font-size: 42px;
    line-height: 1.1;
    margin: 0 0 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em
}

.ld-home .thm-sub {
    font-size: 18px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0 0 40px
}

.ld-home .thm-grd {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px
}

.ld-home .thm-crd {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 2px 2px -1px #a23e0712 0 4px 28px -1px #a23e071a;
    border: 2px solid #a23e0714;
    transition: transform .3s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.ld-home .thm-crd:hover {
    transform: scale(1.03)
}

.ld-home .thm-img-wrap {
    width: 100%;
    height: 200px;
    overflow: hidden;
    border: 3px solid #fff;
    box-sizing: border-box
}

.ld-home .thm-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.ld-home .thm-cnt {
    padding: 24px
}

.ld-home .thm-ttl {
    font-size: 22px;
    line-height: 1.5;
    margin: 0 0 12px;
    font-weight: 700;
    color: #A23E07
}

.ld-home .thm-txt {
    font-size: 15px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0
}

.ld-home .scl-blk {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    background: #fff;
    text-align: center
}

.ld-home .scl-hdg {
    font-size: 30px;
    line-height: 1.1;
    margin: 0 0 40px;
    font-weight: 700
}

.ld-home .scl-grd {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 900px;
    margin: 0 auto
}

.ld-home .scl-itm {
    padding: 40px 24px;
    background: linear-gradient(to bottom, #0177d70d, #fcf3b50d);
    border-radius: 20px;
    position: relative;
    overflow: hidden
}

.ld-home .scl-itm::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 6px;
    right: 6px;
    bottom: 6px;
    border: 1px solid #0177d71f;
    border-radius: 20px;
    pointer-events: none
}

.ld-home .scl-num {
    font-size: 58px;
    line-height: 1.1;
    font-weight: 700;
    color: #0177D7;
    margin: 0 0 12px
}

.ld-home .scl-lbl {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .06em
}

.ld-home .eng-blk {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    background: linear-gradient(270deg, #a23e0705, #0177d705)
}

.ld-home .eng-hdg {
    font-size: 42px;
    line-height: 1.1;
    margin: 0 0 24px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em
}

.ld-home .eng-txt {
    font-size: 18px;
    line-height: 1.5;
    color: #4a4a4a;
    margin: 0 0 40px;
    max-width: 800px
}

.ld-home .eng-frm {
    max-width: 700px;
    background: #fff;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 4px 28px -1px #0177d71a 0 12px 40px -1px #0177d71f;
    border: 2px solid #0177d714
}

.ld-home .frm-grp {
    margin: 0 0 24px
}

.ld-home .frm-lbl {
    display: block;
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 6px;
    text-transform: uppercase;
    letter-spacing: .06em
}

.ld-home .frm-inp,
.ld-home .frm-txt {
    width: 100%;
    padding: 12px;
    font-size: 15px;
    border: 1px solid #0177d733;
    border-radius: 6px;
    box-sizing: border-box;
    transition: border-color .22s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .22s cubic-bezier(0.34, 1.56, 0.64, 1);
    font-family: inherit
}

.ld-home .frm-inp::placeholder,
.ld-home .frm-txt::placeholder {
    color: #0177d759
}

.ld-home .frm-inp:focus,
.ld-home .frm-txt:focus {
    outline: none;
    border-color: #0177D7;
    box-shadow: 0 0 0 3px #0177d71f
}

.ld-home .frm-txt {
    resize: vertical;
    min-height: 120px
}

.ld-home .frm-btn {
    padding: 12px 40px;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    background: #0177D7;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: filter .25s cubic-bezier(0.34, 1.56, 0.64, 1), transform .25s cubic-bezier(0.34, 1.56, 0.64, 1);
    text-transform: uppercase;
    letter-spacing: .06em
}

.ld-home .frm-btn:hover {
    filter: brightness(1.15);
    transform: translateY(-2px)
}

.ld-home .frm-btn:focus {
    outline: 2px solid #0177D7;
    outline-offset: 3px
}

.ld-home .frm-btn:active {
    transform: translateY(0)
}

.ld-home .dvdr {
    max-width: 1140px;
    margin: 0 auto;
    padding: 40px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px
}

.ld-home .dvdr-dot {
    width: 8px;
    height: 8px;
    background: #0177D7;
    border-radius: 50%
}

.ld-home .dvdr-ln {
    width: 120px;
    height: 2px;
    background: linear-gradient(to right, transparent, #0177D7, transparent)
}

@media (max-width: 1280px) {
    .ld-home .hro-blk {
        padding: 80px 24px
    }

    .ld-home .thm-grd {
        gap: 24px
    }

    .ld-home .scl-grd {
        gap: 24px
    }
}

@media (max-width: 768px) {
    .ld-home .hro-blk {
        flex-direction: column;
        padding: 40px 24px
    }

    .ld-home .img-frm {
        flex: 1 1 100%
    }

    .ld-home .txt-zn {
        padding: 24px 0 0
    }

    .ld-home .hro-hdg {
        font-size: 42px
    }

    .ld-home .hro-hdg::first-letter {
        font-size: 58px
    }

    .ld-home .pst-lst,
    .ld-home .auth-blk,
    .ld-home .tpc-nav,
    .ld-home .adj-blk,
    .ld-home .thm-blk,
    .ld-home .scl-blk,
    .ld-home .eng-blk {
        padding: 40px 24px
    }

    .ld-home .pst-ttl,
    .ld-home .tpc-hdg,
    .ld-home .thm-hdg,
    .ld-home .eng-hdg {
        font-size: 30px
    }

    .ld-home .pst-grd {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .ld-home .auth-blk {
        flex-direction: column
    }

    .ld-home .auth-img-wrap {
        flex: 0 0 240px;
        height: 240px
    }

    .ld-home .tpc-grd {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .ld-home .thm-grd {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .ld-home .scl-grd {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .ld-home .eng-frm {
        padding: 24px
    }
}

@media (max-width: 390px) {
    .ld-home .hro-hdg {
        font-size: 30px
    }

    .ld-home .hro-hdg::first-letter {
        font-size: 42px
    }

    .ld-home .img-wrap {
        height: 280px
    }

    .ld-home .pst-ttl,
    .ld-home .tpc-hdg,
    .ld-home .thm-hdg,
    .ld-home .eng-hdg {
        font-size: 22px
    }

    .ld-home .auth-hdg,
    .ld-home .adj-hdg,
    .ld-home .scl-hdg {
        font-size: 22px
    }

    .ld-home .scl-num {
        font-size: 42px
    }
}

.blg-ptn {
    background: #fff;
    min-height: 100vh
}

.blg-ptn .ttl-bnr {
    display: grid;
    grid-template-columns: 280px 1fr;
    max-width: 1140px;
    margin: 0 auto;
    gap: 40px;
    padding: 80px 24px;
    position: relative;
    overflow: hidden
}

.blg-ptn .ttl-bnr::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(45deg, transparent, transparent 12px, #0177d705 12px, #0177d705 24px);
    z-index: 0;
    pointer-events: none
}

.blg-ptn .img-col {
    position: relative;
    z-index: 1
}

.blg-ptn .img-col img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;
    border-radius: 20px;
    position: relative;
    display: block
}

.blg-ptn .img-col::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 180px;
    background: linear-gradient(to bottom, #0006, transparent);
    border-radius: 20px 20px 0 0;
    pointer-events: none
}

.blg-ptn .txt-col {
    padding: 40px 80px 40px 24px;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.blg-ptn .txt-col h1 {
    font-size: 58px;
    line-height: 1.1;
    margin: 0 0 24px;
    color: #0a0a0a;
    letter-spacing: -.02em
}

.blg-ptn .txt-col h1::first-letter {
    color: #0177D7;
    font-size: 72px
}

.blg-ptn .txt-col .dsc {
    font-size: 18px;
    line-height: 1.5;
    color: #3a3a3a;
    margin: 0
}

.blg-ptn .pst-grd {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px
}

.blg-ptn .pst-crd {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a 0 12px 40px -1px #0177d71f;
    transition: transform .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1);
    display: flex;
    flex-direction: column
}

.blg-ptn .pst-crd::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid #0177D7;
    border-left: 2px solid #0177D7;
    opacity: 0;
    transition: opacity .22s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    z-index: 2
}

.blg-ptn .pst-crd::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 6px;
    height: 6px;
    border-bottom: 2px solid #0177D7;
    border-right: 2px solid #0177D7;
    opacity: 0;
    transition: opacity .22s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    z-index: 2
}

.blg-ptn .pst-crd:hover {
    transform: translateY(-6px);
    box-shadow: 0 2px 2px -1px #0177d71f 0 4px 28px -1px #0177d72e 0 12px 40px -1px #0177d738
}

.blg-ptn .pst-crd:hover::before,
.blg-ptn .pst-crd:hover::after {
    opacity: 1
}

.blg-ptn .pst-crd .crd-img {
    width: 100%;
    height: 220px;
    overflow: hidden;
    position: relative
}

.blg-ptn .pst-crd .crd-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .32s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.blg-ptn .pst-crd:hover .crd-img img {
    transform: scale(1.08)
}

.blg-ptn .pst-crd .crd-bdy {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column
}

.blg-ptn .pst-crd .tg-rw {
    display: flex;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap
}

.blg-ptn .pst-crd .tg {
    font-size: 15px;
    line-height: 1.1;
    padding: 6px 12px;
    background: linear-gradient(to right, #FCF3B5, #fcf3b54d);
    color: #2a2a2a;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700
}

.blg-ptn .pst-crd .cat-tg {
    font-size: 15px;
    line-height: 1.1;
    padding: 6px 12px;
    background: #0177d714;
    color: #0177D7;
    border-radius: 6px;
    letter-spacing: .05em
}

.blg-ptn .pst-crd h3 {
    font-size: 22px;
    line-height: 1.5;
    margin: 0 0 12px;
    color: #0a0a0a
}

.blg-ptn .pst-crd h3 a {
    color: inherit;
    text-decoration: none;
    transition: color .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.blg-ptn .pst-crd h3 a:hover {
    color: #0177D7
}

.blg-ptn .pst-crd .sub {
    font-size: 15px;
    line-height: 1.5;
    color: #5a5a5a;
    margin: 0 0 12px;
    font-weight: 600
}

.blg-ptn .pst-crd .dsc-txt {
    font-size: 15px;
    line-height: 1.5;
    color: #3a3a3a;
    margin: 0 0 24px;
    flex: 1
}

.blg-ptn .pst-crd .mt-rw {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
    border-top: 1px solid #0177d71f;
    font-size: 15px;
    line-height: 1.1;
    color: #6a6a6a
}

.blg-ptn .pst-crd .dt {
    display: flex;
    align-items: center;
    gap: 6px
}

.blg-ptn .pst-crd .rd-tm {
    display: flex;
    align-items: center;
    gap: 6px
}

.blg-ptn .info-blk {
    background: linear-gradient(to left, #0177D7, #1a1a1a);
    padding: 80px 24px;
    position: relative;
    overflow: hidden
}

.blg-ptn .info-blk::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 20% 40%, #fcf3b514, transparent 50%);
    pointer-events: none
}

.blg-ptn .info-wrp {
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.blg-ptn .info-wrp h2 {
    font-size: 42px;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 40px;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 700;
    text-align: center
}

.blg-ptn .info-grd {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px
}

.blg-ptn .info-itm {
    background: #ffffff0d;
    backdrop-filter: blur(12px);
    padding: 40px 24px;
    border-radius: 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: transform .26s cubic-bezier(0.68, -0.55, 0.27, 1.55), background .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.blg-ptn .info-itm::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid #FCF3B5;
    border-left: 2px solid #FCF3B5;
    opacity: 0;
    transition: opacity .2s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.blg-ptn .info-itm::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 6px;
    height: 6px;
    border-bottom: 2px solid #FCF3B5;
    border-right: 2px solid #FCF3B5;
    opacity: 0;
    transition: opacity .2s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.blg-ptn .info-itm:hover {
    background: #ffffff1f;
    transform: scale(1.05)
}

.blg-ptn .info-itm:hover::before,
.blg-ptn .info-itm:hover::after {
    opacity: 1
}

.blg-ptn .info-itm .icn {
    width: 60px;
    height: 60px;
    margin: 0 auto 24px;
    background: #fcf3b526;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    color: #FCF3B5
}

.blg-ptn .info-itm h3 {
    font-size: 22px;
    line-height: 1.5;
    color: #fff;
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700
}

.blg-ptn .info-itm p {
    font-size: 15px;
    line-height: 1.5;
    color: #ffffffd9;
    margin: 0
}

.blg-ptn .stry-blk {
    padding: 80px 24px;
    background: #fff;
    position: relative
}

.blg-ptn .stry-blk::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, transparent, #0177d74d 20%, #0177d74d 80%, transparent)
}

.blg-ptn .stry-blk::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, transparent, #a23e074d 20%, #a23e074d 80%, transparent)
}

.blg-ptn .stry-wrp {
    max-width: 1140px;
    margin: 0 auto
}

.blg-ptn .stry-wrp h2 {
    font-size: 42px;
    line-height: 1.1;
    color: #0a0a0a;
    margin: 0 0 40px;
    text-align: center
}

.blg-ptn .stry-wrp h2::first-letter {
    color: #A23E07;
    font-size: 58px
}

.blg-ptn .stry-ctn {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center
}

.blg-ptn .stry-txt h3 {
    font-size: 30px;
    line-height: 1.5;
    color: #0a0a0a;
    margin: 0 0 24px
}

.blg-ptn .stry-txt p {
    font-size: 18px;
    line-height: 1.9;
    color: #3a3a3a;
    margin: 0 0 24px
}

.blg-ptn .stry-txt p:last-child {
    margin-bottom: 0
}

.blg-ptn .stry-txt a {
    color: #0177D7;
    text-decoration: none;
    position: relative;
    transition: color .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.blg-ptn .stry-txt a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: #0177D7;
    transition: width .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.blg-ptn .stry-txt a:hover {
    color: #A23E07
}

.blg-ptn .stry-txt a:hover::after {
    width: 100%;
    background: #A23E07
}

.blg-ptn .stry-vis {
    position: relative
}

.blg-ptn .stry-vis .vsl-bx {
    background: linear-gradient(135deg, #0177d70d, #fcf3b514);
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 2px 2px -1px #a23e0712 0 4px 28px -1px #a23e071a 0 12px 40px -1px #a23e071f;
    position: relative;
    overflow: hidden
}

.blg-ptn .stry-vis .vsl-bx::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 12px;
    border-top: 3px solid #0177D7;
    border-left: 3px solid #0177D7
}

.blg-ptn .stry-vis .vsl-bx::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 12px;
    height: 12px;
    border-bottom: 3px solid #A23E07;
    border-right: 3px solid #A23E07
}

.blg-ptn .stry-vis .nm-itm {
    background: #fff;
    padding: 24px;
    border-radius: 6px;
    margin-bottom: 24px;
    box-shadow: 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a;
    transition: transform .24s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.blg-ptn .stry-vis .nm-itm:last-child {
    margin-bottom: 0
}

.blg-ptn .stry-vis .nm-itm:hover {
    transform: translateX(12px)
}

.blg-ptn .stry-vis .nm-itm h4 {
    font-size: 18px;
    line-height: 1.5;
    color: #0177D7;
    margin: 0 0 6px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 700
}

.blg-ptn .stry-vis .nm-itm p {
    font-size: 15px;
    line-height: 1.5;
    color: #3a3a3a;
    margin: 0
}

.blg-ptn .cta-blk {
    background: #a23e0708;
    padding: 80px 24px;
    position: relative;
    overflow: hidden
}

.blg-ptn .cta-blk::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, #0177d714, transparent 70%);
    border-radius: 50%;
    animation: float-drift 8s ease-in-out infinite
}

@keyframes float-drift {

    0%,
    100% {
        transform: translate(0, 0)
    }

    50% {
        transform: translate(-40px, 40px)
    }
}

.blg-ptn .cta-wrp {
    max-width: 1140px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1
}

.blg-ptn .cta-wrp h2 {
    font-size: 42px;
    line-height: 1.1;
    color: #0a0a0a;
    margin: 0 0 24px;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 700
}

.blg-ptn .cta-wrp p {
    font-size: 18px;
    line-height: 1.5;
    color: #3a3a3a;
    margin: 0 0 40px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto
}

.blg-ptn .cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 24px 40px;
    background: linear-gradient(to right, #0177D7, #0158a8);
    color: #fff;
    font-size: 18px;
    line-height: 1.1;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    box-shadow: 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a 0 12px 40px -1px #0177d71f;
    transition: transform .26s cubic-bezier(0.34, 1.56, 0.64, 1), filter .24s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    position: relative;
    overflow: hidden
}

.blg-ptn .cta-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, #fff3, transparent);
    transition: left .32s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.blg-ptn .cta-btn:hover {
    transform: translateY(-4px);
    filter: brightness(1.15)
}

.blg-ptn .cta-btn:hover::before {
    left: 100%
}

.blg-ptn .cta-btn:focus {
    outline: 3px solid #0177D7;
    outline-offset: 4px
}

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

    .blg-ptn .info-grd {
        grid-template-columns: 1fr;
        gap: 24px
    }
}

@media (max-width: 768px) {
    .blg-ptn .ttl-bnr {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 40px 24px
    }

    .blg-ptn .img-col img {
        height: 280px
    }

    .blg-ptn .txt-col {
        padding: 24px
    }

    .blg-ptn .txt-col h1 {
        font-size: clamp(42px, 8vw, 58px)
    }

    .blg-ptn .pst-grd {
        grid-template-columns: 1fr;
        padding: 40px 24px
    }

    .blg-ptn .stry-ctn {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .blg-ptn .info-wrp h2,
    .blg-ptn .stry-wrp h2,
    .blg-ptn .cta-wrp h2 {
        font-size: clamp(30px, 6vw, 42px)
    }
}

@media (max-width: 390px) {
    .blg-ptn .ttl-bnr {
        padding: 24px 12px
    }

    .blg-ptn .txt-col h1 {
        font-size: 42px
    }

    .blg-ptn .pst-grd {
        padding: 40px 12px;
        gap: 24px
    }

    .blg-ptn .pst-crd .crd-bdy {
        padding: 12px
    }

    .blg-ptn .info-blk,
    .blg-ptn .stry-blk,
    .blg-ptn .cta-blk {
        padding: 40px 12px
    }
}

.blg-ptn .emerge-anim {
    animation: emerge-in .8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

@keyframes emerge-in {
    from {
        opacity: 0;
        filter: blur(12px);
        transform: translateY(24px)
    }

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

.blg-ptn .pst-crd:nth-child(1) {
    animation-delay: .1s
}

.blg-ptn .pst-crd:nth-child(2) {
    animation-delay: .2s
}

.blg-ptn .pst-crd:nth-child(3) {
    animation-delay: .3s
}

.blg-ptn .pst-crd:nth-child(4) {
    animation-delay: .15s
}

.blg-ptn .pst-crd:nth-child(5) {
    animation-delay: .25s
}

.blg-ptn .pst-crd:nth-child(6) {
    animation-delay: .35s
}

.blg-ptn .info-blk {
    animation: temp-shift 12s ease-in-out infinite
}

@keyframes temp-shift {

    0%,
    100% {
        background: linear-gradient(to left, #0177D7, #1a1a1a)
    }

    50% {
        background: linear-gradient(to left, #0158a8, #2a2a2a)
    }
}

.abt-auth {
    background: #fff;
    color: #1a1a1a
}

.abt-auth .ttl-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
    position: relative;
    overflow: hidden;
    padding-top: 80px;
    padding-bottom: 40px
}

@media (max-width: 768px) {
    .abt-auth .ttl-split {
        grid-template-columns: 1fr;
        min-height: 420px;
        padding-top: 60px
    }
}

.abt-auth .ttl-split::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to right, #f8f9fa 0%, #f8f9fa 50%, #0177D7 50%, #0177D7 100%);
    z-index: 1
}

@media (max-width: 768px) {
    .abt-auth .ttl-split::before {
        background: linear-gradient(to bottom, #f8f9fa 0%, #f8f9fa 60%, #0177D7 60%, #0177D7 100%)
    }
}

.abt-auth .ttl-split::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, #00000005 2px, #00000005 4px), repeating-linear-gradient(90deg, transparent, transparent 2px, #00000005 2px, #00000005 4px);
    z-index: 2;
    pointer-events: none
}

.abt-auth .ttl-lft,
.abt-auth .ttl-rgt {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px
}

@media (max-width: 768px) {

    .abt-auth .ttl-lft,
    .abt-auth .ttl-rgt {
        padding: 24px
    }
}

.abt-auth .ttl-lft {
    align-items: flex-start
}

.abt-auth .ttl-rgt {
    align-items: flex-start
}

.abt-auth .ttl-hdng {
    font-size: clamp(42px, 5vw, 58px);
    line-height: 1.1;
    font-weight: 700;
    margin: 0 0 24px;
    color: #1a1a1a
}

.abt-auth .ttl-hdng::first-letter {
    color: #A23E07;
    font-size: 1.3em
}

.abt-auth .ttl-qte {
    font-size: 22px;
    line-height: 1.5;
    color: #fff;
    font-style: italic;
    margin: 0;
    max-width: 460px
}

.abt-auth .stry-wrap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px;
    position: relative
}

@media (max-width: 768px) {
    .abt-auth .stry-wrap {
        padding: 60px 24px
    }
}

.abt-auth .stry-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    align-items: start
}

@media (max-width: 1280px) {
    .abt-auth .stry-grid {
        gap: 40px
    }
}

@media (max-width: 768px) {
    .abt-auth .stry-grid {
        grid-template-columns: 1fr;
        gap: 40px
    }
}

.abt-auth .stry-cntnt {
    opacity: 0;
    transform: scale(0.92);
    animation: rvl-scale .28s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    animation-delay: .15s
}

@keyframes rvl-scale {
    to {
        opacity: 1;
        transform: scale(1)
    }
}

.abt-auth .stry-h2 {
    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
    margin: 0 0 24px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #1a1a1a
}

.abt-auth .stry-txt {
    font-size: 18px;
    line-height: 1.9;
    color: #2d2d2d;
    margin: 0 0 24px
}

.abt-auth .stry-txt:last-child {
    margin-bottom: 0
}

.abt-auth .stry-img-box {
    position: relative;
    opacity: 0;
    transform: scale(0.88);
    animation: rvl-scale .32s cubic-bezier(0.68, -0.55, 0.27, 1.55) forwards;
    animation-delay: .25s
}

.abt-auth .stry-img-wrap {
    position: relative;
    width: 100%;
    height: 480px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a 0 12px 40px -1px #0177d71f
}

@media (max-width: 768px) {
    .abt-auth .stry-img-wrap {
        height: 360px
    }
}

.abt-auth .stry-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.abt-auth .stry-deco {
    position: absolute;
    top: -12px;
    right: -12px;
    width: 140px;
    height: 140px;
    border: 3px dashed #FCF3B5;
    border-radius: 20px;
    pointer-events: none;
    z-index: -1
}

@media (max-width: 768px) {
    .abt-auth .stry-deco {
        width: 100px;
        height: 100px
    }
}

.abt-auth .phl-sect {
    background: linear-gradient(to left, #0177D7, #2d2d2d);
    position: relative;
    padding: 80px 0;
    clip-path: polygon(0 0, 100% 80px, 100% 100%, 0 100%);
    margin-top: 80px
}

@media (max-width: 768px) {
    .abt-auth .phl-sect {
        padding: 60px 0;
        clip-path: polygon(0 0, 100% 40px, 100% 100%, 0 100%);
        margin-top: 60px
    }
}

.abt-auth .phl-sect::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url(./promo_images/2025_09ftr.jpg);
    background-size: cover;
    background-position: center;
    opacity: .08;
    pointer-events: none
}

.abt-auth .phl-cntr {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2
}

.abt-auth .phl-h2 {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    color: #fff;
    margin: 0 0 60px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .1em
}

@media (max-width: 768px) {
    .abt-auth .phl-h2 {
        font-size: 30px;
        margin-bottom: 40px
    }
}

.abt-auth .phl-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px
}

@media (max-width: 1280px) {
    .abt-auth .phl-grid {
        gap: 24px
    }
}

@media (max-width: 768px) {
    .abt-auth .phl-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }
}

.abt-auth .phl-crd {
    background: #fffffff2;
    border-radius: 6px;
    padding: 40px 24px;
    text-align: center;
    box-shadow: 0 2px 2px -1px #a23e0712 0 4px 28px -1px #a23e071a 0 12px 40px -1px #a23e071f;
    opacity: 0;
    transform: scale(0.9);
    animation: rvl-scale .26s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    transition: transform .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-auth .phl-crd:nth-child(1) {
    animation-delay: .1s
}

.abt-auth .phl-crd:nth-child(2) {
    animation-delay: .2s
}

.abt-auth .phl-crd:nth-child(3) {
    animation-delay: .3s
}

.abt-auth .phl-crd:hover {
    transform: scale(1.04)
}

.abt-auth .phl-icn {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    background: linear-gradient(135deg, #0177D7, #A23E07);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.abt-auth .phl-icn svg {
    width: 42px;
    height: 42px;
    fill: #fff
}

.abt-auth .phl-h3 {
    font-size: 22px;
    line-height: 1.1;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 12px
}

.abt-auth .phl-dsc {
    font-size: 15px;
    line-height: 1.5;
    color: #3d3d3d;
    margin: 0
}

.abt-auth .exp-zone {
    max-width: 1140px;
    margin: 0 auto;
    padding: 80px 24px
}

@media (max-width: 768px) {
    .abt-auth .exp-zone {
        padding: 60px 24px
    }
}

.abt-auth .exp-hdr {
    text-align: center;
    margin-bottom: 60px;
    opacity: 0;
    transform: scale(0.94);
    animation: rvl-scale .3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    animation-delay: .12s
}

@media (max-width: 768px) {
    .abt-auth .exp-hdr {
        margin-bottom: 40px
    }
}

.abt-auth .exp-h2 {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 24px
}

@media (max-width: 768px) {
    .abt-auth .exp-h2 {
        font-size: 30px
    }
}

.abt-auth .exp-h2::first-letter {
    color: #0177D7;
    font-size: 1.4em
}

.abt-auth .exp-lead {
    font-size: 22px;
    line-height: 1.5;
    color: #3d3d3d;
    margin: 0 auto;
    max-width: 780px
}

.abt-auth .exp-layout {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px
}

@media (max-width: 768px) {
    .abt-auth .exp-layout {
        grid-template-columns: 1fr;
        gap: 24px
    }
}

.abt-auth .exp-blk {
    display: flex;
    flex-direction: column;
    gap: 24px;
    opacity: 0;
    transform: scale(0.92);
    animation: rvl-scale .27s cubic-bezier(0.68, -0.55, 0.27, 1.55) forwards
}

.abt-auth .exp-blk:nth-child(1) {
    animation-delay: .18s
}

.abt-auth .exp-blk:nth-child(2) {
    animation-delay: .28s
}

.abt-auth .exp-img-frm {
    width: 100%;
    height: 320px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 2px 2px -1px #0177d712 0 4px 28px -1px #0177d71a 0 12px 40px -1px #0177d71f
}

@media (max-width: 768px) {
    .abt-auth .exp-img-frm {
        height: 280px
    }
}

.abt-auth .exp-img-frm::before {
    content: '';
    position: absolute;
    top: -6px;
    left: -6px;
    right: -6px;
    bottom: -6px;
    border: 2px dashed #FCF3B5;
    border-radius: 20px;
    pointer-events: none;
    z-index: 2
}

.abt-auth .exp-pic {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.abt-auth .exp-txt-box {
    background: #f8f9fa;
    border-radius: 6px;
    padding: 24px;
    position: relative
}

.abt-auth .exp-txt-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(to bottom, #0177D7, #A23E07);
    border-radius: 6px 0 0 6px
}

.abt-auth .exp-h3 {
    font-size: 22px;
    line-height: 1.1;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 12px;
    padding-left: 18px
}

.abt-auth .exp-p {
    font-size: 18px;
    line-height: 1.9;
    color: #2d2d2d;
    margin: 0;
    padding-left: 18px
}

.abt-auth .exp-lst {
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.abt-auth .exp-itm {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 18px;
    line-height: 1.5;
    color: #2d2d2d
}

.abt-auth .exp-itm::before {
    content: '';
    width: 8px;
    height: 8px;
    background: #0177D7;
    border-radius: 0;
    flex-shrink: 0;
    margin-top: 8px;
    transform: rotate(45deg)
}

.abt-auth .val-wrap {
    background: #f8f9fa;
    padding: 80px 0;
    position: relative
}

@media (max-width: 768px) {
    .abt-auth .val-wrap {
        padding: 60px 0
    }
}

.abt-auth .val-cntr {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px
}

.abt-auth .val-h2 {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 40px;
    text-align: center
}

@media (max-width: 768px) {
    .abt-auth .val-h2 {
        font-size: 30px
    }
}

.abt-auth .val-flx {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt-auth .val-rw {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 40px;
    background: #fff;
    border-radius: 6px;
    padding: 24px;
    box-shadow: 0 2px 2px -1px #a23e0712 0 4px 28px -1px #a23e071a;
    opacity: 0;
    transform: scale(0.93);
    animation: rvl-scale .25s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    transition: box-shadow .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-auth .val-rw:nth-child(1) {
    animation-delay: .14s
}

.abt-auth .val-rw:nth-child(2) {
    animation-delay: .22s
}

.abt-auth .val-rw:nth-child(3) {
    animation-delay: .3s
}

.abt-auth .val-rw:hover {
    box-shadow: 0 2px 2px -1px #a23e0712 0 4px 28px -1px #a23e071a 0 12px 40px -1px #a23e071f
}

@media (max-width: 768px) {
    .abt-auth .val-rw {
        grid-template-columns: 1fr;
        gap: 24px
    }
}

.abt-auth .val-num {
    font-size: 72px;
    line-height: 1.1;
    font-weight: 700;
    color: #0177D7;
    display: flex;
    align-items: center;
    justify-content: center
}

@media (max-width: 768px) {
    .abt-auth .val-num {
        font-size: 58px
    }
}

.abt-auth .val-cntnt {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.abt-auth .val-h3 {
    font-size: 22px;
    line-height: 1.1;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 12px
}

.abt-auth .val-txt {
    font-size: 18px;
    line-height: 1.5;
    color: #3d3d3d;
    margin: 0
}

.abt-auth ::selection {
    background: #0177d71a;
    color: inherit
}

.abt-auth ::placeholder {
    color: #0177d766
}

.success-pg {
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
    background: linear-gradient(to left, #0177D7, #1a1a2e);
    position: relative;
    overflow: hidden
}

.success-pg::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, #a23e0726 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none
}

.success-pg::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, #fcf3b51f 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none
}

.success-ctr {
    max-width: 580px;
    width: 100%;
    background: #fff;
    padding: 80px 40px;
    border-radius: 20px;
    box-shadow: 0 12px 40px -1px #0177d71f 0 4px 28px -1px #0177d71a;
    text-align: center;
    position: relative;
    z-index: 1
}

.success-icn {
    width: 84px;
    height: 84px;
    margin: 0 auto 24px;
    background: linear-gradient(135deg, #0177D7 0%, #0255a8 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    animation: successPulse .6s cubic-bezier(0.34, 1.56, 0.64, 1)
}

@keyframes successPulse {
    0% {
        transform: scale(0.3);
        opacity: 0
    }

    50% {
        transform: scale(1.05)
    }

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

.success-icn::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 3px solid #0177d733;
    animation: rippleOut 1.2s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite
}

@keyframes rippleOut {
    0% {
        transform: scale(1);
        opacity: 1
    }

    100% {
        transform: scale(1.4);
        opacity: 0
    }
}

.success-icn svg {
    width: 42px;
    height: 42px;
    stroke: #fff;
    stroke-width: 3;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    animation: checkDraw .5s cubic-bezier(0.34, 1.56, 0.64, 1) .2s forwards;
    stroke-dasharray: 60;
    stroke-dashoffset: 60
}

@keyframes checkDraw {
    to {
        stroke-dashoffset: 0
    }
}

.success-hdg {
    font-size: 42px;
    line-height: 1.1;
    margin: 0 0 12px;
    color: #0177D7;
    font-weight: 700;
    letter-spacing: -.5px
}

.success-txt {
    font-size: 18px;
    line-height: 1.5;
    color: #2a2a2a;
    margin: 0 0 40px
}

.success-msg {
    background: linear-gradient(to left, #fcf3b54d, #0177d714);
    padding: 24px;
    border-radius: 6px;
    margin: 0 0 40px;
    border: 1px solid #0177d726
}

.success-msg p {
    font-size: 15px;
    line-height: 1.5;
    color: #3a3a3a;
    margin: 0
}

.success-msg strong {
    color: #A23E07;
    font-weight: 600
}

.success-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 16px 40px;
    background: #0177D7;
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
    border-radius: 6px;
    transition: transform .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 4px 28px -1px #0177d71a
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 40px -1px #0177d71f 0 4px 28px -1px #0177d71a
}

.btn-primary:active {
    transform: translateY(0)
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 14px 24px;
    background: transparent;
    color: #0177D7;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    border: 2px solid #0177D7;
    border-radius: 6px;
    transition: background .22s cubic-bezier(0.34, 1.56, 0.64, 1), color .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.btn-secondary:hover {
    background: #0177D7;
    color: #fff
}

.success-ft {
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid #0177d726
}

.success-ft p {
    font-size: 15px;
    line-height: 1.5;
    color: #5a5a5a;
    margin: 0 0 12px
}

.success-ft a {
    color: #A23E07;
    text-decoration: none;
    font-weight: 500;
    transition: color .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.success-ft a:hover {
    color: #7d3006
}

@media (max-width: 768px) {
    .success-ctr {
        padding: 40px 24px
    }

    .success-hdg {
        font-size: 30px
    }

    .success-txt {
        font-size: 15px
    }

    .success-actions {
        flex-direction: column
    }

    .btn-primary,
    .btn-secondary {
        width: 100%;
        justify-content: center
    }
}

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

    .success-ctr {
        padding: 24px 12px
    }

    .success-icn {
        width: 68px;
        height: 68px
    }

    .success-icn svg {
        width: 32px;
        height: 32px
    }

    .success-hdg {
        font-size: 22px
    }
}