:root {
    --pvl-ocean: #256fa8;
    --pvl-ocean-dark: #1d5d8f;
    --pvl-ocean-deep: #17496f;
    --pvl-ocean-soft: #e7f1f9;
    --pvl-gold: #ef9f27;
    --pvl-gold-soft: #fff4df;
    --pvl-green: #1d9e75;
    --pvl-coral: #d85a30;
    --pvl-ink: #20313f;
    --pvl-muted: #667785;
    --pvl-line: #d8e3e8;
    --pvl-paper: #fbfcfb;
    --pvl-surface: #ffffff;
    --pvl-radius: 8px;
    --color-primary-text: var(--pvl-ink);
    --ghost-accent-color: var(--pvl-ocean);
}

body {
    color: var(--pvl-ink);
    background: var(--pvl-paper);
}

a {
    color: inherit;
}

.gh-head {
    background: rgba(251, 252, 251, 0.96);
}

body:not(.is-head-stacked) .gh-head-inner,
.gh-topic-footer,
.gh-topic-grid .gh-card:not(:only-child).large,
.gh-topic-header,
.gh-read-next .gh-pagehead-title::after {
    border-color: var(--pvl-line);
}

.gh-head-logo,
.gh-topic-name,
.gh-pagehead-title,
.gh-article-title,
.gh-card-title {
    color: var(--pvl-ink);
    letter-spacing: 0;
}

.gh-head-menu .nav a:hover,
.gh-topic-name a:hover,
.gh-card-link:hover .gh-card-title,
.gh-topic-link:hover,
.gh-article-tag,
.gh-article-tag:hover {
    color: var(--pvl-ocean);
    opacity: 1;
}

.gh-head-menu .nav-english a {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    color: #fff !important;
    background: var(--pvl-ocean) !important;
    border-radius: 999px;
    font-weight: 720;
}

.gh-head-menu .nav-english a:hover {
    color: #fff !important;
    background: var(--pvl-ocean-dark) !important;
}

.gh-head-btn,
.gh-primary-btn,
.gh-btn.gh-primary-btn {
    background: var(--pvl-ocean);
    color: #fff;
    border-radius: 999px;
}

.gh-head-btn:hover,
.gh-primary-btn:hover,
.gh-btn.gh-primary-btn:hover {
    background: var(--pvl-ocean-dark);
    opacity: 1;
}

.gh-topic-grid .gh-topic-name {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    font-size: 2.2rem;
    text-transform: none;
}

.gh-topic-grid .gh-topic-name::before {
    width: 5px;
    height: 1.15em;
    content: "";
    background: var(--pvl-gold);
    border-radius: 999px;
}

.gh-topic-grid .gh-card-link {
    padding: 14px;
    background: var(--pvl-surface);
    border: 1px solid rgba(216, 227, 232, 0.85);
    border-radius: var(--pvl-radius);
    box-shadow: 0 10px 30px rgba(31, 111, 139, 0.06);
}

.gh-topic-grid .gh-card.large .gh-card-link {
    padding: 18px;
}

.gh-topic-grid .gh-card-link:hover {
    border-color: rgba(31, 111, 139, 0.32);
    box-shadow: 0 16px 42px rgba(31, 111, 139, 0.1);
}

.gh-topic-grid .gh-card-image,
.gh-topic-grid .gh-card-image img {
    border-radius: 6px;
}

.gh-topic-grid .gh-card-title {
    font-weight: 760;
    line-height: 1.38;
}

.gh-topic-grid .gh-card.large .gh-card-title {
    font-size: 2.65rem;
}

.gh-topic-grid .gh-card-excerpt {
    color: var(--pvl-muted);
    line-height: 1.65;
}

.gh-card-footer,
.gh-article-meta,
.gh-pagehead-description {
    color: var(--pvl-muted);
    letter-spacing: 0;
}

.gh-card-reading-time::before {
    display: inline-flex;
    width: 2px;
    height: 2px;
    margin-right: 6px;
    margin-left: 4px;
    content: "";
    background-color: currentColor;
    border-radius: 50%;
    transform: translateY(-3px);
}

.gh-article-header {
    margin-bottom: 32px;
}

.gh-article-tag {
    display: inline-flex;
    width: fit-content;
    padding: 6px 10px;
    margin-bottom: 16px;
    color: var(--pvl-ocean-dark);
    background: var(--pvl-ocean-soft);
    border: 1px solid rgba(31, 111, 139, 0.16);
    border-radius: 999px;
    font-size: 1.2rem;
    font-weight: 760;
    text-transform: none;
}

.gh-article-title {
    max-width: 920px;
    font-size: clamp(3.2rem, 5vw, 6.2rem);
    line-height: 1.08;
}

.gh-article-excerpt {
    max-width: 820px;
    margin-top: 20px;
    color: var(--pvl-muted);
    font-size: 2rem;
    line-height: 1.75;
}

.gh-article-image img {
    border-radius: var(--pvl-radius);
    box-shadow: 0 20px 48px rgba(31, 111, 139, 0.12);
}

.gh-content {
    font-size: 1.85rem;
    line-height: 1.9;
}

.gh-content > p,
.gh-content > ul,
.gh-content > ol {
    color: var(--pvl-ink);
}

.gh-content h2 {
    padding-top: 28px;
    margin-top: 56px;
    color: var(--pvl-ocean-dark);
    font-size: 2.8rem;
    line-height: 1.32;
    letter-spacing: 0;
    border-top: 1px solid var(--pvl-line);
}

.gh-content h3 {
    margin-top: 36px;
    color: var(--pvl-ocean-deep);
    font-size: 2.25rem;
    letter-spacing: 0;
}

.gh-content blockquote {
    padding: 18px 22px;
    color: var(--pvl-ocean-deep);
    background: var(--pvl-ocean-soft);
    border-left: 4px solid var(--pvl-ocean);
    border-radius: 0 var(--pvl-radius) var(--pvl-radius) 0;
}

.gh-content table {
    border: 1px solid var(--pvl-line);
    border-radius: var(--pvl-radius);
}

.gh-content th {
    color: var(--pvl-ocean-deep);
    background: var(--pvl-ocean-soft);
}

.gh-content :where(.key-takeaways, .sum-box, .insight-box, .pvl-box) {
    padding: 22px 24px;
    margin: 32px 0;
    background: var(--pvl-ocean-soft);
    border: 1px solid rgba(31, 111, 139, 0.2);
    border-left: 5px solid var(--pvl-ocean);
    border-radius: var(--pvl-radius);
    box-shadow: none;
}

.gh-content :where(.risk-box, .warning-box, .bear-case) {
    padding: 22px 24px;
    margin: 32px 0;
    background: #fff0eb;
    border: 1px solid rgba(216, 90, 48, 0.24);
    border-left: 5px solid var(--pvl-coral);
    border-radius: var(--pvl-radius);
}

.gh-content :where(.data-box, .positive-box, .bull-case) {
    padding: 22px 24px;
    margin: 32px 0;
    background: #eaf8f3;
    border: 1px solid rgba(29, 158, 117, 0.22);
    border-left: 5px solid var(--pvl-green);
    border-radius: var(--pvl-radius);
}

.pvl-post-cta {
    margin-top: 56px;
}

.pvl-post-cta-inner {
    padding: 32px;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(31, 111, 139, 0.98), rgba(21, 94, 117, 0.98)),
        var(--pvl-ocean);
    border: 1px solid rgba(239, 159, 39, 0.28);
    border-radius: var(--pvl-radius);
    box-shadow: 0 18px 45px rgba(31, 111, 139, 0.18);
}

.pvl-post-cta-kicker {
    margin-bottom: 10px;
    color: var(--pvl-gold);
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pvl-post-cta-title {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: 2.8rem;
    line-height: 1.25;
    letter-spacing: 0;
}

.pvl-post-cta-copy {
    max-width: 760px;
    margin: 14px 0 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.65rem;
    line-height: 1.75;
}

.pvl-post-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 20px;
    margin-top: 22px;
    color: #173142;
    background: var(--pvl-gold);
    border: 0;
    border-radius: 999px;
    font-weight: 820;
    cursor: pointer;
}

.pvl-post-cta-button:hover {
    background: #f6bd5b;
}

.gh-read-next {
    padding-top: 40px;
}

@media (max-width: 767px) {
    .gh-topic-grid .gh-topic-name {
        margin-bottom: 20px;
        font-size: 2rem;
    }

    .gh-topic-grid .gh-card-link,
    .gh-topic-grid .gh-card.large .gh-card-link {
        padding: 12px;
    }

    .gh-topic-grid .gh-card.large .gh-card-title {
        font-size: 2.2rem;
    }

    .gh-article-title {
        font-size: 3.4rem;
    }

    .gh-article-excerpt,
    .gh-content {
        font-size: 1.7rem;
    }

    .gh-content h2 {
        font-size: 2.35rem;
    }

    .pvl-post-cta-inner {
        padding: 24px 20px;
    }

    .pvl-post-cta-title {
        font-size: 2.25rem;
    }
}
