html {
    font-size: 100%
}

body {
    margin: 0;
    overflow-x: hidden;
    min-height: 100vh
}

.page-header {
    position: relative;
    background: #FAFAF9;
    border-bottom: 2px solid #AFB740;
    box-shadow: 0 7px 20px 0 #afb74014;
    z-index: 100
}

.header-top-bar {
    background: #AFB740;
    padding: 8px 0
}

.header-top-bar-row {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px
}

.header-credential {
    font-family: 'Nunito', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #FAFAF9;
    letter-spacing: .02em;
    line-height: 1.35
}

.header-email-link {
    font-family: 'PT Sans', sans-serif;
    font-size: 15px;
    color: #FAFAF9;
    text-decoration: none;
    letter-spacing: .01em;
    line-height: 1.35;
    transition: opacity .5s ease-in-out
}

.header-email-link:hover {
    opacity: .75
}

.header-email-link:focus {
    outline: none;
    box-shadow: 0 0 0 3px #afb74073;
    border-radius: 6px
}

.header-body {
    max-width: 1170px;
    margin: 0 auto;
    padding: 32px 32px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap
}

.brand-block {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0
}

.brand-logo-frame {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FAFAF9;
    box-shadow: 0 0 0 2px #AFB740, 0 1px 5px 0 #afb74012;
    flex-shrink: 0
}

.brand-logo-frame img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block
}

.brand-text {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.brand-name {
    font-family: 'Nunito', sans-serif;
    font-size: 27px;
    font-weight: 700;
    color: #2d2d2d;
    letter-spacing: .01em;
    line-height: 1.1;
    text-decoration: none
}

.brand-name:focus {
    outline: none;
    box-shadow: 0 0 0 3px #afb74073;
    border-radius: 6px
}

.brand-tagline {
    font-family: 'PT Sans', sans-serif;
    font-size: 15px;
    color: #AFB740;
    font-weight: 400;
    letter-spacing: .02em;
    line-height: 1.35
}

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

.primary-navigation a {
    font-family: 'Nunito', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #2d2d2d;
    text-decoration: none;
    letter-spacing: .01em;
    line-height: 1.35;
    padding: 12px 16px;
    border-radius: 6px;
    position: relative;
    overflow: hidden;
    display: inline-block;
    transition: color .5s ease-in-out;
    min-height: 44px;
    box-sizing: border-box
}

.primary-navigation a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    background: #AFB740;
    transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.primary-navigation a:hover::before {
    height: 100%
}

.primary-navigation a:hover {
    color: #FAFAF9
}

.primary-navigation a span {
    position: relative;
    z-index: 1
}

.primary-navigation a:focus {
    outline: none;
    box-shadow: 0 0 0 3px #afb74073
}

.primary-navigation a.active-link {
    color: #AFB740;
    border-bottom: 2px solid #AFB740;
    border-radius: 0
}

.primary-navigation a.active-link::before {
    display: none
}

.page-footer {
    background: #2d2d2d;
    border-top: 2px solid #AFB740
}

.footer-upper {
    max-width: 1170px;
    margin: 0 auto;
    padding: 48px 32px 32px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap
}

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

.footer-logo-frame {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FAFAF9;
    box-shadow: 0 0 0 2px #AFB740, 0 1px 5px 0 #afb74012;
    flex-shrink: 0
}

.footer-logo-frame img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    display: block
}

.footer-brand-detail {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.footer-brand-name {
    font-family: 'Nunito', sans-serif;
    font-size: 21px;
    font-weight: 700;
    color: #FAFAF9;
    letter-spacing: .01em;
    line-height: 1.35
}

.footer-brand-year {
    font-family: 'PT Sans', sans-serif;
    font-size: 15px;
    color: #C6D39A;
    letter-spacing: .02em;
    line-height: 1.35
}

.footer-navigation-group {
    display: flex;
    gap: 48px;
    flex-wrap: wrap
}

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

.footer-nav-label {
    font-family: 'Nunito', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #AFB740;
    letter-spacing: .02em;
    line-height: 1.35;
    text-transform: uppercase
}

.footer-nav-column a {
    font-family: 'PT Sans', sans-serif;
    font-size: 17px;
    color: #FAFAF9;
    text-decoration: none;
    letter-spacing: .01em;
    line-height: 1.6;
    transition: color .5s ease-in-out;
    min-height: 44px;
    display: flex;
    align-items: center
}

.footer-nav-column a:hover {
    color: #C6D39A
}

.footer-nav-column a:focus {
    outline: none;
    box-shadow: 0 0 0 3px #afb74073;
    border-radius: 6px
}

.footer-divider {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px;
    border: none;
    border-top: 1px solid #c6d39a33
}

.footer-lower {
    max-width: 1170px;
    margin: 0 auto;
    padding: 24px 32px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap
}

.footer-copyright {
    font-family: 'PT Sans', sans-serif;
    font-size: 15px;
    color: #fafaf98c;
    letter-spacing: .01em;
    line-height: 1.6
}

.footer-legal-links {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.footer-legal-links a {
    font-family: 'PT Sans', sans-serif;
    font-size: 15px;
    color: #fafaf98c;
    text-decoration: none;
    letter-spacing: .01em;
    line-height: 1.6;
    transition: color .5s ease-in-out;
    min-height: 44px;
    display: flex;
    align-items: center
}

.footer-legal-links a:hover {
    color: #C6D39A
}

.footer-legal-links a:focus {
    outline: none;
    box-shadow: 0 0 0 3px #afb74073;
    border-radius: 6px
}

.footer-legal-sep {
    width: 3px;
    height: 3px;
    background: #c6d39a59;
    border-radius: 44px;
    display: inline-block
}

.consent-popup {
    position: fixed;
    bottom: 32px;
    left: 32px;
    width: 280px;
    background: #FAFAF9;
    border: 1px solid #C6D39A;
    border-radius: 6px;
    box-shadow: 0 10px 44px 0 #afb74024;
    padding: 32px 24px 24px;
    z-index: 1200;
    display: none;
    box-sizing: border-box
}

.consent-popup-text {
    font-family: 'PT Sans', sans-serif;
    font-size: 15px;
    color: #2d2d2d;
    line-height: 1.6;
    letter-spacing: .01em;
    margin: 0 0 24px
}

.consent-popup-actions {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.consent-accept,
.consent-decline {
    font-family: 'Nunito', sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.35;
    padding: 12px 16px;
    border-radius: 6px;
    cursor: pointer;
    min-height: 44px;
    border: 2px solid #AFB740;
    background: transparent;
    color: #2d2d2d;
    transition: background-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    width: 100%;
    text-align: center
}

.consent-accept:hover,
.consent-accept:focus {
    background: #AFB740;
    color: #FAFAF9;
    outline: none;
    box-shadow: 0 0 0 3px #afb74059
}

.consent-decline:hover,
.consent-decline:focus {
    background: #C6D39A;
    color: #2d2d2d;
    outline: none;
    box-shadow: 0 0 0 3px #afb74059
}

@media (max-width: 768px) {
    .header-body {
        padding: 24px 16px 16px;
        gap: 16px
    }

    .header-top-bar-row {
        padding: 0 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px
    }

    .primary-navigation {
        gap: 4px
    }

    .primary-navigation a {
        font-size: 15px;
        padding: 10px 12px
    }

    .footer-upper {
        padding: 32px 16px 24px;
        flex-direction: column;
        gap: 32px
    }

    .footer-lower {
        padding: 16px 16px 24px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }

    .footer-navigation-group {
        gap: 32px
    }

    .consent-popup {
        left: 16px;
        right: 16px;
        width: auto;
        bottom: 16px
    }
}

@media (max-width: 480px) {
    .brand-name {
        font-size: 21px
    }

    .header-body {
        padding: 16px
    }

    .footer-divider {
        padding: 0 16px
    }
}

@media (min-width: 1440px) {
    .header-body {
        padding: 32px 48px 24px
    }

    .header-top-bar-row {
        padding: 0 48px
    }

    .footer-upper {
        padding: 48px 48px 32px
    }

    .footer-lower {
        padding: 24px 48px 48px
    }

    .footer-divider {
        padding: 0 48px
    }
}

.legal-wrapper {
    max-width: 1170px;
    margin: 0 auto;
    padding: 96px 48px
}

.legal-wrapper h1 {
    font-size: 51px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #1b1b18;
    margin-bottom: 32px;
    margin-top: 0
}

.legal-wrapper h2 {
    font-size: 37px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1b1b18;
    margin-top: 96px;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid #AFB740
}

.legal-wrapper h3 {
    font-size: 27px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1b1b18;
    margin-top: 48px;
    margin-bottom: 16px
}

.legal-wrapper h4 {
    font-size: 21px;
    line-height: 1.35;
    letter-spacing: .02em;
    color: #1b1b18;
    margin-top: 32px;
    margin-bottom: 8px
}

.legal-wrapper h5 {
    font-size: 17px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #1b1b18;
    margin-top: 32px;
    margin-bottom: 8px
}

.legal-wrapper h6 {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #3a3a35;
    margin-top: 32px;
    margin-bottom: 8px;
    text-transform: uppercase
}

.legal-wrapper p {
    font-size: 17px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #2c2c28;
    margin-top: 0;
    margin-bottom: 16px;
    max-width: 72ch
}

.legal-wrapper ul,
.legal-wrapper ol {
    font-size: 17px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #2c2c28;
    margin-top: 0;
    margin-bottom: 16px;
    padding-left: 32px
}

.legal-wrapper ul {
    list-style: none;
    padding-left: 0
}

.legal-wrapper ul li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 8px
}

.legal-wrapper ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 8px;
    height: 8px;
    background-color: #AFB740;
    border-radius: 44px
}

.legal-wrapper ol {
    list-style: decimal
}

.legal-wrapper ol li {
    padding-left: 8px;
    margin-bottom: 8px
}

.legal-wrapper ol li::marker {
    color: #AFB740;
    font-size: 15px;
    letter-spacing: .02em
}

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

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

.legal-wrapper hr {
    border: none;
    border-top: 1px solid #C6D39A;
    margin-top: 48px;
    margin-bottom: 48px
}

.legal-wrapper div {
    font-size: 17px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #2c2c28
}

.legal-wrapper div.policy-notice {
    background-color: #FAFAF9;
    border-radius: 6px;
    padding: 32px;
    margin-top: 32px;
    margin-bottom: 32px;
    box-shadow: inset 0 1px 5px 0 #afb74012
}

@media (max-width: 1024px) {
    .legal-wrapper {
        padding: 96px 32px
    }

    .legal-wrapper h1 {
        font-size: 37px
    }

    .legal-wrapper h2 {
        font-size: 27px;
        margin-top: 48px
    }
}

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

    .legal-wrapper h1 {
        font-size: 27px
    }

    .legal-wrapper h2 {
        font-size: 21px;
        margin-top: 48px
    }

    .legal-wrapper h3 {
        font-size: 21px;
        margin-top: 32px
    }

    .legal-wrapper h4 {
        font-size: 17px
    }

    .legal-wrapper p,
    .legal-wrapper ul,
    .legal-wrapper ol,
    .legal-wrapper div {
        font-size: 15px
    }
}

@media (max-width: 480px) {
    .legal-wrapper {
        padding: 48px 16px
    }

    .legal-wrapper h1 {
        font-size: 21px
    }

    .legal-wrapper h2 {
        font-size: 17px
    }

    .legal-wrapper div.policy-notice {
        padding: 16px
    }
}

.digest-detail {
    max-width: 100%;
    overflow-x: hidden
}

.digest-detail .page-frame {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px
}

.digest-detail .breadcrumb-bar {
    padding: 16px 0 8px
}

.digest-detail .breadcrumb-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center
}

.digest-detail .breadcrumb-list li {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.35;
    color: #5a5a4a
}

.digest-detail .breadcrumb-list li a {
    color: #5a5a4a;
    text-decoration: underline;
    text-decoration-color: #AFB740;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: text-decoration-thickness .5s ease-in-out, color .5s ease-in-out;
    letter-spacing: .01em
}

.digest-detail .breadcrumb-list li a:hover {
    color: #AFB740;
    text-decoration-thickness: 3px
}

.digest-detail .breadcrumb-sep {
    width: 14px;
    height: 14px;
    display: inline-block;
    flex-shrink: 0
}

.digest-detail .breadcrumb-list li.active-crumb {
    color: #2a2a1a;
    font-size: 15px
}

.digest-detail .title-strip {
    padding: 96px 0 48px;
    position: relative
}

.digest-detail .title-strip-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end
}

.digest-detail .title-text-col {
    position: relative;
    z-index: 1
}

.digest-detail .faded-glyph {
    position: absolute;
    top: -48px;
    left: -16px;
    font-size: 220px;
    line-height: 1.1;
    color: #AFB740;
    opacity: .06;
    letter-spacing: -.04em;
    pointer-events: none;
    user-select: none;
    z-index: 0
}

.digest-detail .read-label {
    display: inline-block;
    font-size: 15px;
    letter-spacing: .12em;
    color: #AFB740;
    text-transform: uppercase;
    margin-bottom: 16px;
    line-height: 1.35;
    border-bottom: 2px solid #AFB740;
    padding-bottom: 4px
}

.digest-detail .article-heading {
    font-size: 51px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #1e1e10;
    margin: 0 0 16px;
    text-shadow: 1px 2px 0 #afb7401f 0 1px 12px #afb74012
}

.digest-detail .article-heading .accent-phrase {
    color: #AFB740
}

.digest-detail .meta-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-top: 32px;
    flex-wrap: wrap
}

.digest-detail .like-pill {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1.5px solid #C6D39A;
    border-radius: 44px;
    padding: 8px 16px;
    font-size: 15px;
    color: #3a3a2a;
    box-shadow: 0 1px 5px 0 #afb74012;
    cursor: default;
    letter-spacing: .01em
}

.digest-detail .like-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0
}

.digest-detail .readtime-pill {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1.5px solid #e8e8d8;
    border-radius: 44px;
    padding: 8px 16px;
    font-size: 15px;
    color: #5a5a4a;
    letter-spacing: .01em
}

.digest-detail .clock-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0
}

.digest-detail .title-image-col {
    position: relative
}

.digest-detail .image-frame {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 10px 44px 0 #afb74024;
    position: relative
}

.digest-detail .image-frame img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(1.08) brightness(0.97) sepia(0.08);
    transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.digest-detail .image-frame:hover img {
    transform: scale(1.03)
}

.digest-detail .image-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(170deg, #c6d39a14 0%, #afb74024 100%);
    pointer-events: none;
    border-radius: 6px
}

.digest-detail .section-divider {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0 0 48px
}

.digest-detail .dot-row {
    display: flex;
    flex-direction: row;
    gap: 6px;
    align-items: center
}

.digest-detail .dot-row span {
    width: 4px;
    height: 4px;
    border-radius: 44px;
    background: #C6D39A;
    display: inline-block
}

.digest-detail .article-body-wrap {
    padding: 0 0 96px;
    background: transparent
}

.digest-detail .body-grid {
    display: grid;
    grid-template-columns: 680px 1fr;
    gap: 48px;
    align-items: start
}

.digest-detail .article-body {
    min-width: 0
}

.digest-detail .article-body .opening-para {
    background: linear-gradient(135deg, #c6d39a2e 0%, #fafaf999 100%);
    border-radius: 6px;
    padding: 16px 32px 16px 16px;
    margin-bottom: 32px;
    box-shadow: inset 0 1px 5px 0 #afb74012
}

.digest-detail .article-body .opening-para p {
    font-size: 17px;
    line-height: 1.6;
    color: #2a2a1a;
    margin: 0;
    letter-spacing: .01em
}

.digest-detail .article-body p {
    font-size: 17px;
    line-height: 1.6;
    color: #2a2a1a;
    margin: 0 0 16px;
    letter-spacing: .01em
}

.digest-detail .article-body h2 {
    font-size: 27px;
    line-height: 1.35;
    color: #1e1e10;
    margin: 48px 0 16px;
    letter-spacing: .01em;
    text-shadow: 0 1px 6px #afb7401a
}

.digest-detail .article-body h4 {
    font-size: 21px;
    line-height: 1.35;
    color: #2a2a1a;
    margin: 32px 0 8px;
    letter-spacing: .01em;
    text-shadow: 0 1px 4px #afb74014
}

.digest-detail .article-body code {
    background: #f2f4e8;
    border-radius: 6px;
    padding: 2px 8px;
    font-size: 15px;
    color: #4a5010;
    letter-spacing: .01em
}

.digest-detail .article-body em {
    color: #4a5010;
    font-style: italic
}

.digest-detail .article-body ul {
    margin: 16px 0;
    padding: 0 0 0 32px
}

.digest-detail .article-body ul li {
    font-size: 17px;
    line-height: 1.6;
    color: #2a2a1a;
    margin-bottom: 8px;
    letter-spacing: .01em
}

.digest-detail .article-body blockquote {
    margin: 32px 0;
    padding: 16px 32px;
    border-radius: 6px;
    background: linear-gradient(135deg, #afb74012 0%, #c6d39a1f 100%);
    box-shadow: inset 0 1px 5px 0 #afb74012 0 7px 20px 0 #afb74014;
    position: relative
}

.digest-detail .article-body blockquote p {
    font-size: 21px;
    line-height: 1.6;
    color: #2a2a1a;
    margin: 0 0 8px;
    letter-spacing: .01em
}

.digest-detail .article-body blockquote cite {
    font-size: 15px;
    color: #7a7a5a;
    letter-spacing: .02em;
    font-style: normal
}

.digest-detail .article-body time {
    font-size: 15px;
    color: #7a7a5a;
    letter-spacing: .02em
}

.digest-detail .sticky-panel {
    position: sticky;
    top: 32px;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.digest-detail .stat-card {
    background: #fff;
    border-radius: 6px;
    padding: 32px;
    box-shadow: 0 7px 20px 0 #afb74014 inset 0 1px 5px 0 #afb74012;
    border: 1px solid #c6d39a66
}

.digest-detail .stat-card-heading {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #7a7a5a;
    margin: 0 0 16px;
    line-height: 1.35
}

.digest-detail .stat-row {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.digest-detail .stat-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.digest-detail .stat-bar-track {
    flex: 1;
    height: 6px;
    background: #f0f2e4;
    border-radius: 44px;
    overflow: hidden
}

.digest-detail .stat-bar-fill {
    height: 100%;
    border-radius: 44px;
    background: linear-gradient(90deg, #C6D39A 0%, #AFB740 100%);
    transform-origin: left;
    animation: bar-grow .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

@keyframes bar-grow {
    from {
        width: 0
    }

    to {
        width: var(--bar-width)
    }
}

.digest-detail .stat-label {
    font-size: 15px;
    color: #3a3a2a;
    letter-spacing: .01em;
    min-width: 80px;
    line-height: 1.35
}

.digest-detail .stat-value {
    font-size: 15px;
    color: #AFB740;
    letter-spacing: .02em;
    font-weight: 600;
    min-width: 36px;
    text-align: right
}

.digest-detail .quote-panel {
    background: linear-gradient(155deg, #afb74014 0%, #fafaf9e6 100%);
    border-radius: 6px;
    padding: 32px;
    box-shadow: 0 7px 20px 0 #afb74014
}

.digest-detail .quote-panel-mark {
    width: 32px;
    height: 32px;
    margin-bottom: 16px
}

.digest-detail .quote-panel-text {
    font-size: 17px;
    line-height: 1.6;
    color: #2a2a1a;
    margin: 0 0 16px;
    letter-spacing: .01em
}

.digest-detail .quote-panel-attribution {
    font-size: 15px;
    color: #7a7a5a;
    letter-spacing: .02em
}

.digest-detail .back-link-strip {
    padding: 48px 0 96px;
    background: linear-gradient(170deg, #c6d39a1a 0%, #fafaf980 100%)
}

.digest-detail .back-link-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap
}

.digest-detail .back-btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: #AFB740;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 16px 32px;
    font-size: 17px;
    letter-spacing: .02em;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    box-shadow: 0 7px 20px 0 #afb74024;
    transition: color .5s ease-in-out, box-shadow .5s ease-in-out
}

.digest-detail .back-btn::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #8a9030;
    transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0;
    border-radius: 6px
}

.digest-detail .back-btn:hover::before {
    height: 100%
}

.digest-detail .back-btn span,
.digest-detail .back-btn svg {
    position: relative;
    z-index: 1
}

.digest-detail .back-btn:hover {
    box-shadow: 0 10px 44px 0 #afb74033
}

.digest-detail .blog-link {
    font-size: 15px;
    color: #5a5a4a;
    text-decoration: underline;
    text-decoration-color: #AFB740;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    letter-spacing: .01em;
    transition: text-decoration-thickness .5s ease-in-out, color .5s ease-in-out
}

.digest-detail .blog-link:hover {
    color: #AFB740;
    text-decoration-thickness: 3px
}

.digest-detail .wave-row {
    opacity: 0;
    transform: translateY(24px);
    animation: row-appear .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.digest-detail .wave-row.delay-1 {
    animation-delay: .1s
}

.digest-detail .wave-row.delay-2 {
    animation-delay: .22s
}

.digest-detail .wave-row.delay-3 {
    animation-delay: .34s
}

.digest-detail .wave-row.delay-4 {
    animation-delay: .46s
}

.digest-detail .wave-row.delay-5 {
    animation-delay: .58s
}

@keyframes row-appear {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.digest-detail .blob-bg-section {
    position: relative
}

.digest-detail .blob-layer {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: 6px
}

.digest-detail .blob-svg {
    position: absolute;
    top: -40px;
    right: -40px;
    width: 320px;
    height: 320px;
    opacity: .045
}

@media (max-width: 1024px) {
    .digest-detail .body-grid {
        grid-template-columns: 1fr
    }

    .digest-detail .title-strip-inner {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .digest-detail .article-heading {
        font-size: 37px
    }

    .digest-detail .faded-glyph {
        font-size: 160px
    }

    .digest-detail .sticky-panel {
        position: static
    }
}

@media (max-width: 768px) {
    .digest-detail .page-frame {
        padding: 0 16px
    }

    .digest-detail .article-heading {
        font-size: 27px
    }

    .digest-detail .title-strip {
        padding: 48px 0 32px
    }

    .digest-detail .faded-glyph {
        font-size: 120px;
        top: -32px
    }

    .digest-detail .image-frame img {
        height: 240px
    }

    .digest-detail .back-link-inner {
        flex-direction: column;
        align-items: flex-start
    }
}

@media (max-width: 480px) {
    .digest-detail .article-heading {
        font-size: 21px
    }

    .digest-detail .meta-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }
}

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

.blog-detail .reading-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: #AFB740;
    z-index: 100;
    transition: width .45s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.blog-detail .post-wrapper {
    max-width: 1170px;
    margin: 0 auto;
    padding: 96px 32px 48px
}

.blog-detail .post-top {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
    padding-top: 48px
}

.blog-detail .post-image-card {
    flex: 0 0 340px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 10px 44px 0 #afb74024;
    position: relative
}

.blog-detail .post-image-card img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;
    display: block
}

.blog-detail .post-image-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 0% 0%, #afb7402e 0%, transparent 55%), radial-gradient(ellipse at 100% 100%, #c6d39a38 0%, transparent 55%);
    pointer-events: none
}

.blog-detail .post-text-zone {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.blog-detail .post-meta-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.blog-detail .tag-pill {
    display: inline-block;
    padding: 4px 16px;
    border-radius: 44px;
    background: #C6D39A;
    color: #2a2a2e;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    font-weight: 600;
    text-decoration: none;
    transition: background .5s ease-in-out, color .5s ease-in-out
}

.blog-detail .tag-pill:hover {
    background: #AFB740;
    color: #fff
}

.blog-detail .category-label {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #5a5a60;
    text-transform: uppercase
}

.blog-detail .read-time {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.6;
    color: #5a5a60;
    letter-spacing: .01em
}

.blog-detail .read-time svg {
    flex-shrink: 0
}

.blog-detail .post-heading {
    font-size: 51px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #1e1e22;
    font-weight: 700;
    text-shadow: 1px 1px 0 #afb7402e 0 2px 8px #afb74014;
    margin: 0
}

.blog-detail .post-heading .underlined-keyword {
    text-decoration: underline;
    text-decoration-color: #AFB740;
    text-underline-offset: 5px;
    text-decoration-thickness: 2px
}

.blog-detail .post-author-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding-top: 8px
}

.blog-detail .author-dot {
    width: 8px;
    height: 8px;
    border-radius: 44px;
    background: #AFB740;
    flex-shrink: 0
}

.blog-detail .author-name {
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a2e;
    letter-spacing: .01em;
    font-weight: 600
}

.blog-detail .like-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding-top: 8px
}

.blog-detail .like-btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 6px;
    border: 1.5px solid #C6D39A;
    background: #fff;
    color: #2a2a2e;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .55s ease-in-out, border-color .55s ease-in-out
}

.blog-detail .like-btn::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #AFB740;
    transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.blog-detail .like-btn:hover::before {
    height: 100%
}

.blog-detail .like-btn:hover {
    color: #fff;
    border-color: #AFB740
}

.blog-detail .like-btn span,
.blog-detail .like-btn svg {
    position: relative;
    z-index: 1
}

.blog-detail .blob-bg {
    position: absolute;
    border-radius: 44px;
    filter: blur(48px);
    pointer-events: none;
    z-index: 0
}

.blog-detail .post-top {
    position: relative
}

.blog-detail .blob-one {
    width: 320px;
    height: 220px;
    background: #c6d39a47;
    top: -48px;
    right: 0
}

.blog-detail .blob-two {
    width: 200px;
    height: 160px;
    background: #afb7401f;
    bottom: 0;
    left: 280px
}

.blog-detail .post-top>* {
    position: relative;
    z-index: 1
}

.blog-detail .divider-step {
    max-width: 1170px;
    margin: 48px auto 0;
    padding: 0 32px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0
}

.blog-detail .step-line {
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, #C6D39A 0%, #c6d39a1a 100%)
}

.blog-detail .step-notch {
    width: 16px;
    height: 16px;
    border-radius: 6px;
    background: #AFB740;
    flex-shrink: 0
}

.blog-detail .step-line-right {
    height: 1px;
    flex: 3;
    background: linear-gradient(90deg, #c6d39a1a 0%, #C6D39A 100%)
}

.blog-detail .article-body-zone {
    max-width: 1170px;
    margin: 0 auto;
    padding: 48px 32px 96px;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.blog-detail .article-body {
    flex: 1 1 0;
    min-width: 0
}

.blog-detail .article-body .first-paragraph {
    background: linear-gradient(135deg, #c6d39a2e 0%, #fafaf999 100%);
    border-radius: 6px;
    padding: 16px 32px;
    margin-bottom: 32px;
    box-shadow: inset 0 1px 5px 0 #afb74012
}

.blog-detail .article-body .first-paragraph p {
    font-size: 17px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #2a2a2e;
    margin: 0
}

.blog-detail .article-body p {
    font-size: 17px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #3a3a3f;
    margin: 0 0 16px
}

.blog-detail .article-body h2 {
    font-size: 37px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1e1e22;
    font-weight: 700;
    text-shadow: 0 1px 4px #afb7401f;
    margin: 48px 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid #AFB740;
    display: inline-block
}

.blog-detail .article-body h3 {
    font-size: 27px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1e1e22;
    font-weight: 700;
    text-shadow: 0 1px 3px #afb7401a;
    margin: 32px 0 8px
}

.blog-detail .article-body h4 {
    font-size: 21px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #2a2a2e;
    font-weight: 600;
    margin: 32px 0 8px
}

.blog-detail .article-body ul,
.blog-detail .article-body ol {
    padding-left: 32px;
    margin: 0 0 16px
}

.blog-detail .article-body li {
    font-size: 17px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #3a3a3f;
    margin-bottom: 8px
}

.blog-detail .article-body cite {
    display: block;
    font-size: 17px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #5a5a60;
    font-style: italic;
    border-radius: 6px;
    padding: 16px 32px;
    background: #c6d39a26;
    margin: 32px 0;
    box-shadow: inset 0 1px 5px 0 #afb74012
}

.blog-detail .article-body figure {
    margin: 32px 0;
    border-radius: 6px;
    overflow: hidden
}

.blog-detail .article-body figure img {
    width: 100%;
    border-radius: 6px;
    display: block;
    object-fit: cover
}

.blog-detail .article-body figcaption {
    font-size: 15px;
    line-height: 1.6;
    color: #5a5a60;
    letter-spacing: .01em;
    padding: 8px 0 0;
    text-align: left
}

.blog-detail .article-sidebar {
    flex: 0 0 260px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: sticky;
    top: 96px
}

.blog-detail .sidebar-card {
    border-radius: 6px;
    padding: 32px;
    background: linear-gradient(160deg, #c6d39a26 0%, #fafaf9cc 100%);
    box-shadow: inset 0 1px 5px 0 #afb74012 0 7px 20px 0 #afb74014
}

.blog-detail .sidebar-card-heading {
    font-size: 15px;
    line-height: 1.35;
    letter-spacing: .02em;
    color: #AFB740;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 16px
}

.blog-detail .sidebar-card p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a3f;
    letter-spacing: .01em;
    margin: 0 0 16px
}

.blog-detail .sidebar-card p:last-child {
    margin: 0
}

.blog-detail .sidebar-link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 6px;
    background: #AFB740;
    color: #fff;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    text-decoration: none;
    font-weight: 600;
    position: relative;
    overflow: hidden;
    transition: color .55s ease-in-out
}

.blog-detail .sidebar-link::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #2a2a2e;
    transition: height .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.blog-detail .sidebar-link:hover::before {
    height: 100%
}

.blog-detail .sidebar-link span,
.blog-detail .sidebar-link svg {
    position: relative;
    z-index: 1
}

.blog-detail .curved-connector {
    width: 100%;
    overflow: hidden;
    height: 32px;
    margin: 0
}

.blog-detail .curved-connector svg {
    width: 100%;
    height: 32px;
    display: block
}

@keyframes blog-row-reveal {
    from {
        opacity: 0;
        transform: translateY(18px)
    }

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

.blog-detail .post-meta-row {
    animation: blog-row-reveal .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-delay: .1s
}

.blog-detail .post-heading {
    animation: blog-row-reveal .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-delay: .22s
}

.blog-detail .post-author-row {
    animation: blog-row-reveal .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-delay: .34s
}

.blog-detail .like-row {
    animation: blog-row-reveal .5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-delay: .44s
}

.blog-detail .post-image-card {
    animation: blog-row-reveal .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-delay: .18s
}

@media (max-width: 1024px) {
    .blog-detail .post-top {
        flex-direction: column;
        gap: 32px
    }

    .blog-detail .post-image-card {
        flex: none;
        width: 100%
    }

    .blog-detail .post-image-card img {
        height: 320px
    }

    .blog-detail .article-body-zone {
        flex-direction: column
    }

    .blog-detail .article-sidebar {
        position: static;
        flex: none;
        width: 100%
    }

    .blog-detail .post-heading {
        font-size: 37px
    }
}

@media (max-width: 768px) {
    .blog-detail .post-wrapper {
        padding: 48px 16px 32px
    }

    .blog-detail .article-body-zone {
        padding: 32px 16px 48px
    }

    .blog-detail .divider-step {
        padding: 0 16px
    }

    .blog-detail .post-heading {
        font-size: 27px
    }

    .blog-detail .article-body h2 {
        font-size: 27px
    }

    .blog-detail .article-body h3 {
        font-size: 21px
    }
}

@media (max-width: 480px) {
    .blog-detail .post-wrapper {
        padding: 32px 16px 16px
    }

    .blog-detail .post-top {
        gap: 16px;
        padding-top: 16px
    }

    .blog-detail .article-body-zone {
        padding: 16px 16px 32px
    }

    .blog-detail .post-image-card img {
        height: 220px
    }

    .blog-detail .post-heading {
        font-size: 21px
    }

    .blog-detail .sidebar-card {
        padding: 16px
    }
}

.digest {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden
}

.digest .page-container {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px
}

.digest .title-split {
    display: grid;
    grid-template-columns: 40% 60%;
    min-height: 320px;
    position: relative
}

.digest .title-left {
    background: #AFB740;
    padding: 48px 48px 48px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative
}

.digest .title-left::before {
    content: '';
    position: absolute;
    inset: 12px;
    border: 1.5px solid #ffffff59;
    pointer-events: none;
    border-radius: 6px
}

.digest .title-left::after {
    content: '';
    position: absolute;
    inset: 6px;
    border: 1px solid #ffffff2e;
    pointer-events: none;
    border-radius: 6px
}

.digest .title-label {
    font-size: 15px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #ffffffbf;
    margin-bottom: 16px;
    line-height: 1.35
}

.digest .title-heading {
    font-size: 51px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #fff;
    margin: 0 0 16px;
    text-shadow: 2px 3px 0 #64691459;
    animation: fade-up .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.digest .title-sub {
    font-size: 17px;
    line-height: 1.6;
    color: #ffffffe0;
    margin: 0;
    animation: fade-up .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s both
}

.digest .title-right {
    background: #FAFAF9;
    padding: 48px 32px 48px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start
}

.digest .title-image-wrap {
    width: 100%;
    max-width: 420px;
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 6px;
    box-shadow: 0 10px 44px 0 #afb74024;
    clip-path: polygon(0 0, 92% 0, 100% 8%, 100% 100%, 8% 100%, 0 92%);
    animation: fade-in .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .2s both
}

.digest .title-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

@keyframes fade-up {
    from {
        opacity: 0;
        transform: translateY(18px)
    }

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

@keyframes fade-in {
    from {
        opacity: 0;
        transform: scale(0.97)
    }

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

.digest .wave-divider {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #FAFAF9
}

.digest .wave-divider svg {
    display: block;
    width: 100%
}

.digest .posts-area {
    background: #fff;
    padding: 96px 0 48px
}

.digest .posts-area-head {
    margin-bottom: 48px
}

.digest .posts-area-head h2 {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2a2a20;
    margin: 0 0 8px;
    text-shadow: 1px 2px 0 #afb7402e
}

.digest .posts-area-head p {
    font-size: 17px;
    line-height: 1.6;
    color: #4a4a3a;
    margin: 0
}

.digest .posts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px
}

.digest .post-card {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 7px 20px 0 #afb74014;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    animation: fade-up .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    box-shadow: inset 0 1px 3px 0 #afb74012 0 7px 20px 0 #afb74014
}

.digest .post-card:nth-child(1) {
    animation-delay: .05s
}

.digest .post-card:nth-child(2) {
    animation-delay: .15s
}

.digest .post-card:nth-child(3) {
    animation-delay: .25s
}

.digest .post-card:nth-child(4) {
    animation-delay: .35s
}

.digest .post-card:hover {
    box-shadow: 0 10px 44px 0 #afb74024;
    transform: translateY(-4px)
}

.digest .post-image-box {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative
}

.digest .post-image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.digest .post-card:hover .post-image-box img {
    transform: scale(1.04)
}

.digest .post-image-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(155deg, #C6D39A 0%, #e8edca 100%);
    display: flex;
    align-items: center;
    justify-content: center
}

.digest .post-image-placeholder svg {
    opacity: .45
}

.digest .post-body {
    padding: 32px;
    display: flex;
    flex-direction: column;
    flex: 1
}

.digest .post-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px
}

.digest .post-readtime {
    font-size: 15px;
    color: #7a7a60;
    letter-spacing: .02em;
    display: flex;
    align-items: center;
    gap: 8px
}

.digest .post-readtime svg {
    flex-shrink: 0
}

.digest .post-likes {
    font-size: 15px;
    color: #7a7a60;
    letter-spacing: .02em;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto
}

.digest .post-likes svg {
    flex-shrink: 0
}

.digest .post-title {
    font-size: 21px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #2a2a20;
    margin: 0 0 16px;
    text-shadow: 0 1px 0 #afb7401a
}

.digest .post-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a3a;
    margin: 0 0 32px;
    flex: 1
}

.digest .post-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .02em;
    color: #2a2a20;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 6px;
    border: 1.5px solid #AFB740;
    position: relative;
    overflow: hidden;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    align-self: flex-start
}

.digest .post-link::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #AFB740;
    transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.digest .post-link:hover::before {
    height: 100%
}

.digest .post-link:hover {
    color: #fff
}

.digest .post-link span,
.digest .post-link svg {
    position: relative;
    z-index: 1
}

.digest .post-link svg {
    transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.digest .post-link:hover svg {
    transform: translateX(4px)
}

.digest .wave-divider-2 {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #fff
}

.digest .wave-divider-2 svg {
    display: block;
    width: 100%
}

.digest .about-strip {
    background: linear-gradient(155deg, #f5f6e8 0%, #eef2d8 100%);
    padding: 96px 0;
    position: relative
}

.digest .about-strip::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle, #AFB740 1px, transparent 1px), radial-gradient(circle, #C6D39A 1.5px, transparent 1.5px), radial-gradient(circle, #AFB740 0.8px, transparent 0.8px);
    background-size: 28px 28px, 45px 45px, 18px 18px;
    background-position: 0 0, 14px 14px, 7px 21px;
    opacity: .09;
    pointer-events: none
}

.digest .about-grid {
    display: grid;
    grid-template-columns: 60% 40%;
    gap: 48px;
    align-items: center;
    position: relative;
    z-index: 1
}

.digest .about-text-col {
    padding-right: 32px
}

.digest .about-eyebrow {
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #AFB740;
    margin-bottom: 16px;
    line-height: 1.35
}

.digest .about-heading {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2a2a20;
    margin: 0 0 32px;
    text-shadow: 1px 2px 0 #afb74033
}

.digest .about-opener {
    font-size: 17px;
    line-height: 1.6;
    color: #2a2a20;
    background: #afb74017;
    border-radius: 6px;
    padding: 16px;
    margin: 0 0 16px
}

.digest .about-body {
    font-size: 17px;
    line-height: 1.6;
    color: #4a4a3a;
    margin: 0 0 16px
}

.digest .about-stats-col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.digest .stat-item {
    background: #fff;
    border-radius: 6px;
    padding: 32px;
    box-shadow: inset 0 1px 5px 0 #afb74012 0 7px 20px 0 #afb74014;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: box-shadow .55s ease-in-out
}

.digest .stat-item:hover {
    box-shadow: inset 0 1px 5px 0 #afb74012 0 10px 44px 0 #afb74024
}

.digest .stat-number {
    font-size: 51px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #AFB740;
    text-shadow: 1px 2px 0 #afb74040
}

.digest .stat-label {
    font-size: 15px;
    line-height: 1.35;
    color: #4a4a3a;
    letter-spacing: .02em
}

.digest .accent-bar {
    height: 4px;
    background: linear-gradient(90deg, #AFB740 0%, #C6D39A 60%, transparent 100%);
    width: 100%
}

.digest .topics-band {
    background: #2a2a20;
    padding: 96px 0
}

.digest .topics-head {
    margin-bottom: 48px
}

.digest .topics-head h2 {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #fff;
    margin: 0 0 8px;
    text-shadow: 2px 3px 0 #0006
}

.digest .topics-head p {
    font-size: 17px;
    line-height: 1.6;
    color: #ffffffb3;
    margin: 0
}

.digest .topics-columns {
    display: grid;
    grid-template-columns: 1fr 3px 1fr;
    gap: 0 32px;
    align-items: stretch
}

.digest .topics-divider {
    background: linear-gradient(180deg, transparent 0%, #AFB740 30%, #C6D39A 70%, transparent 100%);
    border-radius: 44px;
    align-self: stretch
}

.digest .topics-col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.digest .topic-item {
    padding: 32px;
    border-radius: 6px;
    background: #ffffff0d;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: background .5s ease-in-out;
    position: relative;
    overflow: hidden
}

.digest .topic-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 0;
    background: #AFB740;
    transition: width .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.digest .topic-item:hover {
    background: #afb7401f
}

.digest .topic-item:hover::after {
    width: 100%
}

.digest .topic-title {
    font-size: 17px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #fff;
    font-weight: 600
}

.digest .topic-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #ffffffa6;
    margin: 0
}

.digest .newsletter-band {
    padding: 96px 0;
    background: #FAFAF9;
    position: relative
}

.digest .newsletter-inner {
    display: grid;
    grid-template-columns: 55% 45%;
    gap: 48px;
    align-items: center
}

.digest .newsletter-text h2 {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #2a2a20;
    margin: 0 0 16px;
    text-shadow: 1px 2px 0 #afb7402e
}

.digest .newsletter-opener {
    font-size: 17px;
    line-height: 1.6;
    color: #2a2a20;
    background: #afb74017;
    border-radius: 6px;
    padding: 16px;
    margin: 0 0 16px
}

.digest .newsletter-body {
    font-size: 17px;
    line-height: 1.6;
    color: #4a4a3a;
    margin: 0
}

.digest .newsletter-form-box {
    background: #fff;
    border-radius: 6px;
    padding: 48px 32px;
    box-shadow: inset 0 1px 5px 0 #afb74012 0 7px 20px 0 #afb74014;
    position: relative
}

.digest .newsletter-form-box::before {
    content: '';
    position: absolute;
    inset: 4px;
    border: 1px solid #afb74033;
    border-radius: 6px;
    pointer-events: none
}

.digest .form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px
}

.digest .form-field label {
    font-size: 15px;
    letter-spacing: .02em;
    color: #2a2a20;
    font-weight: 600
}

.digest .form-field input {
    padding: 16px;
    border: 1.5px solid #d4d8b0;
    border-radius: 6px;
    font-size: 15px;
    color: #2a2a20;
    background: #fff;
    letter-spacing: .01em;
    transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
    outline: none
}

.digest .form-field input::placeholder {
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: .06em;
    color: #9a9a80
}

.digest .form-field input:focus {
    border-color: #AFB740;
    box-shadow: 0 1px 5px 0 #afb74012
}

.digest .form-submit {
    width: 100%;
    padding: 16px 32px;
    border: none;
    border-radius: 6px;
    background: #AFB740;
    color: #fff;
    font-size: 17px;
    letter-spacing: .02em;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: relative;
    overflow: hidden;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    margin-top: 32px
}

.digest .form-submit::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #2a2a20;
    transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.digest .form-submit:hover::before {
    height: 100%
}

.digest .form-submit span,
.digest .form-submit svg {
    position: relative;
    z-index: 1
}

.digest .form-submit:focus {
    outline: 2px solid #2a2a20;
    outline-offset: 3px
}

@media (max-width: 1024px) {
    .digest .title-split {
        grid-template-columns: 1fr 1fr
    }

    .digest .posts-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .digest .about-grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .digest .about-text-col {
        padding-right: 0
    }

    .digest .about-stats-col {
        flex-direction: row
    }

    .digest .stat-item {
        flex: 1
    }

    .digest .newsletter-inner {
        grid-template-columns: 1fr
    }
}

@media (max-width: 768px) {
    .digest .page-container {
        padding: 0 16px
    }

    .digest .title-split {
        grid-template-columns: 1fr
    }

    .digest .title-left {
        padding: 48px 32px
    }

    .digest .title-heading {
        font-size: 37px
    }

    .digest .posts-grid {
        grid-template-columns: 1fr
    }

    .digest .topics-columns {
        grid-template-columns: 1fr
    }

    .digest .topics-divider {
        display: none
    }

    .digest .about-stats-col {
        flex-direction: column
    }

    .digest .newsletter-inner {
        grid-template-columns: 1fr
    }

    .digest .about-heading,
    .digest .topics-head h2,
    .digest .newsletter-text h2 {
        font-size: 27px
    }
}

@media (max-width: 480px) {
    .digest .title-heading {
        font-size: 27px
    }

    .digest .post-body {
        padding: 16px
    }

    .digest .posts-area {
        padding: 48px 0 32px
    }

    .digest .about-strip,
    .digest .topics-band,
    .digest .newsletter-band {
        padding: 48px 0
    }

    .digest .stat-number {
        font-size: 37px
    }
}

.debut {
    max-width: 100%;
    overflow-x: hidden
}

.debut .page-band {
    width: 100%;
    padding: 0;
    margin: 0
}

.debut .constrain {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px
}

.debut .opener {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 420px;
    position: relative
}

.debut .opener-text {
    padding: 48px 48px 48px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff;
    position: relative;
    z-index: 1
}

.debut .opener-stripe {
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #AFB740 0%, #C6D39A 100%);
    border-radius: 0 6px 6px 0
}

.debut .opener-label {
    font-size: 15px;
    letter-spacing: .12em;
    color: #AFB740;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600
}

.debut .opener-heading {
    font-size: 51px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #1e2000;
    margin-bottom: 16px;
    text-shadow: 1px 2px 0 #afb7402e
}

.debut .opener-heading span {
    color: #AFB740
}

.debut .opener-manifesto {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3d10;
    max-width: 440px;
    margin-bottom: 32px
}

.debut .opener-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    background: #AFB740;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .04em;
    border-radius: 6px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    align-self: flex-start;
    box-shadow: 0 7px 20px 0 #afb74014
}

.debut .opener-cta::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #1e2000;
    transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.debut .opener-cta:hover::before {
    height: 100%
}

.debut .opener-cta span,
.debut .opener-cta svg {
    position: relative;
    z-index: 1
}

.debut .opener-image {
    position: relative;
    overflow: hidden
}

.debut .opener-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.debut .opener-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: #afb74061
}

.debut .divider-curve {
    width: 100%;
    height: 32px;
    overflow: hidden;
    line-height: 0
}

.debut .divider-curve svg {
    width: 100%;
    height: 32px
}

.debut .stance {
    position: relative;
    padding: 96px 0;
    background: linear-gradient(135deg, #f5f6e8 55%, #eef2d6 55%);
    animation: revealUp .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-timeline: view();
    animation-range: entry 0 entry 30%
}

@keyframes revealUp {
    from {
        opacity: 0;
        transform: scale(0.97)
    }

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

.debut .stance-grid {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    align-items: start
}

.debut .stance-label-col {
    padding-top: 8px
}

.debut .stance-number {
    font-size: 68px;
    line-height: 1.1;
    letter-spacing: -.01em;
    font-weight: 700;
    margin-bottom: 8px
}

.debut .stance-number .num-int {
    color: #1e2000
}

.debut .stance-number .num-frac {
    color: #AFB740
}

.debut .stance-sublabel {
    font-size: 15px;
    color: #6b6f28;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 600
}

.debut .stance-body h2 {
    font-size: 37px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1e2000;
    margin-bottom: 16px;
    text-shadow: 0 2px 4px #afb74024
}

.debut .stance-first {
    font-size: 17px;
    line-height: 1.6;
    color: #2a2d08;
    padding: 16px;
    background: #afb74017;
    border-radius: 6px;
    margin-bottom: 16px;
    box-shadow: inset 0 1px 5px 0 #afb74012
}

.debut .stance-body p {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3d10;
    margin-bottom: 16px
}

.debut .expertise {
    padding: 96px 0 48px;
    background: #fff;
    animation: revealUp .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-timeline: view();
    animation-range: entry 0 entry 30%
}

.debut .expertise-inner {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 48px;
    align-items: center
}

.debut .expertise-text h2 {
    font-size: 37px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1e2000;
    margin-bottom: 16px;
    text-shadow: 0 2px 4px #afb74024
}

.debut .expertise-first {
    font-size: 17px;
    line-height: 1.6;
    color: #2a2d08;
    padding: 16px;
    background: #c6d39a2e;
    border-radius: 6px;
    margin-bottom: 16px;
    box-shadow: inset 0 1px 5px 0 #c6d39a1f
}

.debut .expertise-text p {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3d10;
    margin-bottom: 16px
}

.debut .expertise-image-wrap {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 10px 44px 0 #afb74024;
    position: relative
}

.debut .expertise-image-wrap img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    object-position: top;
    display: block;
    transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.debut .expertise-image-wrap:hover img {
    transform: scale(1.04)
}

.debut .partners {
    padding: 48px 0 96px;
    background: #fff;
    animation: revealUp .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-timeline: view();
    animation-range: entry 0 entry 30%
}

.debut .partners-inner {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px
}

.debut .partners-inner h2 {
    font-size: 27px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1e2000;
    margin-bottom: 32px;
    text-shadow: 0 1px 3px #afb7401f
}

.debut .partners-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px
}

.debut .partner-card {
    padding: 32px 16px;
    border-radius: 6px;
    background: #f7f8ee;
    box-shadow: inset 0 1px 5px 0 #afb74012 0 1px 5px 0 #afb74012;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    position: relative;
    overflow: hidden;
    transition: box-shadow .5s ease-in-out, background .5s ease-in-out;
    cursor: default
}

.debut .partner-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(45deg, #afb7400f 25%, transparent 25%), linear-gradient(-45deg, #afb7400f 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #afb7400f 75%), linear-gradient(-45deg, transparent 75%, #afb7400f 75%);
    background-size: 20px 20px;
    background-position: 0 0, 0 10px, 10px -10px, -10px 0;
    opacity: 0;
    transition: opacity .55s ease-in-out
}

.debut .partner-card:hover::before {
    opacity: 1
}

.debut .partner-card:hover {
    box-shadow: 0 7px 20px 0 #afb74014 inset 0 1px 5px 0 #afb74012
}

.debut .partner-icon {
    width: 36px;
    height: 36px;
    border-radius: 6px;
    background: #AFB740;
    display: flex;
    align-items: center;
    justify-content: center
}

.debut .partner-icon svg {
    width: 20px;
    height: 20px
}

.debut .partner-name {
    font-size: 15px;
    font-weight: 700;
    color: #1e2000;
    letter-spacing: .02em
}

.debut .partner-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4d1a
}

.debut .find {
    padding: 96px 0;
    background: linear-gradient(158deg, #eef2d6 0%, #f5f6e8 60%, #fdfdf6 100%);
    animation: revealUp .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-timeline: view();
    animation-range: entry 0 entry 30%
}

.debut .find-inner {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px
}

.debut .find-inner h2 {
    font-size: 37px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1e2000;
    margin-bottom: 8px;
    text-shadow: 0 2px 4px #afb74024
}

.debut .find-sub {
    font-size: 17px;
    line-height: 1.6;
    color: #4a4d1a;
    margin-bottom: 48px;
    max-width: 600px
}

.debut .find-tracks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.debut .track-card {
    background: #fff;
    border-radius: 6px;
    padding: 32px;
    box-shadow: 0 1px 5px 0 #afb74012 inset 0 1px 5px 0 #afb74012;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: box-shadow .55s ease-in-out, transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.debut .track-card:hover {
    box-shadow: 0 10px 44px 0 #afb74024;
    transform: translateY(-4px)
}

.debut .track-tag {
    display: inline-block;
    font-size: 15px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #AFB740;
    font-weight: 700;
    margin-bottom: 4px
}

.debut .track-card h4 {
    font-size: 21px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1e2000;
    margin: 0;
    text-shadow: 0 1px 3px #afb7401a
}

.debut .track-card p {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4d1a;
    margin: 0
}

.debut .track-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #AFB740;
    text-decoration: none;
    margin-top: 8px;
    letter-spacing: .02em;
    transition: color .45s ease-in-out
}

.debut .track-link:hover {
    color: #1e2000
}

.debut .cumulative {
    padding: 96px 0;
    background: #1e2000;
    animation: revealUp .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-timeline: view();
    animation-range: entry 0 entry 30%
}

.debut .cumulative-inner {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start
}

.debut .cumulative-text h2 {
    font-size: 37px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #f0f2d4;
    margin-bottom: 16px;
    text-shadow: 0 2px 8px #afb74038
}

.debut .cumulative-first {
    font-size: 17px;
    line-height: 1.6;
    color: #c8cc7a;
    padding: 16px;
    background: #afb7401a;
    border-radius: 6px;
    margin-bottom: 16px;
    box-shadow: inset 0 1px 5px 0 #afb74012
}

.debut .cumulative-text p {
    font-size: 17px;
    line-height: 1.6;
    color: #c8cc7a;
    margin-bottom: 16px
}

.debut .cumulative-image-wrap {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 10px 44px 0 #afb74024
}

.debut .cumulative-image-wrap img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    filter: brightness(0.88) saturate(0.9)
}

.debut .cumulative-image-wrap:hover img {
    transform: scale(1.03)
}

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

.debut .steps-list li {
    display: flex;
    align-items: flex-start;
    gap: 16px
}

.debut .step-num {
    min-width: 32px;
    height: 32px;
    border-radius: 44px;
    background: #AFB740;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0
}

.debut .step-text {
    font-size: 15px;
    line-height: 1.6;
    color: #c8cc7a
}

.debut .subscribe {
    padding: 96px 0;
    background: #fff;
    animation: revealUp .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-timeline: view();
    animation-range: entry 0 entry 30%
}

.debut .subscribe-inner {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 96px;
    align-items: center
}

.debut .subscribe-text h2 {
    font-size: 37px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1e2000;
    margin-bottom: 16px;
    text-shadow: 0 2px 4px #afb74024
}

.debut .subscribe-first {
    font-size: 17px;
    line-height: 1.6;
    color: #2a2d08;
    padding: 16px;
    background: #afb74017;
    border-radius: 6px;
    margin-bottom: 16px;
    box-shadow: inset 0 1px 5px 0 #afb74012
}

.debut .subscribe-text p {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3d10;
    margin-bottom: 16px
}

.debut .subscribe-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px
}

.debut .subscribe-detail {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #4a4d1a
}

.debut .detail-dot {
    width: 8px;
    height: 8px;
    border-radius: 44px;
    background: #AFB740;
    flex-shrink: 0
}

.debut .subscribe-form {
    background: #f7f8ee;
    border-radius: 6px;
    padding: 48px;
    box-shadow: 0 7px 20px 0 #afb74014 inset 0 1px 5px 0 #afb74012
}

.debut .subscribe-form h3 {
    font-size: 21px;
    line-height: 1.35;
    color: #1e2000;
    margin-bottom: 32px;
    letter-spacing: .01em;
    text-shadow: 0 1px 3px #afb7401a
}

.debut .form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px
}

.debut .form-field label {
    font-size: 15px;
    font-weight: 600;
    color: #1e2000;
    letter-spacing: .02em
}

.debut .form-field input {
    padding: 16px;
    border: 1px solid #afb7404d;
    border-radius: 6px;
    background: #fff;
    font-size: 15px;
    color: #1e2000;
    outline: none;
    transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
    letter-spacing: .01em
}

.debut .form-field input::placeholder {
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: .08em;
    color: #9a9d6a
}

.debut .form-field input:focus {
    border-color: #AFB740;
    box-shadow: 0 1px 5px 0 #afb74012
}

.debut .form-submit {
    width: 100%;
    padding: 16px 32px;
    background: #AFB740;
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: .04em;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    box-shadow: 0 7px 20px 0 #afb74014
}

.debut .form-submit::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #1e2000;
    transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.debut .form-submit:hover::before {
    height: 100%
}

.debut .form-submit span,
.debut .form-submit svg {
    position: relative;
    z-index: 1
}

.debut .form-note {
    font-size: 15px;
    color: #6b6f28;
    margin-top: 16px;
    line-height: 1.6
}

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

    .debut .opener-heading {
        font-size: 37px
    }

    .debut .stance-grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .debut .stance-number {
        font-size: 51px
    }

    .debut .partners-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .debut .find-tracks {
        grid-template-columns: repeat(2, 1fr)
    }

    .debut .subscribe-inner {
        grid-template-columns: 1fr;
        gap: 48px
    }

    .debut .cumulative-inner {
        grid-template-columns: 1fr;
        gap: 32px
    }
}

@media (max-width: 768px) {
    .debut .opener {
        grid-template-columns: 1fr
    }

    .debut .opener-image {
        height: 260px
    }

    .debut .opener-text {
        padding: 48px 32px
    }

    .debut .opener-heading {
        font-size: 37px
    }

    .debut .expertise-inner {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .debut .partners-grid {
        grid-template-columns: 1fr 1fr
    }

    .debut .find-tracks {
        grid-template-columns: 1fr
    }

    .debut .subscribe-form {
        padding: 32px
    }

    .debut .stance {
        padding: 48px 0
    }

    .debut .expertise {
        padding: 48px 0 32px
    }

    .debut .partners {
        padding: 32px 0 48px
    }

    .debut .find {
        padding: 48px 0
    }

    .debut .cumulative {
        padding: 48px 0
    }

    .debut .subscribe {
        padding: 48px 0
    }
}

@media (max-width: 480px) {
    .debut .opener-heading {
        font-size: 27px
    }

    .debut .partners-grid {
        grid-template-columns: 1fr
    }

    .debut .constrain {
        padding: 0 16px
    }

    .debut .stance-grid,
    .debut .expertise-inner,
    .debut .cumulative-inner,
    .debut .find-inner,
    .debut .partners-inner,
    .debut .subscribe-inner {
        padding: 0 16px
    }

    .debut .opener-text {
        padding: 32px 16px
    }
}

.blog-root {
    max-width: 100%;
    overflow-x: hidden
}

.blog-root .page-container {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px
}

.blog-root .hero-band {
    background: #1b1e0f;
    padding: 96px 0 48px;
    position: relative
}

.blog-root .hero-band::after {
    content: '';
    display: block;
    height: 2px;
    background: repeating-linear-gradient(90deg, #AFB740 0px, #AFB740 6px, transparent 6px, transparent 18px);
    margin-top: 48px
}

.blog-root .hero-inner {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px
}

.blog-root .hero-text {
    flex: 0 0 40%
}

.blog-root .hero-label {
    display: inline-block;
    font-size: 15px;
    letter-spacing: .12em;
    color: #AFB740;
    text-transform: uppercase;
    margin-bottom: 16px;
    border-bottom: 1px solid #AFB740;
    padding-bottom: 4px
}

.blog-root .hero-heading {
    font-size: 68px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #FAFAF9;
    text-shadow: 2px 3px 0 #afb7402e;
    margin: 0 0 32px
}

.blog-root .hero-heading span {
    color: #AFB740
}

.blog-root .hero-sub {
    font-size: 17px;
    line-height: 1.6;
    color: #c8cba8;
    margin: 0;
    max-width: 340px
}

.blog-root .hero-right {
    flex: 1;
    position: relative
}

.blog-root .hero-image-wrap {
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 44px 0 #afb74024
}

.blog-root .hero-image-wrap img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: center;
    display: block
}

.blog-root .hero-image-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #1b1e0f8c 0%, transparent 60%, #afb7401f 100%);
    pointer-events: none
}

.blog-root .hero-decor {
    position: absolute;
    top: -16px;
    right: -16px;
    width: 80px;
    height: 80px;
    border: 2px dashed #afb74059;
    border-radius: 6px;
    pointer-events: none
}

.blog-root .drop-letter {
    display: inline-block;
    opacity: 0;
    transform: translateY(-24px);
    animation: letter-drop .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.blog-root .drop-letter:nth-child(1) {
    animation-delay: .05s
}

.blog-root .drop-letter:nth-child(2) {
    animation-delay: .12s
}

.blog-root .drop-letter:nth-child(3) {
    animation-delay: .19s
}

.blog-root .drop-letter:nth-child(4) {
    animation-delay: .26s
}

.blog-root .drop-letter:nth-child(5) {
    animation-delay: .33s
}

.blog-root .drop-letter:nth-child(6) {
    animation-delay: .4s
}

.blog-root .drop-letter:nth-child(7) {
    animation-delay: .47s
}

@keyframes letter-drop {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.blog-root .divider-crosses {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 32px 0;
    justify-content: center;
    overflow: hidden
}

.blog-root .cross-item {
    width: 12px;
    height: 12px;
    position: relative;
    flex-shrink: 0
}

.blog-root .cross-item::before,
.blog-root .cross-item::after {
    content: '';
    position: absolute;
    background: #AFB740;
    border-radius: 1px
}

.blog-root .cross-item::before {
    width: 12px;
    height: 2px;
    top: 5px;
    left: 0
}

.blog-root .cross-item::after {
    width: 2px;
    height: 12px;
    top: 0;
    left: 5px
}

.blog-root .posts-band {
    padding: 96px 0;
    background: #FAFAF9
}

.blog-root .posts-band-label {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #AFB740;
    margin-bottom: 8px
}

.blog-root .posts-band-heading {
    font-size: 37px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1b1e0f;
    text-shadow: 1px 1px 0 #afb7401f;
    margin: 0 0 48px
}

.blog-root .posts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px
}

.blog-root .post-card {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 7px 20px 0 #afb74014;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .55s ease-in-out, transform .55s ease-in-out;
    position: relative
}

.blog-root .posts-grid:has(.post-card:hover) .post-card:not(:hover) {
    opacity: .6;
    transition: opacity .55s ease-in-out
}

.blog-root .post-card:hover {
    box-shadow: 0 10px 44px 0 #afb74024;
    transform: translateY(-4px)
}

.blog-root .post-card-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center;
    display: block
}

.blog-root .post-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1
}

.blog-root .post-card-tags {
    display: flex;
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap
}

.blog-root .post-tag {
    font-size: 15px;
    color: #AFB740;
    background: #afb74014;
    border-radius: 44px;
    padding: 4px 16px;
    letter-spacing: .02em
}

.blog-root .post-card-title {
    font-size: 21px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1b1e0f;
    margin: 8px 0 0
}

.blog-root .post-card-desc {
    font-size: 17px;
    line-height: 1.6;
    color: #3d4020;
    margin: 0
}

.blog-root .post-card-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #afb74026
}

.blog-root .post-meta-author {
    font-size: 15px;
    color: #5a5f2e;
    letter-spacing: .01em
}

.blog-root .post-meta-right {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.blog-root .post-meta-read {
    font-size: 15px;
    color: #8a8f55
}

.blog-root .post-meta-likes {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    color: #AFB740
}

.blog-root .like-icon {
    width: 16px;
    height: 16px
}

.blog-root .post-card-link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    font-size: 15px;
    color: #1b1e0f;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: .02em;
    padding: 8px 16px;
    border: 1px solid #AFB740;
    border-radius: 6px;
    position: relative;
    overflow: hidden;
    transition: color .5s ease-in-out;
    align-self: flex-start
}

.blog-root .post-card-link::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #AFB740;
    transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.blog-root .post-card-link:hover::before {
    height: 100%
}

.blog-root .post-card-link:hover {
    color: #1b1e0f
}

.blog-root .post-card-link span {
    position: relative;
    z-index: 1
}

.blog-root .link-arrow {
    position: relative;
    z-index: 1;
    width: 16px;
    height: 16px
}

.blog-root .stats-band {
    background: linear-gradient(158deg, #e8ecc8 0%, #f5f7e8 100%);
    padding: 96px 0
}

.blog-root .stats-inner {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.blog-root .stats-text-col {
    flex: 0 0 40%
}

.blog-root .stats-label {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #AFB740;
    margin-bottom: 16px
}

.blog-root .stats-heading {
    font-size: 37px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1b1e0f;
    text-shadow: 1px 2px 0 #afb74026;
    margin: 0 0 16px
}

.blog-root .stats-body {
    font-size: 17px;
    line-height: 1.6;
    color: #3d4020;
    margin: 0
}

.blog-root .stats-grid {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px
}

.blog-root .stat-item {
    background: #fff;
    border-radius: 6px;
    padding: 32px;
    box-shadow: 0 1px 5px 0 #afb74012
}

.blog-root .stat-number {
    font-size: 51px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #1b1e0f;
    font-weight: 700;
    display: block
}

.blog-root .stat-fill-bar {
    width: 100%;
    height: 2px;
    background: #afb74026;
    border-radius: 1px;
    margin: 8px 0 12px;
    position: relative
}

.blog-root .stat-fill-bar-inner {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background: #AFB740;
    border-radius: 1px
}

.blog-root .stat-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #5a5f2e;
    margin: 0
}

.blog-root .digest-band {
    padding: 96px 0;
    background: #fff
}

.blog-root .digest-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 48px
}

.blog-root .digest-heading-group {
    flex: 1
}

.blog-root .digest-label {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #AFB740;
    margin-bottom: 8px
}

.blog-root .digest-heading {
    font-size: 37px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1b1e0f;
    text-shadow: 1px 1px 0 #afb7401a;
    margin: 0
}

.blog-root .digest-link-all {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 17px;
    color: #1b1e0f;
    text-decoration: none;
    border-bottom: 1px solid #AFB740;
    padding-bottom: 4px;
    transition: color .5s ease-in-out, border-color .5s ease-in-out
}

.blog-root .digest-link-all:hover {
    color: #AFB740
}

.blog-root .digest-list {
    display: flex;
    flex-direction: column;
    gap: 0
}

.blog-root .digest-item {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 32px;
    padding: 32px 0;
    border-bottom: 1px solid #afb74026;
    transition: background .5s ease-in-out
}

.blog-root .digest-item:first-child {
    border-top: 1px solid #afb74026
}

.blog-root .digest-item-number {
    font-size: 51px;
    line-height: 1.1;
    color: #afb7402e;
    font-weight: 700;
    min-width: 64px;
    text-align: right;
    flex-shrink: 0;
    letter-spacing: .01em
}

.blog-root .digest-item-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.blog-root .digest-item-title {
    font-size: 21px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1b1e0f;
    margin: 0
}

.blog-root .digest-item-desc {
    font-size: 17px;
    line-height: 1.6;
    color: #3d4020;
    margin: 0
}

.blog-root .digest-item-foot {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-top: 8px
}

.blog-root .digest-meta {
    font-size: 15px;
    color: #8a8f55
}

.blog-root .digest-item-link {
    font-size: 15px;
    color: #AFB740;
    text-decoration: none;
    letter-spacing: .02em;
    border-bottom: 1px solid transparent;
    transition: border-color .5s ease-in-out
}

.blog-root .digest-item-link:hover {
    border-color: #AFB740
}

.blog-root .digest-item-likes {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    color: #AFB740;
    margin-left: auto
}

.blog-root .about-band {
    padding: 96px 0;
    background: linear-gradient(170deg, #f0f2d8 0%, #e8eccc 100%);
    position: relative
}

.blog-root .about-inner {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: center
}

.blog-root .about-text {
    flex: 1
}

.blog-root .about-label {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #AFB740;
    margin-bottom: 16px
}

.blog-root .about-heading {
    font-size: 37px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #1b1e0f;
    text-shadow: 1px 1px 0 #afb74026;
    margin: 0 0 16px
}

.blog-root .about-first-para {
    font-size: 17px;
    line-height: 1.6;
    color: #1b1e0f;
    margin: 0 0 16px;
    background: #afb7401a;
    padding: 16px;
    border-radius: 6px
}

.blog-root .about-para {
    font-size: 17px;
    line-height: 1.6;
    color: #3d4020;
    margin: 0 0 16px
}

.blog-root .about-para:last-of-type {
    margin-bottom: 0
}

.blog-root .about-aside {
    flex: 0 0 40%;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.blog-root .about-dashed-card {
    border: 2px dashed #afb74073;
    border-radius: 6px;
    padding: 32px;
    background: #ffffffb3;
    box-shadow: inset 0 2px 12px 0 #afb74012
}

.blog-root .about-dashed-card-heading {
    font-size: 21px;
    line-height: 1.35;
    color: #1b1e0f;
    margin: 0 0 16px;
    letter-spacing: .01em
}

.blog-root .about-dashed-card-text {
    font-size: 17px;
    line-height: 1.6;
    color: #3d4020;
    margin: 0 0 16px
}

.blog-root .about-cta {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 17px;
    color: #1b1e0f;
    text-decoration: none;
    padding: 16px 32px;
    border-radius: 6px;
    background: #AFB740;
    position: relative;
    overflow: hidden;
    transition: color .55s ease-in-out;
    font-weight: 600;
    letter-spacing: .01em;
    box-shadow: 0 7px 20px 0 #afb74014
}

.blog-root .about-cta::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #1b1e0f;
    transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.blog-root .about-cta:hover::before {
    height: 100%
}

.blog-root .about-cta:hover {
    color: #AFB740
}

.blog-root .about-cta span {
    position: relative;
    z-index: 1
}

.blog-root .about-cta-icon {
    position: relative;
    z-index: 1;
    width: 18px;
    height: 18px
}

.blog-root .newsletter-band {
    background: #1b1e0f;
    padding: 96px 0
}

.blog-root .newsletter-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 96px;
    align-items: center
}

.blog-root .newsletter-text-label {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #AFB740;
    margin-bottom: 16px
}

.blog-root .newsletter-heading {
    font-size: 37px;
    line-height: 1.35;
    letter-spacing: .01em;
    color: #FAFAF9;
    text-shadow: 1px 2px 0 #afb7402e;
    margin: 0 0 16px
}

.blog-root .newsletter-body {
    font-size: 17px;
    line-height: 1.6;
    color: #c8cba8;
    margin: 0
}

.blog-root .newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.blog-root .newsletter-field {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.blog-root .newsletter-label {
    font-size: 15px;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #c8cba8
}

.blog-root .newsletter-input {
    background: #afb7400f;
    border: 1px solid #afb74040;
    border-radius: 6px;
    padding: 16px;
    font-size: 17px;
    color: #FAFAF9;
    outline: none;
    transition: border-color .55s ease-in-out, background .55s ease-in-out
}

.blog-root .newsletter-input::placeholder {
    color: #c8cba880;
    text-transform: uppercase;
    font-size: 15px;
    letter-spacing: .05em
}

.blog-root .newsletter-input:focus {
    border-color: #AFB740;
    background: #afb7401a
}

.blog-root .newsletter-submit {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 17px;
    color: #1b1e0f;
    padding: 16px 32px;
    border-radius: 6px;
    background: #AFB740;
    border: none;
    cursor: pointer;
    font-weight: 600;
    letter-spacing: .01em;
    position: relative;
    overflow: hidden;
    transition: color .55s ease-in-out
}

.blog-root .newsletter-submit::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #C6D39A;
    transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.blog-root .newsletter-submit:hover::before {
    height: 100%
}

.blog-root .newsletter-submit span {
    position: relative;
    z-index: 1
}

@media (max-width: 1024px) {
    .blog-root .hero-heading {
        font-size: 51px
    }

    .blog-root .stats-inner {
        flex-direction: column
    }

    .blog-root .stats-text-col {
        flex: none;
        width: 100%
    }

    .blog-root .newsletter-inner {
        grid-template-columns: 1fr;
        gap: 48px
    }
}

@media (max-width: 768px) {
    .blog-root .page-container {
        padding: 0 16px
    }

    .blog-root .hero-inner {
        flex-direction: column
    }

    .blog-root .hero-text {
        flex: none
    }

    .blog-root .hero-heading {
        font-size: 37px
    }

    .blog-root .posts-grid {
        grid-template-columns: 1fr
    }

    .blog-root .stats-grid {
        grid-template-columns: 1fr
    }

    .blog-root .about-inner {
        flex-direction: column
    }

    .blog-root .about-aside {
        flex: none;
        width: 100%
    }

    .blog-root .digest-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }

    .blog-root .hero-band {
        padding: 48px 0 32px
    }

    .blog-root .posts-band,
    .blog-root .stats-band,
    .blog-root .digest-band,
    .blog-root .about-band,
    .blog-root .newsletter-band {
        padding: 48px 0
    }
}

@media (max-width: 480px) {
    .blog-root .hero-heading {
        font-size: 27px
    }

    .blog-root .stats-heading,
    .blog-root .about-heading,
    .blog-root .digest-heading,
    .blog-root .newsletter-heading,
    .blog-root .posts-band-heading {
        font-size: 27px
    }

    .blog-root .digest-item {
        flex-direction: column;
        gap: 8px
    }

    .blog-root .digest-item-number {
        font-size: 27px;
        min-width: auto;
        text-align: left
    }
}

.about-author-page {
    overflow-x: hidden
}

.about-author-page *,
.about-author-page ::before,
.about-author-page ::after {
    box-sizing: border-box
}

@keyframes fog-drift {
    0% {
        transform: translateX(-8%) translateY(0);
        opacity: .06
    }

    50% {
        transform: translateX(4%) translateY(-12px);
        opacity: .1
    }

    100% {
        transform: translateX(-8%) translateY(0);
        opacity: .06
    }
}

@keyframes bar-fill {
    from {
        width: 0
    }

    to {
        width: var(--bar-target)
    }
}

.about-author-page .geo-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 0;
    overflow: hidden
}

.about-author-page .geo-divider span {
    display: block;
    width: 6px;
    height: 6px;
    background: #AFB740;
    transform: rotate(45deg);
    opacity: .45;
    flex-shrink: 0
}

.about-author-page .geo-divider span:nth-child(even) {
    background: #C6D39A;
    opacity: .3
}

.about-author-page .title-block {
    background: #2b2c1e;
    position: relative;
    padding: 96px 32px
}

.about-author-page .title-block .fog-layer {
    position: absolute;
    inset: 0;
    background: linear-gradient(118deg, #f5f5ef 0%, #e8ecd4 100%);
    pointer-events: none;
    animation: fog-drift 9s ease-in-out infinite;
    overflow: hidden
}

.about-author-page .title-block .dots-path {
    position: absolute;
    top: 32px;
    right: 48px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    pointer-events: none
}

.about-author-page .title-block .dots-path span {
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 44px;
    background: #AFB740;
    opacity: .35
}

.about-author-page .title-block .dots-path span:nth-child(3n) {
    opacity: .55
}

.about-author-page .title-block .title-inner {
    position: relative;
    z-index: 1;
    max-width: 1170px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center
}

.about-author-page .title-block .title-text-col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.about-author-page .title-block .label-tag {
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .12em;
    color: #AFB740;
    text-transform: uppercase;
    border-bottom: 2px solid #AFB740;
    padding-bottom: 4px;
    width: fit-content
}

.about-author-page .title-block .page-heading {
    font-size: 51px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #f4f4ee;
    margin: 0;
    text-shadow: 2px 3px 0 #afb7402e 0 1px 18px #afb7401a
}

.about-author-page .title-block .page-heading .accented-phrase {
    color: #C6D39A;
    display: block
}

.about-author-page .title-block .title-byline {
    font-size: 17px;
    line-height: 1.6;
    color: #c8c9b8;
    margin: 0;
    letter-spacing: .015em;
    max-width: 440px
}

.about-author-page .title-block .image-col {
    position: relative;
    display: flex;
    justify-content: flex-end
}

.about-author-page .title-block .image-frame {
    position: relative;
    width: 380px;
    height: 460px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 10px 44px 0 #afb74024
}

.about-author-page .title-block .image-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #2c371461 0%, #141e0a8c 100%);
    pointer-events: none
}

.about-author-page .title-block .image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    filter: saturate(0.72) brightness(0.88)
}

.about-author-page .title-block .diamond-accent {
    position: absolute;
    bottom: -16px;
    left: -16px;
    width: 48px;
    height: 48px;
    background: #AFB740;
    transform: rotate(45deg);
    border-radius: 6px;
    z-index: 2;
    opacity: .88
}

.about-author-page .story-skills {
    background: #FAFAF9;
    padding: 96px 32px;
    position: relative
}

.about-author-page .story-skills .two-tone-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(148deg, #f0f2e6 0%, #FAFAF9 55%);
    pointer-events: none
}

.about-author-page .story-skills .fog-layer-2 {
    position: absolute;
    inset: 0;
    background: linear-gradient(200deg, #fff 0%, #c6d39a14 100%);
    pointer-events: none;
    animation: fog-drift 13s ease-in-out infinite reverse;
    overflow: hidden
}

.about-author-page .story-skills .story-inner {
    position: relative;
    z-index: 1;
    max-width: 1170px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 5fr 4fr;
    gap: 48px;
    align-items: start
}

.about-author-page .story-skills .story-col {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.about-author-page .story-skills .story-heading {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #1e2010;
    margin: 0;
    text-shadow: 1px 2px 0 #afb7401f
}

.about-author-page .story-skills .opening-para {
    background: linear-gradient(112deg, #f0f3df 0%, #f7f8f0 100%);
    border-radius: 6px;
    padding: 16px;
    font-size: 17px;
    line-height: 1.6;
    color: #232410;
    letter-spacing: .015em;
    box-shadow: inset 0 1px 5px 0 #afb74012;
    margin: 0
}

.about-author-page .story-skills .body-para {
    font-size: 17px;
    line-height: 1.6;
    color: #2e3018;
    letter-spacing: .015em;
    margin: 0
}

.about-author-page .story-skills .skills-col {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.about-author-page .story-skills .skills-card {
    background: #fff;
    border-radius: 6px;
    padding: 32px;
    box-shadow: 0 7px 20px 0 #afb74014;
    border-top: 3px solid #AFB740;
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative
}

.about-author-page .story-skills .skills-card .card-heading {
    font-size: 21px;
    line-height: 1.35;
    color: #1e2010;
    margin: 0;
    letter-spacing: .01em;
    text-shadow: 0 1px 4px #afb7401a
}

.about-author-page .story-skills .bar-group {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.about-author-page .story-skills .bar-item {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.about-author-page .story-skills .bar-label {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    font-size: 15px;
    color: #2e3018;
    letter-spacing: .015em
}

.about-author-page .story-skills .bar-track {
    height: 8px;
    background: #eef0e4;
    border-radius: 6px;
    overflow: hidden
}

.about-author-page .story-skills .bar-fill {
    height: 100%;
    border-radius: 6px;
    background: linear-gradient(90deg, #AFB740 0%, #C6D39A 100%);
    animation: bar-fill 1.1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-delay: .2s
}

.about-author-page .story-skills .bar-fill.b1 {
    --bar-target: 91%;
    width: 91%
}

.about-author-page .story-skills .bar-fill.b2 {
    --bar-target: 84%;
    width: 84%;
    animation-delay: .35s
}

.about-author-page .story-skills .bar-fill.b3 {
    --bar-target: 78%;
    width: 78%;
    animation-delay: .5s
}

.about-author-page .story-skills .bar-fill.b4 {
    --bar-target: 88%;
    width: 88%;
    animation-delay: .65s
}

.about-author-page .story-skills .image-strip {
    width: 100%;
    height: 200px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 7px 20px 0 #afb74014
}

.about-author-page .story-skills .image-strip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.about-author-page .story-skills .image-strip:hover img {
    transform: scale(1.04)
}

.about-author-page .approach-block {
    background: #2b2c1e;
    padding: 96px 32px;
    position: relative
}

.about-author-page .approach-block .fog-layer-3 {
    position: absolute;
    inset: 0;
    background: linear-gradient(170deg, #afb7400f 0%, #ffffff08 60%);
    pointer-events: none;
    animation: fog-drift 11s ease-in-out infinite;
    overflow: hidden
}

.about-author-page .approach-block .approach-inner {
    position: relative;
    z-index: 1;
    max-width: 1170px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 48px
}

.about-author-page .approach-block .approach-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end
}

.about-author-page .approach-block .approach-heading {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #f4f4ee;
    margin: 0;
    text-shadow: 2px 2px 0 #afb74033
}

.about-author-page .approach-block .approach-intro {
    font-size: 17px;
    line-height: 1.6;
    color: #b8baa4;
    margin: 0;
    letter-spacing: .015em
}

.about-author-page .approach-block .comparison-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px
}

.about-author-page .approach-block .compare-card {
    background: #363724;
    border-radius: 6px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: inset 0 1px 5px 0 #afb74012;
    transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.about-author-page .approach-block .compare-card:hover {
    box-shadow: inset 0 1px 5px 0 #afb74012 0 7px 20px 0 #afb74014
}

.about-author-page .approach-block .compare-card.highlighted {
    background: #3f4228;
    border-top: 3px solid #AFB740
}

.about-author-page .approach-block .compare-label {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #AFB740
}

.about-author-page .approach-block .compare-heading {
    font-size: 21px;
    line-height: 1.35;
    color: #f4f4ee;
    margin: 0;
    letter-spacing: .01em;
    text-shadow: 0 1px 6px #afb7401f
}

.about-author-page .approach-block .compare-text {
    font-size: 17px;
    line-height: 1.6;
    color: #b8baa4;
    margin: 0;
    letter-spacing: .015em
}

.about-author-page .approach-block .compare-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.about-author-page .approach-block .compare-list li {
    font-size: 15px;
    line-height: 1.6;
    color: #c8cbb2;
    letter-spacing: .015em;
    padding-left: 16px;
    position: relative
}

.about-author-page .approach-block .compare-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 5px;
    height: 5px;
    background: #AFB740;
    transform: rotate(45deg);
    border-radius: 0
}

.about-author-page .approach-block .image-wide {
    width: 100%;
    height: 260px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 10px 44px 0 #afb74024;
    position: relative
}

.about-author-page .approach-block .image-wide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.68) brightness(0.82);
    transition: filter .65s ease-in-out
}

.about-author-page .approach-block .image-wide:hover img {
    filter: saturate(0.88) brightness(0.92)
}

.about-author-page .approach-block .image-wide .diamond-corner {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    background: #AFB740;
    transform: rotate(45deg);
    border-radius: 6px;
    opacity: .8;
    pointer-events: none
}

.about-author-page .approach-block .contact-strip {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background: #3f4228;
    border-radius: 6px;
    padding: 32px;
    gap: 32px;
    box-shadow: 0 7px 20px 0 #afb74014
}

.about-author-page .approach-block .contact-strip .strip-text {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.about-author-page .approach-block .contact-strip .strip-heading {
    font-size: 27px;
    line-height: 1.35;
    color: #f4f4ee;
    margin: 0;
    letter-spacing: .01em;
    text-shadow: 1px 2px 0 #afb74026
}

.about-author-page .approach-block .contact-strip .strip-sub {
    font-size: 17px;
    line-height: 1.6;
    color: #b8baa4;
    margin: 0
}

.about-author-page .approach-block .contact-btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: #AFB740;
    color: #1e2010;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: 16px 32px;
    border-radius: 6px;
    text-decoration: none;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    box-shadow: 0 7px 20px 0 #afb74014;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.about-author-page .approach-block .contact-btn::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #C6D39A;
    transition: height .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.about-author-page .approach-block .contact-btn:hover::before {
    height: 100%
}

.about-author-page .approach-block .contact-btn span {
    position: relative;
    z-index: 1
}

.about-author-page .approach-block .contact-btn:hover {
    box-shadow: 0 10px 44px 0 #afb74024
}

.about-author-page .approach-block .contact-btn:focus-visible {
    outline: 3px solid #C6D39A;
    outline-offset: 3px
}

.about-author-page .approach-block .btn-icon {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center
}

@media (max-width: 1024px) {
    .about-author-page .title-block .title-inner {
        grid-template-columns: 1fr 1fr;
        gap: 32px
    }

    .about-author-page .title-block .image-frame {
        width: 300px;
        height: 380px
    }

    .about-author-page .story-skills .story-inner {
        grid-template-columns: 1fr
    }

    .about-author-page .story-skills .image-strip {
        height: 160px
    }

    .about-author-page .approach-block .approach-top {
        grid-template-columns: 1fr;
        gap: 16px
    }
}

@media (max-width: 768px) {
    .about-author-page .title-block {
        padding: 48px 16px
    }

    .about-author-page .title-block .title-inner {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .about-author-page .title-block .page-heading {
        font-size: 37px
    }

    .about-author-page .title-block .image-col {
        justify-content: center
    }

    .about-author-page .title-block .image-frame {
        width: 100%;
        max-width: 340px;
        height: 320px
    }

    .about-author-page .title-block .dots-path {
        right: 16px;
        top: 16px
    }

    .about-author-page .story-skills {
        padding: 48px 16px
    }

    .about-author-page .story-skills .story-heading {
        font-size: 27px
    }

    .about-author-page .approach-block {
        padding: 48px 16px
    }

    .about-author-page .approach-block .approach-heading {
        font-size: 27px
    }

    .about-author-page .approach-block .comparison-row {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .about-author-page .approach-block .contact-strip {
        flex-direction: column;
        align-items: flex-start
    }

    .about-author-page .approach-block .image-wide {
        height: 180px
    }
}

@media (max-width: 480px) {
    .about-author-page .title-block .page-heading {
        font-size: 27px
    }

    .about-author-page .approach-block .strip-heading {
        font-size: 21px
    }

    .about-author-page .story-skills .skills-card {
        padding: 16px
    }
}

.success-page {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 96px 32px;
    background-color: #fff
}

.success-page .success-wrapper {
    max-width: 1170px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px
}

.success-page .success-card {
    max-width: 600px;
    width: 100%;
    background: #FAFAF9;
    border-radius: 6px;
    padding: 48px;
    box-shadow: 0 10px 44px 0 #afb74024;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px
}

.success-page .success-icon-wrap {
    width: 64px;
    height: 64px;
    border-radius: 44px;
    background: #C6D39A;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.success-page .success-icon-wrap svg {
    display: block
}

.success-page .success-heading {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #1b1b1b;
    text-shadow: 0 1px 2px #afb7401a;
    margin: 0
}

.success-page .success-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%
}

.success-page .success-lead {
    font-size: 17px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #2c2c2c;
    background: #f0f2e0;
    border-radius: 6px;
    padding: 16px;
    margin: 0
}

.success-page .success-text {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #3a3a3a;
    margin: 0
}

.success-page .success-divider {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, #C6D39A 0%, #f0f2e0 100%);
    border: none;
    margin: 0
}

.success-page .success-meta {
    font-size: 15px;
    line-height: 1.35;
    letter-spacing: .02em;
    color: #5a5a5a;
    margin: 0
}

.success-page .success-meta a {
    color: #7a7f1a;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color .5s ease-in-out
}

.success-page .success-meta a:hover {
    color: #AFB740
}

.success-page .success-actions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.success-page .button-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    background: #AFB740;
    color: #fff;
    font-size: 15px;
    line-height: 1.35;
    letter-spacing: .02em;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    box-shadow: 0 7px 20px 0 #afb74014;
    transition: color .5s ease-in-out, box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.success-page .button-primary::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: #8a8e2e;
    border-radius: 6px;
    transition: bottom .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.success-page .button-primary:hover::after {
    bottom: 0
}

.success-page .button-primary:hover {
    box-shadow: 0 10px 44px 0 #afb74024
}

.success-page .button-primary span,
.success-page .button-primary svg {
    position: relative;
    z-index: 1
}

.success-page .button-primary:focus-visible {
    outline: 2px solid #AFB740;
    outline-offset: 3px
}

.success-page .button-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    background: transparent;
    color: #2c2c2c;
    font-size: 15px;
    line-height: 1.35;
    letter-spacing: .02em;
    border-radius: 6px;
    border: 1px solid #C6D39A;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: color .5s ease-in-out, border-color .5s ease-in-out, box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.success-page .button-secondary::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: #f0f2e0;
    border-radius: 6px;
    transition: bottom .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.success-page .button-secondary:hover::after {
    bottom: 0
}

.success-page .button-secondary:hover {
    border-color: #AFB740;
    box-shadow: 0 1px 5px 0 #afb74012
}

.success-page .button-secondary span,
.success-page .button-secondary svg {
    position: relative;
    z-index: 1
}

.success-page .button-secondary:focus-visible {
    outline: 2px solid #AFB740;
    outline-offset: 3px
}

@media (max-width: 480px) {
    .success-page {
        padding: 48px 16px
    }

    .success-page .success-card {
        padding: 32px 16px;
        gap: 16px
    }

    .success-page .success-heading {
        font-size: 27px
    }

    .success-page .success-actions {
        flex-direction: column;
        width: 100%
    }

    .success-page .button-primary,
    .success-page .button-secondary {
        width: 100%;
        justify-content: center
    }
}