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

* {
    box-sizing: border-box
}

body {
    margin: 0;
    position: relative;
    min-height: 100vh;
    font-family: 'Rubik', sans-serif
}

.pg_header {
    background: linear-gradient(135deg, #fff 0%, #EAEEF1 60%, #d4ddf0 100%);
    border-bottom: 1px solid #3366b41f;
    box-shadow: 0 4px 25px 0 #3366b414;
    position: relative;
    z-index: 100;
    overflow: hidden
}

.pg_header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #3366B4 0%, #9EB2DE 50%, #3366B4 100%);
    pointer-events: none
}

.hd_strip {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 48px
}

.hd_announce {
    background: #3366b40f;
    border-bottom: 1px solid #3366b41a;
    padding: 8px 48px;
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px
}

.hd_announce_bar {
    background: #3366b40f;
    border-bottom: 1px solid #3366b41a
}

.hd_announce_txt {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.2;
    color: #3366B4;
    letter-spacing: .03em
}

.hd_announce_dot {
    width: 5px;
    height: 5px;
    border-radius: 32px;
    background: #9EB2DE;
    flex-shrink: 0
}

.hd_body {
    max-width: 1440px;
    margin: 0 auto;
    padding: 24px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px
}

.hd_nav_left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    justify-content: flex-end
}

.hd_nav_right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    justify-content: flex-start
}

.hd_logo_wrap {
    border: 1px solid #3366b433;
    border-radius: 18px;
    padding: 8px 24px;
    background: #ffffffd9;
    box-shadow: 0 3px 3px 0 #3366b40d 0 4px 25px 0 #3366b414;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-decoration: none
}

.hd_logo_wrap img {
    width: 90px;
    height: 90px;
    object-fit: contain;
    display: block
}

.hd_nav_link {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: .04em;
    color: #2a2a3d;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 6px;
    border: 1px solid transparent;
    transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), background .28s cubic-bezier(0.4, 0, 0.2, 1), border-color .35s ease-in-out;
    white-space: nowrap;
    min-height: 44px;
    display: flex;
    align-items: center
}

.hd_nav_link:hover,
.hd_nav_link:focus {
    color: #3366B4;
    background: #3366b412;
    border-color: #3366b42e;
    outline: none
}

.hd_nav_link:focus-visible {
    outline: 2px solid #3366B4;
    outline-offset: 2px;
    border-radius: 6px
}

.hd_nav_link.active {
    color: #3366B4;
    font-weight: 700;
    background: #3366b41a;
    border-color: #3366b440
}

.pg_footer {
    background: linear-gradient(180deg, #EAEEF1 0%, #dde4ef 100%);
    border-top: 1px solid #3366b41f;
    box-shadow: 0 -4px 25px 0 #3366b40f
}

.ft_upper {
    max-width: 1440px;
    margin: 0 auto;
    padding: 48px 48px 24px;
    display: flex;
    align-items: flex-start;
    gap: 48px
}

.ft_brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    flex-shrink: 0
}

.ft_logo_wrap {
    border: 1px solid #3366b433;
    border-radius: 18px;
    padding: 8px 24px;
    background: #fffc;
    box-shadow: 0 3px 3px 0 #3366b40d;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none
}

.ft_logo_wrap img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    display: block
}

.ft_tagline {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.7;
    color: #3a3a52;
    letter-spacing: .03em;
    max-width: 200px
}

.ft_cols {
    display: flex;
    gap: 48px;
    flex: 1;
    flex-wrap: wrap
}

.ft_col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 160px
}

.ft_col_label {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    color: #3366B4;
    letter-spacing: .06em;
    text-transform: uppercase
}

.ft_col_link {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.7;
    color: #3a3a52;
    text-decoration: none;
    letter-spacing: .02em;
    transition: color .28s ease-in-out;
    padding: 0;
    min-height: 44px;
    display: flex;
    align-items: center
}

.ft_col_link:hover,
.ft_col_link:focus {
    color: #3366B4;
    outline: none
}

.ft_col_link:focus-visible {
    outline: 2px solid #3366B4;
    outline-offset: 2px;
    border-radius: 6px
}

.ft_divider {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 48px
}

.ft_divider_line {
    border: none;
    border-top: 1px solid #3366b426;
    margin: 0
}

.ft_bottom {
    max-width: 1440px;
    margin: 0 auto;
    padding: 24px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px
}

.ft_copy {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.2;
    color: #6a6a82;
    letter-spacing: .02em
}

.ft_contact_link {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.2;
    color: #3366B4;
    text-decoration: none;
    letter-spacing: .02em;
    transition: color .28s ease-in-out
}

.ft_contact_link:hover,
.ft_contact_link:focus {
    color: #2a55a0;
    outline: none
}

.ft_contact_link:focus-visible {
    outline: 2px solid #3366B4;
    outline-offset: 2px;
    border-radius: 6px
}

.ft_pref_link {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.2;
    color: #6a6a82;
    text-decoration: underline;
    letter-spacing: .02em;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    transition: color .28s ease-in-out;
    min-height: 44px;
    display: flex;
    align-items: center
}

.ft_pref_link:hover,
.ft_pref_link:focus {
    color: #3366B4;
    outline: none
}

.ft_pref_link:focus-visible {
    outline: 2px solid #3366B4;
    outline-offset: 2px;
    border-radius: 6px
}

.ck_toast {
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 2000;
    background: #fff;
    border: 1px solid #3366b433;
    border-radius: 10px;
    box-shadow: 0 12px 40px 0 #3366b424;
    padding: 24px;
    max-width: 320px;
    width: calc(100vw - 48px)
}

.ck_desc {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.7;
    color: #2a2a3d;
    letter-spacing: .02em;
    margin-bottom: 16px
}

.ck_headline {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    color: #3366B4;
    letter-spacing: .03em;
    margin-bottom: 8px
}

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

.ck_opt_row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #3366b41a
}

.ck_toggle_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px
}

.ck_toggle_lbl {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.2;
    color: #3a3a52;
    letter-spacing: .02em
}

.ck_toggle_input {
    width: 32px;
    height: 18px;
    cursor: pointer;
    flex-shrink: 0;
    accent-color: #3366B4
}

.ck_accept_btn {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.2;
    color: #3366B4;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    letter-spacing: .02em;
    transition: color .25s ease-in-out;
    min-height: 44px;
    display: flex;
    align-items: center
}

.ck_accept_btn:hover,
.ck_accept_btn:focus {
    color: #2a55a0;
    outline: none
}

.ck_accept_btn:focus-visible {
    outline: 2px solid #3366B4;
    outline-offset: 2px;
    border-radius: 6px
}

.ck_decline_btn {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    line-height: 1.2;
    color: #6a6a82;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    letter-spacing: .02em;
    transition: color .25s ease-in-out;
    min-height: 44px;
    display: flex;
    align-items: center
}

.ck_decline_btn:hover,
.ck_decline_btn:focus {
    color: #3366B4;
    outline: none
}

.ck_decline_btn:focus-visible {
    outline: 2px solid #3366B4;
    outline-offset: 2px;
    border-radius: 6px
}

@media screen and (max-width: 768px) {
    .hd_body {
        padding: 16px 24px;
        flex-wrap: wrap;
        gap: 16px;
        justify-content: center
    }

    .hd_nav_left,
    .hd_nav_right {
        flex: none;
        flex-wrap: wrap;
        justify-content: center
    }

    .hd_announce {
        padding: 8px 24px
    }

    .ft_upper {
        padding: 48px 24px 24px;
        flex-direction: column
    }

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

    .ft_divider {
        padding: 0 24px
    }

    .ft_cols {
        gap: 24px
    }
}

.legal-content {
    max-width: 1440px;
    margin: 0 auto;
    padding: 48px
}

.legal-content h1 {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.03em;
    color: #1b2a4a;
    margin-bottom: 24px;
    margin-top: 0
}

.legal-content h2 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1b2a4a;
    margin-top: 48px;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid #EAEEF1
}

.legal-content h3 {
    font-size: 19px;
    line-height: 1.7;
    letter-spacing: -.01em;
    color: #1b2a4a;
    margin-top: 24px;
    margin-bottom: 8px
}

.legal-content h4 {
    font-size: 19px;
    line-height: 1.7;
    letter-spacing: 0;
    color: #3366B4;
    margin-top: 24px;
    margin-bottom: 8px
}

.legal-content h5 {
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #3366B4;
    margin-top: 16px;
    margin-bottom: 8px
}

.legal-content h6 {
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #7a8fa8;
    margin-top: 16px;
    margin-bottom: 8px
}

.legal-content p {
    font-size: 19px;
    line-height: 1.7;
    color: #2c3e58;
    margin-top: 0;
    margin-bottom: 16px
}

.legal-content strong,
.legal-content b {
    font-weight: 700;
    color: #1b2a4a
}

.legal-content em,
.legal-content i {
    font-style: italic;
    color: #3a5080
}

.legal-content a {
    color: #3366B4;
    text-decoration: underline;
    text-decoration-color: #9EB2DE;
    text-underline-offset: 3px;
    transition: color .25s ease-in-out, text-decoration-color .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.legal-content a:hover {
    color: #1b2a4a;
    text-decoration-color: #3366B4
}

.legal-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    line-height: 1.7;
    margin-top: 24px;
    margin-bottom: 24px;
    box-shadow: 0 4px 25px 0 #3366b414;
    border-radius: 10px;
    overflow: hidden
}

.legal-content thead {
    background-color: #3366B4
}

.legal-content thead th {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: 16px;
    text-align: left;
    border: none
}

.legal-content tbody tr {
    border-bottom: 1px solid #EAEEF1;
    transition: background-color .28s ease-in-out
}

.legal-content tbody tr:last-child {
    border-bottom: none
}

.legal-content tbody tr:nth-child(even) {
    background-color: #f4f7fb
}

.legal-content tbody tr:hover {
    background-color: #e6ecf7
}

.legal-content td {
    padding: 16px;
    font-size: 13px;
    line-height: 1.7;
    color: #2c3e58;
    border: none;
    vertical-align: top
}

.legal-content th {
    padding: 16px;
    font-size: 13px;
    line-height: 1.7;
    vertical-align: middle
}

.legal-content hr {
    border: none;
    height: 2px;
    background: linear-gradient(90deg, #3366B4 0%, #9EB2DE 60%, #EAEEF1 100%);
    border-radius: 6px;
    margin-top: 48px;
    margin-bottom: 48px;
    opacity: .5
}

.legal-content div {
    font-size: 19px;
    line-height: 1.7;
    color: #2c3e58
}

.legal-content ul,
.legal-content ol {
    font-size: 19px;
    line-height: 1.7;
    color: #2c3e58;
    padding-left: 24px;
    margin-top: 0;
    margin-bottom: 16px
}

.legal-content li {
    margin-bottom: 8px
}

@media screen and (max-width: 60em) {
    .legal-content {
        padding: 24px 16px
    }

    .legal-content h1 {
        font-size: 34px
    }

    .legal-content h2 {
        font-size: 19px;
        margin-top: 24px
    }

    .legal-content table {
        display: block;
        overflow-x: auto;
        border-radius: 6px
    }
}

.jrnl_det {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip
}

.jrnl_det .art_lead {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    padding: 48px;
    position: relative
}

.jrnl_det .art_lead_txt {
    flex: 1 1 50%;
    padding: 48px 48px 48px 0;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.jrnl_det .art_lead_quote {
    position: absolute;
    top: 24px;
    left: -8px;
    font-size: 180px;
    line-height: 1.2;
    color: #9EB2DE;
    opacity: .13;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    font-style: normal
}

.jrnl_det .art_lead_meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    position: relative;
    z-index: 1
}

.jrnl_det .art_tag {
    display: inline-block;
    background: #EAEEF1;
    color: #3366B4;
    font-size: 13px;
    letter-spacing: .08em;
    line-height: 1.2;
    padding: 8px 16px;
    border-radius: 6px;
    font-weight: 600;
    transition: background .28s cubic-bezier(0.4, 0, 0.2, 1), color .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.jrnl_det .art_tag:hover {
    background: #3366B4;
    color: #fff
}

.jrnl_det .art_readtime {
    font-size: 13px;
    line-height: 1.2;
    color: #3366B4;
    letter-spacing: .06em;
    opacity: .75
}

.jrnl_det .art_lead_h1 {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1b2a4a;
    margin: 0 0 16px;
    position: relative;
    z-index: 1
}

.jrnl_det .art_lead_h1 .grad_txt {
    background: linear-gradient(180deg, #3366B4 0%, #9EB2DE 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.jrnl_det .art_lead_caption {
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: .18em;
    color: #3366B4;
    text-transform: uppercase;
    margin-bottom: 24px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    position: relative;
    z-index: 1
}

.jrnl_det .art_lead_caption_line {
    display: block;
    width: 48px;
    height: 2px;
    background: linear-gradient(90deg, #3366B4 0%, #9EB2DE 100%);
    border-radius: 0;
    flex-shrink: 0
}

.jrnl_det .art_lead_counter {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    position: relative;
    z-index: 1
}

.jrnl_det .art_like_num {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: #3366B4;
    letter-spacing: -.01em
}

.jrnl_det .art_like_label {
    font-size: 13px;
    line-height: 1.7;
    color: #3a4a6b;
    letter-spacing: .04em
}

.jrnl_det .art_like_icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0
}

.jrnl_det .art_lead_img_wrap {
    flex: 1 1 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0 0 48px
}

.jrnl_det .art_lead_img_inner {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 18px;
    clip-path: polygon(0 0, 92% 0, 100% 8%, 100% 100%, 8% 100%, 0 92%);
    box-shadow: 0 12px 40px 0 #3366b424;
    animation: slide_from_right .38s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

.jrnl_det .art_lead_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.jrnl_det .art_lead_img_inner:hover .art_lead_img {
    transform: scale(1.04)
}

.jrnl_det .art_lead_dashed {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 2px;
    height: 60%;
    border-left: 2px dashed #9EB2DE;
    opacity: .35;
    pointer-events: none
}

@keyframes slide_from_right {
    from {
        opacity: 0;
        transform: translateX(48px)
    }

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

@keyframes slide_from_left {
    from {
        opacity: 0;
        transform: translateX(-48px)
    }

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

.jrnl_det .art_lead_txt {
    animation: slide_from_left .38s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

.jrnl_det .art_body_wrap {
    background: #EAEEF1;
    padding: 48px
}

.jrnl_det .art_body_grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 48px;
    align-items: start
}

.jrnl_det .art_body_main {
    background: #fff;
    border-radius: 18px;
    padding: 48px;
    box-shadow: 0 4px 25px 0 #3366b414
}

.jrnl_det .art_author_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1.5px solid #EAEEF1
}

.jrnl_det .art_author_name {
    font-size: 13px;
    line-height: 1.2;
    color: #3366B4;
    font-weight: 600;
    letter-spacing: .04em
}

.jrnl_det .art_author_dot {
    width: 4px;
    height: 4px;
    border-radius: 0;
    background: #9EB2DE;
    display: inline-block;
    transform: rotate(45deg);
    flex-shrink: 0
}

.jrnl_det .art_body_text p {
    font-size: 19px;
    line-height: 1.7;
    color: #1b2a4a;
    margin: 0 0 16px
}

.jrnl_det .art_body_text p:nth-child(odd) {
    max-width: 100%
}

.jrnl_det .art_body_text p:nth-child(even) {
    max-width: 88%
}

.jrnl_det .art_body_text h2 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #1b2a4a;
    margin: 48px 0 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.jrnl_det .art_body_text h2::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 0;
    background: linear-gradient(135deg, #3366B4 0%, #9EB2DE 100%);
    flex-shrink: 0;
    transform: rotate(45deg)
}

.jrnl_det .art_body_text h4 {
    font-size: 19px;
    line-height: 1.2;
    color: #3366B4;
    margin: 24px 0 8px;
    letter-spacing: .01em
}

.jrnl_det .art_body_text ul,
.jrnl_det .art_body_text ol {
    font-size: 19px;
    line-height: 1.7;
    color: #1b2a4a;
    margin: 0 0 16px;
    padding-left: 24px
}

.jrnl_det .art_body_text li {
    margin-bottom: 8px
}

.jrnl_det .art_body_text a {
    color: #3366B4;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    transition: text-decoration-thickness .25s ease-in-out
}

.jrnl_det .art_body_text a:hover {
    text-decoration-thickness: 3px
}

.jrnl_det .art_body_text code {
    display: block;
    background: #1b2a4a;
    color: #9EB2DE;
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: .04em;
    padding: 24px;
    border-radius: 10px;
    margin: 24px 0;
    overflow-x: auto;
    box-shadow: 0 3px 3px 0 #3366b40d;
    white-space: pre-wrap;
    word-break: break-word
}

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

.jrnl_det .art_sidebar_card {
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 4px 25px 0 #3366b414
}

.jrnl_det .art_sidebar_card_label {
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #3366B4;
    font-weight: 600;
    margin-bottom: 16px
}

.jrnl_det .art_print_btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    background: #3366B4;
    color: #fff;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: .06em;
    font-weight: 600;
    border: none;
    border-radius: 10px;
    padding: 16px 24px;
    cursor: pointer;
    transition: background .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 25px 0 #3366b414
}

.jrnl_det .art_print_btn:hover {
    background: #254e8a;
    box-shadow: 0 12px 40px 0 #3366b424
}

.jrnl_det .art_print_btn:focus {
    outline: 2px solid #9EB2DE;
    outline-offset: 3px
}

.jrnl_det .art_print_btn:active {
    background: #1b3d70
}

.jrnl_det .art_print_icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0
}

.jrnl_det .art_cat_badge {
    display: inline-block;
    background: linear-gradient(180deg, #3366B4 0%, #9EB2DE 100%);
    color: #fff;
    font-size: 13px;
    letter-spacing: .08em;
    line-height: 1.2;
    padding: 8px 16px;
    border-radius: 32px;
    font-weight: 600
}

.jrnl_det .art_sidebar_divider {
    height: 1.5px;
    background: #EAEEF1;
    border: none;
    margin: 8px 0
}

.jrnl_det .art_sidebar_info_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 0
}

.jrnl_det .art_sidebar_info_key {
    font-size: 13px;
    line-height: 1.2;
    color: #3a4a6b;
    letter-spacing: .04em
}

.jrnl_det .art_sidebar_info_val {
    font-size: 13px;
    line-height: 1.2;
    color: #1b2a4a;
    font-weight: 600;
    letter-spacing: .02em
}

@media (max-width: 900px) {
    .jrnl_det .art_lead {
        flex-direction: column;
        padding: 24px
    }

    .jrnl_det .art_lead_txt {
        padding: 0
    }

    .jrnl_det .art_lead_img_wrap {
        display: none
    }

    .jrnl_det .art_lead_dashed {
        display: none
    }

    .jrnl_det .art_lead_h1 {
        font-size: 34px
    }

    .jrnl_det .art_body_wrap {
        padding: 24px
    }

    .jrnl_det .art_body_grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .jrnl_det .art_body_main {
        padding: 24px
    }

    .jrnl_det .art_sidebar {
        position: static
    }

    .jrnl_det .art_body_text p:nth-child(even) {
        max-width: 100%
    }
}

.bld_det {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip;
    position: relative
}

.bld_det .bg_circ {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0
}

.bld_det .bg_circ.lg {
    width: 480px;
    height: 480px;
    background: #3366b40a;
    top: 80px;
    right: -120px;
    overflow: hidden
}

.bld_det .bg_circ.md {
    width: 280px;
    height: 280px;
    background: #9eb2de0d;
    top: 600px;
    left: -60px;
    overflow: hidden
}

.bld_det .bg_circ.sm {
    width: 160px;
    height: 160px;
    background: #3366b40a;
    bottom: 400px;
    right: 80px;
    overflow: hidden
}

.bld_det .post_top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    min-height: 520px;
    position: relative;
    z-index: 1
}

.bld_det .post_img_mosaic {
    position: relative;
    padding: 48px 24px 48px 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 8px;
    background: #EAEEF1
}

.bld_det .mosaic_cell {
    border-radius: 10px;
    overflow: hidden;
    position: relative
}

.bld_det .mosaic_cell.big {
    grid-column: 1 / 2;
    grid-row: 1 / 3
}

.bld_det .mosaic_cell img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 4/3;
    display: block;
    transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.bld_det .mosaic_cell:hover img {
    transform: scale(1.04)
}

.bld_det .mosaic_cell .diag_overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #3366b461 0%, transparent 65%);
    pointer-events: none
}

.bld_det .mosaic_pattern {
    position: absolute;
    bottom: 16px;
    left: 16px;
    display: grid;
    grid-template-columns: repeat(5, 8px);
    gap: 8px;
    pointer-events: none
}

.bld_det .pat_dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #3366b438
}

.bld_det .post_text_zone {
    padding: 48px 48px 48px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff;
    position: relative
}

.bld_det .post_cat_tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px
}

.bld_det .cat_pill {
    background: linear-gradient(180deg, #3366B4 0%, #3366b400 100%);
    background: #EAEEF1;
    color: #3366B4;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .06em;
    padding: 6px 16px;
    border-radius: 6px;
    line-height: 1.2
}

.bld_det .read_time {
    font-size: 13px;
    color: #3366B4;
    opacity: .7;
    line-height: 1.2;
    letter-spacing: .04em
}

.bld_det .post_heading {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1b2a47;
    margin: 0 0 16px;
    position: relative
}

.bld_det .post_heading::before {
    content: '';
    display: block;
    width: 32px;
    height: 4px;
    border-radius: 6px;
    background: linear-gradient(180deg, #3366B4 0%, #9EB2DE 100%);
    margin-bottom: 16px
}

.bld_det .post_sub {
    font-size: 19px;
    line-height: 1.7;
    color: #3d4f6e;
    margin: 0 0 24px;
    max-width: 480px
}

.bld_det .post_meta_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-top: 8px
}

.bld_det .pub_date {
    font-size: 13px;
    color: #3366B4;
    opacity: .65;
    letter-spacing: .05em;
    line-height: 1.2
}

.bld_det .art_tag_badge {
    font-size: 13px;
    color: #fff;
    background: #3366B4;
    border-radius: 6px;
    padding: 4px 16px;
    letter-spacing: .04em;
    line-height: 1.2
}

.bld_det .curve_div {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    margin-top: -2px
}

.bld_det .curve_div svg {
    display: block;
    width: 100%
}

.bld_det .art_body_wrap {
    background: #fff;
    position: relative;
    z-index: 1;
    padding: 48px 0
}

.bld_det .art_body_inner {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 72px 1fr 280px;
    gap: 48px;
    padding: 0 48px
}

.bld_det .art_sidebar_icons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding-top: 8px
}

.bld_det .sidebar_icon_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px
}

.bld_det .s_icon_shape {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #EAEEF1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .28s ease-in-out, box-shadow .28s ease-in-out
}

.bld_det .sidebar_icon_item:hover .s_icon_shape {
    background: #9EB2DE;
    box-shadow: 0 4px 25px 0 #3366b414
}

.bld_det .s_icon_shape svg {
    width: 20px;
    height: 20px
}

.bld_det .s_icon_label {
    font-size: 13px;
    color: #3366B4;
    opacity: .7;
    letter-spacing: .04em;
    line-height: 1.2;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    white-space: nowrap
}

.bld_det .art_text_col {
    min-width: 0
}

.bld_det .art_text_col p {
    font-size: 19px;
    line-height: 1.7;
    color: #2b3a58;
    margin: 0 0 16px
}

.bld_det .art_text_col p.narrow {
    max-width: 520px
}

.bld_det .art_text_col p.wide {
    max-width: 100%
}

.bld_det .art_text_col h2 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1b2a47;
    margin: 48px 0 16px;
    position: relative
}

.bld_det .art_text_col h2::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 0;
    background: linear-gradient(180deg, #3366B4 0%, #9EB2DE 100%);
    margin-right: 16px;
    vertical-align: middle;
    transform: rotate(45deg);
    flex-shrink: 0
}

.bld_det .art_text_col blockquote {
    border-top: 2px solid #9EB2DE;
    border-bottom: 2px solid #9EB2DE;
    margin: 24px 0;
    padding: 24px;
    background: #EAEEF1;
    border-radius: 10px
}

.bld_det .art_text_col blockquote p {
    font-size: 19px;
    line-height: 1.7;
    color: #3366B4;
    margin: 0
}

.bld_det .art_text_col cite {
    font-size: 13px;
    color: #3366B4;
    opacity: .7;
    letter-spacing: .05em;
    font-style: normal;
    display: block;
    margin-top: 8px
}

.bld_det .art_text_col ol {
    padding-left: 24px;
    margin: 16px 0
}

.bld_det .art_text_col ol li {
    font-size: 19px;
    line-height: 1.7;
    color: #2b3a58;
    margin-bottom: 8px
}

.bld_det .art_text_col table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 3px 3px 0 #3366b40d
}

.bld_det .art_text_col th {
    background: #3366B4;
    color: #fff;
    font-size: 13px;
    letter-spacing: .05em;
    padding: 16px;
    text-align: left;
    line-height: 1.2
}

.bld_det .art_text_col td {
    font-size: 13px;
    color: #2b3a58;
    padding: 16px;
    border-bottom: 1px solid #EAEEF1;
    line-height: 1.7
}

.bld_det .art_text_col tr:last-child td {
    border-bottom: none
}

.bld_det .art_text_col tbody tr:nth-child(even) {
    background: #f5f7fb
}

.bld_det .art_text_col tfoot td {
    background: #EAEEF1;
    font-weight: 600;
    font-size: 13px
}

.bld_det .art_text_col details {
    border-radius: 10px;
    border: 1px solid #EAEEF1;
    margin: 16px 0;
    overflow: hidden
}

.bld_det .art_text_col summary {
    font-size: 19px;
    line-height: 1.7;
    color: #3366B4;
    padding: 16px 24px;
    cursor: pointer;
    background: #EAEEF1;
    transition: background .25s ease-in-out;
    list-style: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.bld_det .art_text_col summary::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #3366B4;
    border-bottom: 2px solid #3366B4;
    transform: rotate(45deg);
    margin-left: auto;
    transition: transform .28s ease-in-out
}

.bld_det .art_text_col details[open] summary::after {
    transform: rotate(-135deg)
}

.bld_det .art_text_col details[open] summary {
    background: #9EB2DE;
    color: #fff
}

.bld_det .art_text_col details> :not(summary) {
    padding: 16px 24px;
    font-size: 19px;
    line-height: 1.7;
    color: #2b3a58
}

.bld_det .art_aside {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.bld_det .aside_card {
    background: #EAEEF1;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 3px 3px 0 #3366b40d;
    transition: box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1), transform .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.bld_det .aside_card:hover {
    box-shadow: 0 12px 40px 0 #3366b424;
    transform: translateY(-4px)
}

.bld_det .aside_card_head {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .07em;
    color: #3366B4;
    margin: 0 0 16px;
    line-height: 1.2;
    text-transform: uppercase
}

.bld_det .aside_card_body {
    font-size: 13px;
    color: #3d4f6e;
    line-height: 1.7;
    margin: 0
}

.bld_det .aside_link {
    display: inline-block;
    margin-top: 16px;
    font-size: 13px;
    color: #3366B4;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: text-decoration-thickness .26s ease-in-out;
    letter-spacing: .04em
}

.bld_det .aside_link:hover {
    text-decoration-thickness: 3px
}

.bld_det .curve_div2 {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0
}

.bld_det .react_scroll_wrap {
    background: #EAEEF1;
    position: relative;
    z-index: 1;
    padding: 48px
}

.bld_det .react_scroll_inner {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap
}

.bld_det .react_block {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.bld_det .react_label {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .07em;
    color: #3366B4;
    text-transform: uppercase;
    line-height: 1.2
}

.bld_det .react_row {
    display: flex;
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap
}

.bld_det .react_item {
    position: relative;
    display: inline-block
}

.bld_det .react_item input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none
}

.bld_det .react_item label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 16px 24px;
    border-radius: 18px;
    background: #fff;
    border: 2px solid transparent;
    box-shadow: 0 3px 3px 0 #3366b40d;
    transition: border-color .28s ease-in-out, box-shadow .28s ease-in-out, background .28s ease-in-out;
    min-width: 72px
}

.bld_det .react_item label:hover {
    border-color: #9EB2DE;
    box-shadow: 0 4px 25px 0 #3366b414
}

.bld_det .react_item input[type="radio"]:checked+label {
    border-color: #3366B4;
    background: linear-gradient(180deg, #3366b414 0%, #9eb2de14 100%);
    box-shadow: 0 4px 25px 0 #3366b414
}

.bld_det .react_emoji_svg {
    width: 32px;
    height: 32px
}

.bld_det .react_name {
    font-size: 13px;
    color: #3366B4;
    letter-spacing: .04em;
    line-height: 1.2
}

.bld_det .scroll_top_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px
}

.bld_det .scroll_top_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #3366B4;
    transition: transform .28s cubic-bezier(0.175, 0.885, 0.32, 1.275)
}

.bld_det .scroll_top_link:hover {
    transform: translateY(-6px)
}

.bld_det .scroll_top_circle {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #3366B4;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 25px 0 #3366b414;
    transition: box-shadow .28s ease-in-out, background .28s ease-in-out
}

.bld_det .scroll_top_link:hover .scroll_top_circle {
    background: #9EB2DE;
    box-shadow: 0 12px 40px 0 #3366b424
}

.bld_det .scroll_top_text {
    font-size: 13px;
    color: #3366B4;
    letter-spacing: .05em;
    line-height: 1.2
}

.bld_det .grad_text {
    background: linear-gradient(180deg, #3366B4 0%, #9EB2DE 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.bld_det .anim_bg_wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    border-radius: 0
}

.bld_det .anim_bg_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 140%;
    height: 100%;
    object-fit: cover;
    animation: bg_pan 22s linear infinite alternate;
    opacity: .13
}

@keyframes bg_pan {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateX(-28%)
    }
}

@keyframes btn_shake {

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

    20% {
        transform: translateX(-6px)
    }

    40% {
        transform: translateX(6px)
    }

    60% {
        transform: translateX(-4px)
    }

    80% {
        transform: translateX(4px)
    }
}

.bld_det .btn_shake_anim {
    animation: btn_shake .38s cubic-bezier(0.175, 0.885, 0.32, 1.275)
}

@media (max-width: 1024px) {
    .bld_det .post_top {
        grid-template-columns: 1fr
    }

    .bld_det .post_img_mosaic {
        display: none
    }

    .bld_det .post_text_zone {
        padding: 48px
    }

    .bld_det .art_body_inner {
        grid-template-columns: 1fr;
        padding: 0 24px
    }

    .bld_det .art_sidebar_icons {
        flex-direction: row;
        flex-wrap: wrap
    }

    .bld_det .s_icon_label {
        writing-mode: horizontal-tb;
        transform: none
    }

    .bld_det .art_aside {
        display: none
    }
}

@media (max-width: 640px) {
    .bld_det .post_text_zone {
        padding: 24px
    }

    .bld_det .post_heading {
        font-size: 34px
    }

    .bld_det .art_body_wrap {
        padding: 24px 0
    }

    .bld_det .react_scroll_wrap {
        padding: 24px
    }

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

.jrnl {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip
}

.jrnl .pg_strip {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    padding: 48px 48px 48px 0;
    background: #fff;
    position: relative
}

.jrnl .pg_strip_img {
    width: 120px;
    min-width: 120px;
    position: relative;
    overflow: hidden;
    border-radius: 0 10px 10px 0;
    flex-shrink: 0
}

.jrnl .pg_strip_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.35) brightness(0.92);
    aspect-ratio: 4/3
}

.jrnl .pg_strip_arrow {
    width: 2px;
    background: linear-gradient(to bottom, #3366B4, transparent);
    margin: 0 24px;
    flex-shrink: 0;
    border-radius: 0
}

.jrnl .pg_strip_text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px
}

.jrnl .pg_eyebrow {
    font-size: 13px;
    letter-spacing: .08em;
    color: #3366B4;
    text-transform: uppercase;
    line-height: 1.2
}

.jrnl .pg_h1 {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1b2a4a;
    margin: 0;
    background: linear-gradient(to bottom, #3366B4, #9EB2DE);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.jrnl .pg_manifesto {
    font-size: 19px;
    line-height: 1.7;
    color: #2c3e60;
    max-width: 560px;
    margin: 0
}

.jrnl .pg_manifesto_narrow {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5a7a;
    max-width: 340px;
    margin: 0
}

.jrnl .pg_deco_line {
    position: absolute;
    right: 48px;
    top: 24px;
    font-size: 220px;
    line-height: 1;
    color: #EAEEF1;
    font-weight: 900;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    letter-spacing: -.05em
}

.jrnl .pg_strip_text {
    position: relative;
    z-index: 1
}

.jrnl .divider_concave {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    height: 48px
}

.jrnl .divider_concave svg {
    display: block;
    width: 100%;
    height: 100%
}

.jrnl .cards_area {
    background: #EAEEF1;
    padding: 48px;
    position: relative
}

.jrnl .cards_area_inner {
    position: relative;
    z-index: 1
}

.jrnl .cards_heading_row {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 48px
}

.jrnl .cards_h2 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #1b2a4a;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 16px
}

.jrnl .cards_h2_shape {
    width: 18px;
    height: 18px;
    background: #3366B4;
    border-radius: 6px;
    display: inline-block;
    flex-shrink: 0;
    transform: rotate(15deg)
}

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

.jrnl .card_post {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 4px 25px 0 #3366b414;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), transform .28s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    animation: card_fadein .38s ease-in-out forwards
}

.jrnl .card_post:nth-child(1) {
    animation-delay: .08s
}

.jrnl .card_post:nth-child(2) {
    animation-delay: .18s
}

.jrnl .card_post:nth-child(3) {
    animation-delay: .28s
}

@keyframes card_fadein {
    from {
        opacity: 0;
        transform: translateY(16px)
    }

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

.jrnl .card_post:hover {
    box-shadow: 0 12px 40px 0 #3366b424;
    transform: translateY(-4px)
}

.jrnl .card_img_wrap {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    flex-shrink: 0
}

.jrnl .card_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.jrnl .card_post:hover .card_img_wrap img {
    transform: scale(1.04)
}

.jrnl .card_body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1
}

.jrnl .card_tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px
}

.jrnl .card_tag {
    font-size: 13px;
    line-height: 1.2;
    color: #3366B4;
    background: #EAEEF1;
    border-radius: 6px;
    padding: 4px 10px;
    letter-spacing: .04em
}

.jrnl .card_tag_theme {
    font-size: 13px;
    line-height: 1.2;
    color: #fff;
    background: #3366B4;
    border-radius: 6px;
    padding: 4px 10px;
    letter-spacing: .04em
}

.jrnl .card_h3 {
    font-size: 19px;
    line-height: 1.2;
    color: #1b2a4a;
    margin: 0;
    letter-spacing: -.01em
}

.jrnl .card_desc {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5a7a;
    margin: 0;
    flex: 1
}

.jrnl .card_meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 8px;
    border-top: 1px solid #EAEEF1
}

.jrnl .card_author {
    font-size: 13px;
    color: #4a5a7a;
    line-height: 1.2
}

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

.jrnl .card_readtime {
    font-size: 13px;
    color: #9EB2DE;
    line-height: 1.2
}

.jrnl .card_likes {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #3366B4;
    line-height: 1.2
}

.jrnl .card_likes_icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0
}

.jrnl .card_link {
    text-decoration: none;
    color: inherit;
    display: block
}

.jrnl .card_cta {
    display: inline-block;
    font-size: 13px;
    color: #3366B4;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: text-decoration-thickness .25s ease-in-out;
    line-height: 1.2
}

.jrnl .card_cta:hover {
    text-decoration-thickness: 3px
}

.jrnl .divider_wave {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    height: 40px;
    background: #EAEEF1
}

.jrnl .divider_wave svg {
    display: block;
    width: 100%;
    height: 100%
}

.jrnl .about_area {
    background: #fff;
    padding: 48px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 48px;
    align-items: start
}

.jrnl .about_main {
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.jrnl .about_h2 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #1b2a4a;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 16px
}

.jrnl .about_h2_shape {
    width: 10px;
    height: 32px;
    background: linear-gradient(to bottom, #3366B4, #9EB2DE);
    border-radius: 6px;
    flex-shrink: 0
}

.jrnl .about_para {
    font-size: 19px;
    line-height: 1.7;
    color: #2c3e60;
    margin: 0;
    max-width: 520px
}

.jrnl .about_para_narrow {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5a7a;
    margin: 0;
    max-width: 340px
}

.jrnl .about_sidebar {
    background: #EAEEF1;
    border-radius: 18px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 3px 3px 0 #3366b40d
}

.jrnl .about_sidebar_h4 {
    font-size: 19px;
    line-height: 1.2;
    color: #1b2a4a;
    margin: 0;
    letter-spacing: -.01em
}

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

.jrnl .about_sidebar_list li {
    font-size: 13px;
    line-height: 1.7;
    color: #2c3e60;
    display: flex;
    align-items: flex-start;
    gap: 8px
}

.jrnl .about_sidebar_dot {
    width: 6px;
    height: 6px;
    border-radius: 0;
    background: #3366B4;
    flex-shrink: 0;
    margin-top: 6px;
    transform: rotate(45deg)
}

.jrnl .about_sidebar_link {
    display: inline-block;
    margin-top: 8px;
    font-size: 13px;
    color: #fff;
    background: #3366B4;
    border-radius: 10px;
    padding: 8px 16px;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: .02em;
    transition: background .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 25px 0 #3366b414
}

.jrnl .about_sidebar_link:hover {
    background: #9EB2DE;
    box-shadow: 0 12px 40px 0 #3366b424
}

.jrnl .noise_area {
    position: relative;
    background: #3366B4;
    padding: 48px;
    overflow: hidden
}

.jrnl .noise_area::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");
    background-size: 180px 180px;
    pointer-events: none;
    z-index: 0
}

.jrnl .noise_inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px
}

.jrnl .noise_h2 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #fff;
    margin: 0
}

.jrnl .noise_para {
    font-size: 19px;
    line-height: 1.7;
    color: #EAEEF1;
    margin: 0;
    max-width: 480px
}

.jrnl .noise_para_narrow {
    font-size: 13px;
    line-height: 1.7;
    color: #9EB2DE;
    margin: 0;
    max-width: 360px
}

.jrnl .noise_btn {
    display: inline-block;
    font-size: 19px;
    color: #3366B4;
    background: #fff;
    border-radius: 10px;
    padding: 16px 48px;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: -.01em;
    box-shadow: 0 4px 25px 0 #3366b414;
    transition: background .35s cubic-bezier(0.4, 0, 0.2, 1), color .35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    cursor: pointer
}

.jrnl .noise_btn:hover {
    background: #EAEEF1;
    color: #1b2a4a;
    box-shadow: 0 12px 40px 0 #3366b424
}

@media (max-width: 900px) {
    .jrnl .pg_strip {
        flex-direction: column;
        padding: 48px 24px
    }

    .jrnl .pg_strip_img {
        display: none
    }

    .jrnl .pg_strip_arrow {
        display: none
    }

    .jrnl .pg_h1 {
        font-size: 34px
    }

    .jrnl .cards_grid {
        grid-template-columns: 1fr
    }

    .jrnl .about_area {
        grid-template-columns: 1fr;
        padding: 48px 24px
    }

    .jrnl .about_main {
        grid-column: span 1
    }

    .jrnl .cards_area {
        padding: 48px 24px
    }

    .jrnl .noise_area {
        padding: 48px 24px
    }

    .jrnl .pg_deco_line {
        display: none
    }
}

@media (min-width: 901px) and (max-width: 1200px) {
    .jrnl .cards_grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

.subsc_pg {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip;
    position: relative
}

.subsc_pg .art_lead {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    min-height: 560px;
    background: #fff;
    position: relative
}

.subsc_pg .art_lead_img_col {
    flex: 0 0 50%;
    position: relative;
    overflow: hidden
}

.subsc_pg .art_lead_img_col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 4/3;
    display: block
}

.subsc_pg .art_lead_img_col::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 0% 0%, #3366b447 0%, transparent 60%), radial-gradient(ellipse at 100% 100%, #3366b438 0%, transparent 55%), linear-gradient(to bottom, #141e3c2e 0%, transparent 40%, #141e3c47 100%);
    pointer-events: none
}

.subsc_pg .art_lead_img_col .grain_overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .13;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/rect%3E%3C/svg%3E");
    background-size: 200px 200px
}

.subsc_pg .art_lead_stripe {
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(to bottom, #3366B4, transparent);
    z-index: 2
}

.subsc_pg .art_lead_txt_col {
    flex: 0 0 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px;
    position: relative;
    background: #fff
}

.subsc_pg .art_lead_txt_col::before {
    content: "";
    position: absolute;
    top: 48px;
    left: 48px;
    width: 10px;
    height: 10px;
    border-radius: 32px;
    background: #9EB2DE;
    pointer-events: none
}

.subsc_pg .art_lead_eyebrow {
    font-size: 13px;
    letter-spacing: .12em;
    color: #3366B4;
    text-transform: uppercase;
    margin-bottom: 16px;
    margin-top: 24px;
    line-height: 1.2
}

.subsc_pg .art_lead_h1 {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.02em;
    margin: 0 0 24px;
    color: #1b2a4a;
    background: linear-gradient(to bottom, #3366B4, #9EB2DE);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.subsc_pg .art_lead_desc {
    font-size: 19px;
    line-height: 1.7;
    color: #2c3e6b;
    max-width: 420px;
    margin: 0 0 24px
}

.subsc_pg .art_lead_desc.narrow {
    max-width: 320px;
    font-size: 13px;
    color: #4a5a80;
    line-height: 1.7;
    margin: 0
}

.subsc_pg .art_lead_curl {
    position: absolute;
    bottom: 24px;
    right: 24px;
    width: 64px;
    height: 64px;
    opacity: .09;
    pointer-events: none
}

@media (max-width: 768px) {
    .subsc_pg .art_lead {
        flex-direction: column
    }

    .subsc_pg .art_lead_img_col {
        display: none
    }

    .subsc_pg .art_lead_txt_col {
        padding: 48px 24px
    }

    .subsc_pg .art_lead_h1 {
        font-size: 34px
    }
}

.subsc_pg .why_blk {
    background: #EAEEF1;
    padding: 48px;
    position: relative;
    overflow: hidden
}

.subsc_pg .why_blk::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 5% 10%, #3366b412 0%, transparent 50%), radial-gradient(ellipse at 95% 90%, #9eb2de17 0%, transparent 50%);
    pointer-events: none;
    animation: bg_shift 6s ease-in-out infinite alternate
}

@keyframes bg_shift {
    0% {
        background: radial-gradient(ellipse at 5% 10%, #3366b412 0%, transparent 50%), radial-gradient(ellipse at 95% 90%, #9eb2de17 0%, transparent 50%)
    }

    100% {
        background: radial-gradient(ellipse at 10% 20%, #9eb2de1a 0%, transparent 55%), radial-gradient(ellipse at 90% 80%, #3366b414 0%, transparent 55%)
    }
}

.subsc_pg .why_blk_inner {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.subsc_pg .why_col_left {
    flex: 0 0 calc(50% - 24px)
}

.subsc_pg .why_col_right {
    flex: 0 0 calc(50% - 24px);
    display: flex;
    flex-direction: column;
    gap: 24px
}

.subsc_pg .why_shape {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 0;
    background: linear-gradient(to bottom, #3366B4, #9EB2DE);
    margin-bottom: 16px;
    transform: rotate(45deg)
}

.subsc_pg .why_h2 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #1b2a4a;
    margin: 0 0 24px
}

.subsc_pg .why_lead_p {
    font-size: 19px;
    line-height: 1.7;
    color: #2c3e6b;
    max-width: 480px;
    margin: 0 0 16px
}

.subsc_pg .why_sub_p {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5a80;
    max-width: 360px;
    margin: 0
}

.subsc_pg .why_card {
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 4px 25px 0 #3366b414;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), transform .28s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: default
}

.subsc_pg .why_card:hover {
    box-shadow: 0 12px 40px 0 #3366b424;
    transform: translateY(-2px)
}

.subsc_pg .why_card:active {
    animation: card_pop .35s cubic-bezier(0.34, 1.56, 0.64, 1)
}

@keyframes card_pop {
    0% {
        transform: scale(1)
    }

    40% {
        transform: scale(1.04)
    }

    100% {
        transform: scale(1)
    }
}

.subsc_pg .why_card_dot {
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    border-radius: 32px;
    background: #3366B4;
    margin-top: 6px
}

.subsc_pg .why_card_h {
    font-size: 19px;
    line-height: 1.2;
    color: #1b2a4a;
    margin: 0 0 8px
}

.subsc_pg .why_card_p {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5a80;
    margin: 0
}

.subsc_pg .why_blk_curl {
    position: absolute;
    top: 16px;
    right: 24px;
    width: 80px;
    height: 80px;
    opacity: .07;
    pointer-events: none
}

@media (max-width: 768px) {
    .subsc_pg .why_blk {
        padding: 48px 16px
    }

    .subsc_pg .why_blk_inner {
        flex-direction: column;
        gap: 24px
    }

    .subsc_pg .why_col_left,
    .subsc_pg .why_col_right {
        flex: 0 0 100%
    }
}

.abt-auth {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip
}

.abt-auth .split-scr {
    display: flex;
    flex-direction: row;
    min-height: 520px;
    position: relative
}

.abt-auth .split-left {
    background: #3366B4;
    flex: 1 1 52%;
    padding: 48px 48px 72px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    overflow: hidden
}

.abt-auth .split-left .blur-spot-a {
    position: absolute;
    top: -48px;
    left: -48px;
    width: 320px;
    height: 320px;
    background: #9EB2DE;
    opacity: .18;
    border-radius: 50%;
    filter: blur(72px);
    pointer-events: none
}

.abt-auth .split-left .blur-spot-b {
    position: absolute;
    bottom: 24px;
    right: 0;
    width: 200px;
    height: 200px;
    background: #9EB2DE;
    opacity: .12;
    border-radius: 50%;
    filter: blur(56px);
    pointer-events: none
}

.abt-auth .split-left .auth-label {
    font-size: 13px;
    letter-spacing: .12em;
    color: #9EB2DE;
    line-height: 1.2;
    margin-bottom: 16px;
    text-transform: uppercase
}

.abt-auth .split-left .auth-heading {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #fff;
    margin: 0 0 24px
}

.abt-auth .split-left .auth-heading .grad-text {
    background: linear-gradient(to bottom, #fff, #9EB2DE);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.abt-auth .split-left .auth-sub {
    font-size: 19px;
    line-height: 1.7;
    color: #EAEEF1;
    max-width: 420px;
    margin: 0
}

.abt-auth .split-right {
    flex: 1 1 48%;
    position: relative;
    overflow: hidden
}

.abt-auth .split-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-auth .split-right:hover img {
    transform: scale(1.04)
}

.abt-auth .split-right .img-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #3366B4 0%, transparent 60%);
    pointer-events: none
}

.abt-auth .profile-strip {
    background: linear-gradient(to right, #EAEEF1 60%, #fff 100%);
    padding: 48px;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.abt-auth .profile-strip .port-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 0 0 auto
}

.abt-auth .profile-strip .port-img-wrap {
    width: 160px;
    height: 200px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 25px 0 #3366b414;
    flex-shrink: 0
}

.abt-auth .profile-strip .port-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-auth .profile-strip .port-img-wrap:hover img {
    transform: scale(1.05)
}

.abt-auth .profile-strip .port-name {
    font-size: 19px;
    line-height: 1.2;
    color: #1d2d50;
    font-weight: 700;
    margin: 0;
    letter-spacing: .01em
}

.abt-auth .profile-strip .port-role {
    font-size: 13px;
    line-height: 1.7;
    color: #3366B4;
    letter-spacing: .08em;
    margin: 0;
    text-transform: uppercase
}

.abt-auth .profile-strip .port-text-col {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abt-auth .profile-strip .sec-heading {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #1d2d50;
    margin: 0 0 8px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.abt-auth .profile-strip .sec-heading .shape-anchor {
    width: 10px;
    height: 10px;
    border-radius: 0;
    background: #3366B4;
    flex-shrink: 0;
    transform: rotate(45deg);
    display: inline-block
}

.abt-auth .profile-strip .bio-wide {
    font-size: 19px;
    line-height: 1.7;
    color: #2c3e6b;
    max-width: 640px;
    margin: 0
}

.abt-auth .profile-strip .bio-narrow {
    font-size: 19px;
    line-height: 1.7;
    color: #2c3e6b;
    max-width: 440px;
    margin: 0
}

.abt-auth .profile-strip .bio-wide a,
.abt-auth .profile-strip .bio-narrow a {
    color: #3366B4;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: text-decoration-thickness .28s ease-in-out
}

.abt-auth .profile-strip .bio-wide a:hover,
.abt-auth .profile-strip .bio-narrow a:hover {
    text-decoration-thickness: 3px
}

.abt-auth .metrics-band {
    background: #fff;
    padding: 48px;
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: stretch
}

.abt-auth .metrics-band .guest-col {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.abt-auth .metrics-band .ring-row {
    display: flex;
    flex-direction: row;
    gap: 24px;
    flex-wrap: wrap
}

.abt-auth .metrics-band .ring-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto
}

.abt-auth .metrics-band .ring-svg {
    width: 88px;
    height: 88px
}

.abt-auth .ring-bg {
    fill: none;
    stroke: #EAEEF1;
    stroke-width: 7
}

.abt-auth .ring-fill {
    fill: none;
    stroke: #3366B4;
    stroke-width: 7;
    stroke-linecap: round;
    stroke-dasharray: 220;
    stroke-dashoffset: 220;
    transform: rotate(-90deg);
    transform-origin: 44px 44px;
    transition: stroke-dashoffset .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-auth .ring-fill.secondary {
    stroke: #9EB2DE
}

.abt-auth .ring-num {
    font-size: 19px;
    font-weight: 700;
    fill: #1d2d50
}

.abt-auth .ring-label {
    font-size: 13px;
    line-height: 1.7;
    color: #3366B4;
    letter-spacing: .07em;
    text-align: center;
    max-width: 88px
}

.abt-auth .metrics-band .guest-divider {
    width: 1px;
    background: #EAEEF1;
    flex-shrink: 0;
    align-self: stretch
}

.abt-auth .metrics-band .guest-port-col {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-start
}

.abt-auth .metrics-band .guest-card {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    background: #EAEEF1;
    border-radius: 10px;
    padding: 16px;
    box-shadow: 0 3px 3px 0 #3366b40d;
    transition: box-shadow .28s ease-in-out, transform .28s ease-in-out;
    min-width: 260px
}

.abt-auth .metrics-band .guest-card:hover {
    box-shadow: 0 4px 25px 0 #3366b414;
    transform: translateY(-2px)
}

.abt-auth .metrics-band .guest-port-thumb {
    width: 56px;
    height: 70px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0
}

.abt-auth .metrics-band .guest-port-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.abt-auth .metrics-band .guest-info {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.abt-auth .metrics-band .guest-name {
    font-size: 13px;
    font-weight: 700;
    color: #1d2d50;
    letter-spacing: .04em;
    margin: 0
}

.abt-auth .metrics-band .guest-desc {
    font-size: 13px;
    line-height: 1.7;
    color: #3366B4;
    margin: 0
}

.abt-auth .metrics-band .band-text-col {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center
}

.abt-auth .metrics-band .band-heading {
    font-size: 34px;
    line-height: 1.2;
    color: #1d2d50;
    letter-spacing: -.01em;
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.abt-auth .metrics-band .band-heading .tri-anchor {
    width: 0;
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 16px solid #9EB2DE;
    flex-shrink: 0;
    display: inline-block
}

.abt-auth .metrics-band .band-para-wide {
    font-size: 19px;
    line-height: 1.7;
    color: #2c3e6b;
    max-width: 560px;
    margin: 0
}

.abt-auth .metrics-band .band-para-narrow {
    font-size: 19px;
    line-height: 1.7;
    color: #2c3e6b;
    max-width: 380px;
    margin: 0
}

.abt-auth .metrics-band .band-para-narrow a {
    color: #3366B4;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: text-decoration-thickness .32s ease-in-out
}

.abt-auth .metrics-band .band-para-narrow a:hover {
    text-decoration-thickness: 3px
}

.abt-auth .metrics-band .journal-btn {
    display: inline-block;
    background: #3366B4;
    color: #fff;
    font-size: 19px;
    line-height: 1.2;
    letter-spacing: .02em;
    padding: 16px 24px;
    border-radius: 10px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 25px 0 #3366b414;
    transition: background .28s ease-in-out, box-shadow .28s ease-in-out, transform .25s cubic-bezier(0.4, 0, 0.2, 1);
    align-self: flex-start;
    margin-top: 8px
}

.abt-auth .metrics-band .journal-btn:hover {
    background: #2251a0;
    box-shadow: 0 12px 40px 0 #3366b424;
    transform: translateY(-2px)
}

.abt-auth .metrics-band .journal-btn:focus {
    outline: 3px solid #9EB2DE;
    outline-offset: 3px
}

.abt-auth .metrics-band .journal-btn:active {
    transform: translateY(0)
}

@media (max-width: 900px) {
    .abt-auth .split-scr {
        flex-direction: column
    }

    .abt-auth .split-right {
        display: none
    }

    .abt-auth .split-left {
        flex: none;
        padding: 48px 24px
    }

    .abt-auth .split-left .auth-heading {
        font-size: 34px
    }

    .abt-auth .profile-strip {
        flex-direction: column;
        padding: 48px 24px
    }

    .abt-auth .metrics-band {
        flex-direction: column;
        padding: 48px 24px
    }

    .abt-auth .metrics-band .guest-divider {
        width: 100%;
        height: 1px
    }

    .abt-auth .metrics-band .ring-row {
        justify-content: flex-start
    }
}

@media (max-width: 600px) {
    .abt-auth .split-left .auth-heading {
        font-size: 34px
    }

    .abt-auth .metrics-band .guest-card {
        min-width: 0;
        width: 100%
    }
}

.frst {
    max-width: 1440px;
    margin: 0 auto;
    overflow: hidden
}

.frst .pg_title {
    padding: 48px;
    position: relative;
    background: linear-gradient(to bottom, #3366B4, transparent);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px
}

.frst .pg_title_left {
    flex: 1 1 55%;
    padding-right: 48px
}

.frst .pg_title_right {
    flex: 0 0 40%;
    position: relative
}

.frst .pg_title_blur_a {
    position: absolute;
    top: -24px;
    left: -24px;
    width: 260px;
    height: 260px;
    background: #3366b42e;
    border-radius: 50%;
    filter: blur(60px);
    pointer-events: none;
    z-index: 0
}

.frst .pg_title_blur_b {
    position: absolute;
    bottom: 16px;
    right: -16px;
    width: 180px;
    height: 180px;
    background: #9eb2de24;
    border-radius: 50%;
    filter: blur(48px);
    pointer-events: none;
    z-index: 0
}

.frst .pg_title_label {
    display: inline-block;
    background: #3366b41f;
    color: #3366B4;
    border: 1px solid #3366b438;
    border-radius: 32px;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: .06em;
    padding: 8px 16px;
    margin-bottom: 24px
}

.frst .pg_title_h1 {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #fff;
    margin: 0 0 24px;
    max-width: 640px
}

.frst .pg_title_h1 .grad_txt {
    background: linear-gradient(to bottom, #3366B4, #9EB2DE);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.frst .pg_title_desc {
    font-size: 19px;
    line-height: 1.7;
    color: #EAEEF1;
    max-width: 480px;
    margin: 0 0 24px
}

.frst .pg_title_cta {
    display: inline-block;
    background: #3366B4;
    color: #fff;
    font-size: 19px;
    line-height: 1.2;
    padding: 16px 48px;
    border-radius: 10px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 25px 0 #3366b414
}

.frst .pg_title_cta:hover {
    background: #254e8a;
    box-shadow: 0 12px 40px 0 #3366b424
}

.frst .pg_title_cta:focus {
    outline: 2px solid #9EB2DE;
    outline-offset: 3px
}

.frst .pg_title_img_wrap {
    position: relative;
    z-index: 1;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 12px 40px 0 #3366b424;
    transition: box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .pg_title_img_wrap:hover {
    box-shadow: 0 12px 40px 0 #3366b438
}

.frst .pg_title_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: brightness(0.92) saturate(1.08)
}

.frst .wave_div_a {
    display: block;
    line-height: 0;
    margin-bottom: -2px
}

.frst .blog_posts_area {
    background: #fff;
    padding: 48px
}

.frst .area_label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px
}

.frst .area_label_pill {
    display: inline-block;
    background: #EAEEF1;
    color: #3366B4;
    border-radius: 32px;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: .05em;
    padding: 8px 16px
}

.frst .area_h2 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #1b2d4f;
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    gap: 16px
}

.frst .area_h2_shape {
    display: inline-block;
    width: 10px;
    height: 10px;
    background: #3366B4;
    border-radius: 0;
    transform: rotate(45deg);
    flex-shrink: 0
}

.frst .blog_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    margin-top: 24px
}

.frst .blog_card {
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 3px 3px 0 #3366b40d;
    border: 1px solid #EAEEF1;
    display: flex;
    flex-direction: column;
    transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), transform .28s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden
}

.frst .blog_card:hover {
    box-shadow: 0 12px 40px 0 #3366b424;
    transform: translateY(-4px)
}

.frst .blog_card_img {
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 18px 18px 0 0
}

.frst .blog_card_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .blog_card:hover .blog_card_img img {
    transform: scale(1.04)
}

.frst .blog_card_body {
    padding: 16px 24px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 8px
}

.frst .blog_card_tag {
    display: inline-block;
    background: #EAEEF1;
    color: #3366B4;
    border-radius: 6px;
    font-size: 13px;
    line-height: 1.2;
    padding: 8px 16px;
    letter-spacing: .04em;
    align-self: flex-start
}

.frst .blog_card_h3 {
    font-size: 19px;
    line-height: 1.2;
    color: #1b2d4f;
    margin: 0;
    letter-spacing: -.01em
}

.frst .blog_card_sub {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5e7a;
    margin: 0
}

.frst .blog_card_desc {
    font-size: 13px;
    line-height: 1.7;
    color: #5a6e88;
    margin: 0;
    flex: 1
}

.frst .blog_card_meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 8px
}

.frst .blog_card_read {
    font-size: 13px;
    color: #9EB2DE;
    letter-spacing: .03em
}

.frst .blog_card_link {
    display: inline-block;
    font-size: 13px;
    color: #3366B4;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: text-decoration-thickness .25s ease-in-out;
    margin-top: auto
}

.frst .blog_card_link:hover {
    text-decoration-thickness: 3px
}

.frst .wave_div_b {
    display: block;
    line-height: 0
}

.frst .journal_area {
    background: #EAEEF1;
    padding: 48px
}

.frst .journal_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 24px
}

.frst .journal_card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 3px 3px 0 #3366b40d;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    transition: box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .journal_card:hover {
    box-shadow: 0 12px 40px 0 #3366b424
}

.frst .journal_card_img {
    flex: 0 0 160px;
    aspect-ratio: 4/3;
    overflow: hidden
}

.frst .journal_card_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .journal_card:hover .journal_card_img img {
    transform: scale(1.05)
}

.frst .journal_card_body {
    padding: 16px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1
}

.frst .journal_card_tag {
    display: inline-block;
    background: #3366b414;
    color: #3366B4;
    border-radius: 6px;
    font-size: 13px;
    line-height: 1.2;
    padding: 8px 16px;
    align-self: flex-start
}

.frst .journal_card_h4 {
    font-size: 19px;
    line-height: 1.2;
    color: #1b2d4f;
    margin: 0
}

.frst .journal_card_desc {
    font-size: 13px;
    line-height: 1.7;
    color: #5a6e88;
    margin: 0;
    flex: 1
}

.frst .journal_card_foot {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.frst .journal_card_author {
    font-size: 13px;
    color: #4a5e7a
}

.frst .journal_card_likes {
    font-size: 13px;
    color: #9EB2DE;
    display: flex;
    align-items: center;
    gap: 8px
}

.frst .journal_card_likes_icon {
    width: 14px;
    height: 14px;
    display: inline-block
}

.frst .journal_card_link {
    font-size: 13px;
    color: #3366B4;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: text-decoration-thickness .25s ease-in-out
}

.frst .journal_card_link:hover {
    text-decoration-thickness: 3px
}

.frst .journal_card_read {
    font-size: 13px;
    color: #9EB2DE
}

.frst .wave_div_c {
    display: block;
    line-height: 0
}

.frst .author_area {
    background: #fff;
    padding: 48px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px
}

.frst .author_portrait_wrap {
    flex: 0 0 220px;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4/5;
    box-shadow: 0 4px 25px 0 #3366b414;
    transition: box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .author_portrait_wrap:hover {
    box-shadow: 0 12px 40px 0 #3366b424
}

.frst .author_portrait_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.frst .author_text {
    flex: 1;
    max-width: 600px
}

.frst .author_text_h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #1b2d4f;
    margin: 0 0 16px;
    letter-spacing: -.01em;
    display: flex;
    align-items: center;
    gap: 16px
}

.frst .author_text_h2_shape {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: linear-gradient(to bottom, #3366B4, #9EB2DE);
    flex-shrink: 0
}

.frst .author_p wide {
    font-size: 19px;
    line-height: 1.7;
    color: #2a3d58;
    display: block;
    margin-bottom: 16px
}

.frst .author_p {
    font-size: 19px;
    line-height: 1.7;
    color: #2a3d58;
    margin: 0 0 16px
}

.frst .author_p.narrow {
    max-width: 420px;
    font-size: 13px;
    line-height: 1.7;
    color: #4a5e7a
}

.frst .author_link {
    display: inline-block;
    color: #3366B4;
    font-size: 13px;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: text-decoration-thickness .25s ease-in-out
}

.frst .author_link:hover {
    text-decoration-thickness: 3px
}

.frst .wave_div_d {
    display: block;
    line-height: 0
}

.frst .archive_area {
    background: #EAEEF1;
    padding: 48px;
    position: relative
}

.frst .archive_dashed_bg {
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(0deg, #3366b40f 0px, #3366b40f 1px, transparent 1px, transparent 32px), repeating-linear-gradient(90deg, #3366b40f 0px, #3366b40f 1px, transparent 1px, transparent 32px);
    pointer-events: none
}

.frst .archive_inner {
    position: relative;
    z-index: 1
}

.frst .archive_h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #1b2d4f;
    margin: 0 0 8px;
    letter-spacing: -.01em;
    display: flex;
    align-items: center;
    gap: 16px
}

.frst .archive_h2_shape {
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 14px solid #3366B4;
    flex-shrink: 0
}

.frst .archive_desc {
    font-size: 19px;
    line-height: 1.7;
    color: #2a3d58;
    max-width: 560px;
    margin: 0 0 24px
}

.frst .archive_stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 24px
}

.frst .archive_stat {
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 3px 3px 0 #3366b40d;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.frst .archive_stat_num {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    background: linear-gradient(to bottom, #3366B4, #9EB2DE);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.frst .archive_stat_label {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5e7a
}

.frst .wave_div_e {
    display: block;
    line-height: 0
}

.frst .territories_area {
    background: #fff;
    padding: 48px
}

.frst .territories_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 24px
}

.frst .territories_grid_row2 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    margin-top: 24px
}

.frst .terr_card {
    border-radius: 18px;
    padding: 24px;
    background: #EAEEF1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: background .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .terr_card:hover {
    background: #dce4f0;
    box-shadow: 0 4px 25px 0 #3366b414
}

.frst .terr_card_icon {
    width: 32px;
    height: 32px;
    margin-bottom: 8px
}

.frst .terr_card_h4 {
    font-size: 19px;
    line-height: 1.2;
    color: #1b2d4f;
    margin: 0
}

.frst .terr_card_desc {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5e7a;
    margin: 0
}

.frst .terr_card_tag {
    display: inline-block;
    background: #3366b41a;
    color: #3366B4;
    border-radius: 32px;
    font-size: 13px;
    padding: 8px 16px;
    align-self: flex-start;
    margin-top: 8px
}

.frst .wave_div_f {
    display: block;
    line-height: 0
}

.frst .adjacent_area {
    background: #1b2d4f;
    padding: 48px;
    position: relative
}

.frst .adjacent_curl {
    position: absolute;
    top: 24px;
    right: 48px;
    width: 80px;
    height: 80px;
    opacity: .08;
    pointer-events: none
}

.frst .adjacent_h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 8px;
    letter-spacing: -.01em;
    display: flex;
    align-items: center;
    gap: 16px
}

.frst .adjacent_h2_shape {
    display: inline-block;
    width: 14px;
    height: 4px;
    background: #9EB2DE;
    border-radius: 6px;
    flex-shrink: 0
}

.frst .adjacent_desc {
    font-size: 19px;
    line-height: 1.7;
    color: #9EB2DE;
    max-width: 520px;
    margin: 0 0 24px
}

.frst .adjacent_list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0
}

.frst .adjacent_list li {
    background: #9eb2de1f;
    border: 1px solid #9eb2de33;
    border-radius: 10px;
    padding: 16px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 200px;
    flex: 1;
    transition: background .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .adjacent_list li:hover {
    background: #9eb2de33
}

.frst .adjacent_topic_name {
    font-size: 19px;
    line-height: 1.2;
    color: #fff
}

.frst .adjacent_topic_desc {
    font-size: 13px;
    line-height: 1.7;
    color: #9EB2DE
}

.frst .wave_div_g {
    display: block;
    line-height: 0
}

.frst .habit_area {
    background: #fff;
    padding: 48px;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.frst .habit_left {
    flex: 1
}

.frst .habit_h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #1b2d4f;
    margin: 0 0 16px;
    letter-spacing: -.01em;
    display: flex;
    align-items: center;
    gap: 16px
}

.frst .habit_h2_shape {
    display: inline-block;
    width: 10px;
    height: 10px;
    background: #3366B4;
    border-radius: 0;
    flex-shrink: 0
}

.frst .habit_p {
    font-size: 19px;
    line-height: 1.7;
    color: #2a3d58;
    margin: 0 0 16px;
    max-width: 480px
}

.frst .habit_p.narrow {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5e7a;
    max-width: 380px
}

.frst .habit_right {
    flex: 0 0 400px
}

.frst .habit_steps {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative
}

.frst .habit_steps_line {
    position: absolute;
    left: 19px;
    top: 24px;
    bottom: 24px;
    width: 2px;
    background: linear-gradient(to bottom, #3366B4, transparent);
    border-radius: 6px
}

.frst .habit_steps_line_draw {
    width: 100%;
    height: 0;
    background: linear-gradient(to bottom, #3366B4, #9EB2DE);
    border-radius: 6px;
    animation: line_draw_anim 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) .3s forwards
}

@keyframes line_draw_anim {
    from {
        height: 0
    }

    to {
        height: 100%
    }
}

.frst .habit_step {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    position: relative;
    z-index: 1
}

.frst .habit_step_num {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #3366B4;
    color: #fff;
    font-size: 13px;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 3px 0 #3366b40d
}

.frst .habit_step_body {
    flex: 1;
    padding-top: 8px
}

.frst .habit_step_title {
    font-size: 19px;
    line-height: 1.2;
    color: #1b2d4f;
    margin: 0 0 8px
}

.frst .habit_step_desc {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5e7a;
    margin: 0 0 8px
}

.frst .habit_step_time {
    display: inline-block;
    background: #EAEEF1;
    color: #3366B4;
    border-radius: 32px;
    font-size: 13px;
    line-height: 1.2;
    padding: 8px 16px
}

.frst .wave_div_h {
    display: block;
    line-height: 0
}

.frst .picks_area {
    background: #EAEEF1;
    padding: 48px
}

.frst .picks_h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #1b2d4f;
    margin: 0 0 8px;
    letter-spacing: -.01em;
    display: flex;
    align-items: center;
    gap: 16px
}

.frst .picks_h2_shape {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 0;
    border: 2px solid #3366B4;
    flex-shrink: 0
}

.frst .picks_desc {
    font-size: 19px;
    line-height: 1.7;
    color: #2a3d58;
    max-width: 520px;
    margin: 0 0 24px
}

.frst .picks_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px
}

.frst .pick_card {
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 3px 3px 0 #3366b40d;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1), transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .pick_card:hover {
    box-shadow: 0 12px 40px 0 #3366b424;
    transform: translateY(-3px)
}

.frst .pick_card_num {
    font-size: 34px;
    line-height: 1.2;
    background: linear-gradient(to bottom, #3366B4, #9EB2DE);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -.02em
}

.frst .pick_card_h4 {
    font-size: 19px;
    line-height: 1.2;
    color: #1b2d4f;
    margin: 0
}

.frst .pick_card_why {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5e7a;
    margin: 0;
    flex: 1
}

.frst .pick_card_link {
    display: inline-block;
    color: #3366B4;
    font-size: 13px;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: text-decoration-thickness .25s ease-in-out;
    align-self: flex-start;
    margin-top: 8px
}

.frst .pick_card_link:hover {
    text-decoration-thickness: 3px
}

.frst .subscribe_area {
    background: #3366B4;
    padding: 48px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px
}

.frst .subscribe_text {
    flex: 1
}

.frst .subscribe_h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 16px;
    letter-spacing: -.01em
}

.frst .subscribe_p {
    font-size: 19px;
    line-height: 1.7;
    color: #EAEEF1;
    margin: 0;
    max-width: 460px
}

.frst .subscribe_form_wrap {
    flex: 0 0 360px
}

.frst .subscribe_form {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.frst .subscribe_input {
    width: 100%;
    padding: 16px;
    border-radius: 10px;
    border: 1px solid #ffffff40;
    background: #ffffff1a;
    color: #fff;
    font-size: 13px;
    line-height: 1.7;
    outline: none;
    box-shadow: inset 0 2px 6px 0 #3366b41f;
    transition: border-color .25s ease-in-out, background .25s ease-in-out;
    box-sizing: border-box
}

.frst .subscribe_input::placeholder {
    color: #9eb2deb3
}

.frst .subscribe_input:focus {
    border-color: #9EB2DE;
    background: #ffffff2e
}

.frst .subscribe_btn {
    width: 100%;
    background: #fff;
    color: #3366B4;
    font-size: 19px;
    line-height: 1.2;
    padding: 16px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    font-weight: 700;
    transition: background .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 25px 0 #3366b414
}

.frst .subscribe_btn:hover {
    background: #EAEEF1;
    box-shadow: 0 12px 40px 0 #3366b424
}

.frst .subscribe_btn:focus {
    outline: 2px solid #9EB2DE;
    outline-offset: 3px
}

.frst .subscribe_btn.shake {
    animation: btn_shake .4s cubic-bezier(0.34, 1.56, 0.64, 1)
}

@keyframes btn_shake {

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

    20% {
        transform: translateX(-6px)
    }

    40% {
        transform: translateX(6px)
    }

    60% {
        transform: translateX(-4px)
    }

    80% {
        transform: translateX(4px)
    }
}

.frst .pulse_accent {
    animation: pulse_key 2.4s ease-in-out infinite
}

@keyframes pulse_key {

    0%,
    100% {
        box-shadow: 0 3px 3px 0 #3366b40d
    }

    50% {
        box-shadow: 0 4px 25px 0 #3366b438
    }
}

@media (max-width: 1024px) {
    .frst .pg_title {
        flex-direction: column;
        padding: 48px 24px
    }

    .frst .pg_title_right {
        display: none
    }

    .frst .blog_grid {
        grid-template-columns: 1fr 1fr
    }

    .frst .journal_grid {
        grid-template-columns: 1fr
    }

    .frst .archive_stats {
        grid-template-columns: 1fr 1fr
    }

    .frst .territories_grid {
        grid-template-columns: 1fr
    }

    .frst .territories_grid_row2 {
        grid-template-columns: 1fr 1fr
    }

    .frst .habit_area {
        flex-direction: column
    }

    .frst .habit_right {
        flex: 1 1 auto;
        width: 100%
    }

    .frst .picks_grid {
        grid-template-columns: 1fr 1fr
    }

    .frst .subscribe_area {
        flex-direction: column
    }

    .frst .subscribe_form_wrap {
        flex: 1 1 auto;
        width: 100%
    }

    .frst .author_area {
        flex-direction: column
    }

    .frst .author_portrait_wrap {
        flex: 0 0 auto;
        width: 180px
    }
}

@media (max-width: 640px) {
    .frst .blog_grid {
        grid-template-columns: 1fr
    }

    .frst .blog_card_img {
        display: none
    }

    .frst .journal_card_img {
        display: none
    }

    .frst .archive_stats {
        grid-template-columns: 1fr 1fr
    }

    .frst .territories_grid_row2 {
        grid-template-columns: 1fr
    }

    .frst .picks_grid {
        grid-template-columns: 1fr
    }

    .frst .pg_title_h1 {
        font-size: 34px
    }

    .frst .adjacent_list {
        flex-direction: column
    }
}

.blg_root {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip;
    background: #fff
}

.blg_root .pg_intro {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 48px;
    padding: 48px;
    background: linear-gradient(to bottom, #3366B4, transparent);
    position: relative
}

.blg_root .pg_intro_left {
    flex: 0 0 280px;
    position: relative;
    border-radius: 18px;
    overflow: hidden
}

.blg_root .pg_intro_left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 4/3;
    display: block;
    border-radius: 18px;
    filter: brightness(0.82) saturate(1.1)
}

.blg_root .pg_intro_light_leak {
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
    height: 60%;
    background: radial-gradient(ellipse at 0% 0%, #9eb2de8c 0%, transparent 70%);
    border-radius: 18px 0 0 0;
    pointer-events: none
}

.blg_root .pg_intro_right {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    position: relative
}

.blg_root .pg_intro_bg_num {
    position: absolute;
    right: -16px;
    bottom: -24px;
    font-size: 200px;
    font-weight: 900;
    color: #3366b412;
    line-height: 1.2;
    letter-spacing: -8px;
    pointer-events: none;
    user-select: none;
    z-index: 0
}

.blg_root .pg_intro_label {
    display: inline-block;
    background: #EAEEF1;
    color: #3366B4;
    font-size: 13px;
    letter-spacing: .08em;
    padding: 8px 16px;
    border-radius: 6px;
    font-weight: 600;
    width: fit-content
}

.blg_root .pg_intro_h1 {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.03em;
    color: #fff;
    margin: 0;
    font-weight: 800;
    position: relative;
    z-index: 1
}

.blg_root .pg_intro_h1 span {
    background: linear-gradient(to bottom, #fff, #9EB2DE);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.blg_root .pg_intro_sub {
    font-size: 19px;
    line-height: 1.7;
    color: #EAEEF1;
    margin: 0;
    max-width: 520px;
    position: relative;
    z-index: 1
}

.blg_root .pg_intro_h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #fff;
    margin: 0;
    font-weight: 700;
    position: relative;
    z-index: 1
}

.blg_root .posts_area {
    padding: 48px;
    background: #fff
}

.blg_root .posts_area_head {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-bottom: 48px
}

.blg_root .posts_area_head_shape {
    width: 18px;
    height: 18px;
    background: #3366B4;
    border-radius: 6px;
    flex-shrink: 0
}

.blg_root .posts_area_h {
    font-size: 34px;
    line-height: 1.2;
    color: #1a2a4a;
    margin: 0;
    font-weight: 700;
    letter-spacing: -.02em
}

.blg_root .posts_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px
}

.blg_root .post_card {
    border-radius: 18px;
    box-shadow: 0 4px 25px 0 #3366b414;
    background: #fff;
    display: flex;
    flex-direction: column;
    transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), transform .28s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    text-decoration: none;
    color: inherit
}

.blg_root .post_card:hover {
    box-shadow: 0 12px 40px 0 #3366b424;
    transform: translateY(-4px)
}

.blg_root .post_card_img_wrap {
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #EAEEF1;
    flex-shrink: 0
}

.blg_root .post_card_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.blg_root .post_card:hover .post_card_img_wrap img {
    transform: scale(1.04)
}

.blg_root .post_card_body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1 1 0
}

.blg_root .post_card_meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.blg_root .post_card_tag {
    font-size: 13px;
    letter-spacing: .06em;
    color: #3366B4;
    background: #EAEEF1;
    border-radius: 6px;
    padding: 4px 10px;
    font-weight: 600
}

.blg_root .post_card_cat {
    font-size: 13px;
    color: #9EB2DE;
    letter-spacing: .04em
}

.blg_root .post_card_date {
    font-size: 13px;
    color: #9EB2DE;
    margin-left: auto
}

.blg_root .post_card_time {
    font-size: 13px;
    color: #9EB2DE;
    letter-spacing: .03em
}

.blg_root .post_card_title {
    font-size: 19px;
    line-height: 1.2;
    color: #1a2a4a;
    margin: 0;
    font-weight: 700;
    letter-spacing: -.01em
}

.blg_root .post_card_subtitle {
    font-size: 13px;
    line-height: 1.7;
    color: #3366B4;
    margin: 0;
    font-weight: 500
}

.blg_root .post_card_desc {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5568;
    margin: 0
}

.blg_root .post_card_link {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    color: #3366B4;
    text-decoration: none;
    border-bottom: 2px solid #9EB2DE;
    padding-bottom: 2px;
    width: fit-content;
    transition: border-color .25s ease-in-out, color .25s ease-in-out;
    margin-top: auto
}

.blg_root .post_card_link:hover {
    border-color: #3366B4;
    color: #1a2a4a
}

.blg_root .divider_curve {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #fff
}

.blg_root .divider_curve svg {
    display: block;
    width: 100%
}

.blg_root .journal_area {
    padding: 48px;
    background: #EAEEF1
}

.blg_root .journal_area_head {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-bottom: 48px
}

.blg_root .journal_shape {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 18px solid #3366B4;
    flex-shrink: 0
}

.blg_root .journal_area_h {
    font-size: 34px;
    line-height: 1.2;
    color: #1a2a4a;
    margin: 0;
    font-weight: 700;
    letter-spacing: -.02em
}

.blg_root .journal_list {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.blg_root .journal_item {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 3px 3px 0 #3366b40d;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1), transform .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.blg_root .journal_item:hover {
    box-shadow: 0 12px 40px 0 #3366b424;
    transform: translateY(-3px)
}

.blg_root .journal_item_img {
    flex: 0 0 220px;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #EAEEF1
}

.blg_root .journal_item_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.blg_root .journal_item:hover .journal_item_img img {
    transform: scale(1.05)
}

.blg_root .journal_item_body {
    flex: 1 1 0;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center
}

.blg_root .journal_item_meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.blg_root .journal_item_tag {
    font-size: 13px;
    color: #3366B4;
    background: #EAEEF1;
    border-radius: 6px;
    padding: 4px 10px;
    font-weight: 600;
    letter-spacing: .05em
}

.blg_root .journal_item_cat {
    font-size: 13px;
    color: #9EB2DE
}

.blg_root .journal_item_time {
    font-size: 13px;
    color: #9EB2DE;
    margin-left: auto
}

.blg_root .journal_item_title {
    font-size: 19px;
    line-height: 1.2;
    color: #1a2a4a;
    margin: 0;
    font-weight: 700
}

.blg_root .journal_item_desc {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5568;
    margin: 0
}

.blg_root .journal_item_foot {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-top: 8px
}

.blg_root .journal_item_author {
    font-size: 13px;
    color: #3366B4;
    font-weight: 600
}

.blg_root .journal_item_likes {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #9EB2DE
}

.blg_root .journal_item_likes_icon {
    width: 14px;
    height: 14px;
    display: inline-block
}

.blg_root .divider_line {
    height: 1px;
    background: linear-gradient(to right, transparent, #9EB2DE, transparent);
    margin: 0 48px
}

.blg_root .pyramid_area {
    padding: 48px;
    background: #fff;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: center
}

.blg_root .pyramid_txt {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.blg_root .pyramid_txt_head {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.blg_root .pyramid_shape_sq {
    width: 16px;
    height: 16px;
    background: linear-gradient(to bottom, #3366B4, #9EB2DE);
    border-radius: 0;
    flex-shrink: 0
}

.blg_root .pyramid_h {
    font-size: 34px;
    line-height: 1.2;
    color: #1a2a4a;
    margin: 0;
    font-weight: 700;
    letter-spacing: -.02em
}

.blg_root .pyramid_p {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5568;
    margin: 0;
    max-width: 400px
}

.blg_root .pyramid_p wide {
    display: block
}

.blg_root .pyramid_chart {
    flex: 0 0 360px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px
}

.blg_root .pyr_layer {
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    letter-spacing: .04em;
    transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: default;
    padding: 16px 8px
}

.blg_root .pyr_layer:hover {
    transform: scaleX(1.03)
}

.blg_root .pyr_layer.l1 {
    width: 30%;
    background: #3366B4
}

.blg_root .pyr_layer.l2 {
    width: 50%;
    background: #4a7bc4
}

.blg_root .pyr_layer.l3 {
    width: 70%;
    background: #6e99d0
}

.blg_root .pyr_layer.l4 {
    width: 90%;
    background: #9EB2DE;
    color: #1a2a4a
}

.blg_root .newsletter_area {
    padding: 48px;
    background: #EAEEF1;
    position: relative;
    overflow: hidden
}

.blg_root .newsletter_bg_anim {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, #3366B4, transparent);
    opacity: 0;
    animation: bg_warm_cool 8s ease-in-out infinite alternate;
    pointer-events: none;
    z-index: 0
}

@keyframes bg_warm_cool {
    0% {
        opacity: .04
    }

    100% {
        opacity: .12
    }
}

.blg_root .newsletter_inner {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px
}

.blg_root .newsletter_shape_wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px
}

.blg_root .newsletter_bracket {
    font-size: 62px;
    line-height: 1.2;
    color: #3366B4;
    font-weight: 300;
    opacity: .3;
    user-select: none
}

.blg_root .newsletter_h {
    font-size: 34px;
    line-height: 1.2;
    color: #1a2a4a;
    margin: 0;
    font-weight: 700;
    letter-spacing: -.02em
}

.blg_root .newsletter_p {
    font-size: 13px;
    line-height: 1.7;
    color: #4a5568;
    margin: 0;
    max-width: 480px
}

.blg_root .newsletter_form {
    display: flex;
    flex-direction: row;
    gap: 16px;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center
}

.blg_root .newsletter_input {
    flex: 1 1 240px;
    border: 1.5px solid #9EB2DE;
    border-radius: 10px;
    padding: 16px;
    font-size: 13px;
    color: #1a2a4a;
    background: #fff;
    outline: none;
    box-shadow: inset 0 2px 6px 0 #3366b40f;
    transition: border-color .28s ease-in-out
}

.blg_root .newsletter_input::placeholder {
    color: #3366b466
}

.blg_root .newsletter_input:focus {
    border-color: #3366B4
}

.blg_root .newsletter_btn {
    background: #3366B4;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 16px 48px;
    font-size: 19px;
    font-weight: 700;
    cursor: pointer;
    letter-spacing: -.01em;
    box-shadow: 0 4px 25px 0 #3366b414;
    transition: background .28s ease-in-out, box-shadow .28s ease-in-out, transform .25s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0
}

.blg_root .newsletter_btn:hover {
    background: #1a2a4a;
    box-shadow: 0 12px 40px 0 #3366b424;
    transform: translateY(-2px)
}

.blg_root .newsletter_btn:active {
    transform: translateY(0)
}

.blg_root .newsletter_btn.shake {
    animation: btn_shake .4s cubic-bezier(0.36, 0.07, 0.19, 0.97)
}

@keyframes btn_shake {

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

    20% {
        transform: translateX(-6px)
    }

    40% {
        transform: translateX(6px)
    }

    60% {
        transform: translateX(-4px)
    }

    80% {
        transform: translateX(4px)
    }
}

@media (max-width: 900px) {
    .blg_root .pg_intro {
        flex-direction: column;
        padding: 48px 24px;
        gap: 24px
    }

    .blg_root .pg_intro_left {
        display: none
    }

    .blg_root .pg_intro_h1 {
        font-size: 34px
    }

    .blg_root .posts_area {
        padding: 48px 16px
    }

    .blg_root .posts_grid {
        grid-template-columns: 1fr
    }

    .blg_root .journal_area {
        padding: 48px 16px
    }

    .blg_root .journal_item {
        flex-direction: column
    }

    .blg_root .journal_item_img {
        flex: 0 0 auto;
        width: 100%
    }

    .blg_root .pyramid_area {
        flex-direction: column;
        padding: 48px 16px
    }

    .blg_root .pyramid_chart {
        flex: 0 0 auto;
        width: 100%
    }

    .blg_root .newsletter_area {
        padding: 48px 16px
    }

    .blg_root .newsletter_form {
        flex-direction: column
    }
}

.success_page {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    background: #EAEEF1
}

.success_page .success_card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 12px 40px 0 #3366b424;
    max-width: 560px;
    width: 100%;
    padding: 48px;
    text-align: center
}

.success_page .success_card .icon_wrap {
    width: 64px;
    height: 64px;
    border-radius: 32px;
    background: linear-gradient(180deg, #3366B4 0%, #9EB2DE 100%);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px
}

.success_page .success_card .icon_wrap svg {
    display: block
}

.success_page .success_card .success_heading {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1b2d52;
    margin: 0 0 16px
}

.success_page .success_card .success_heading .accent_grad {
    background: linear-gradient(180deg, #3366B4 0%, #9EB2DE 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.success_page .success_card .success_text {
    font-size: 19px;
    line-height: 1.7;
    color: #3a4a6b;
    margin: 0 0 24px
}

.success_page .success_card .success_divider {
    width: 48px;
    height: 3px;
    border-radius: 6px;
    background: linear-gradient(180deg, #3366B4 0%, #9EB2DE 100%);
    margin: 0 auto 24px
}

.success_page .success_card .success_note {
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: .02em;
    color: #6a7fa8;
    margin: 0 0 24px
}

.success_page .success_card .btn_home {
    display: inline-block;
    background: linear-gradient(180deg, #3366B4 0%, #9EB2DE 100%);
    color: #fff;
    font-size: 19px;
    line-height: 1.2;
    letter-spacing: -.01em;
    padding: 16px 48px;
    border-radius: 10px;
    text-decoration: none;
    box-shadow: 0 4px 25px 0 #3366b414;
    transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), transform .25s cubic-bezier(0.34, 1.56, 0.64, 1);
    border: none;
    cursor: pointer
}

.success_page .success_card .btn_home:hover {
    box-shadow: 0 12px 40px 0 #3366b424;
    transform: translateY(-2px)
}

.success_page .success_card .btn_home:focus {
    outline: 2px solid #3366B4;
    outline-offset: 4px
}

.success_page .success_card .btn_home:active {
    transform: translateY(0px);
    box-shadow: 0 3px 3px 0 #3366b40d
}