.asia-hub-wrap {
    --hub-wrap-bg: linear-gradient(180deg, #f6efe3 0%, #ffffff 24%, #fffaf1 100%);
    --hub-panel-border: #eadfcf;
    --hub-panel-shadow: 0 14px 36px rgba(61, 45, 27, 0.08);
    --hub-kicker-bg: #f9ead9;
    --hub-kicker-color: #8c4b22;
    --hub-accent-gradient: linear-gradient(90deg, #b65d2c 0%, #db9b31 48%, #2f6d64 100%);
    --hub-card-border: #ece2d4;
    --hub-card-bg: linear-gradient(180deg, #fffdfa 0%, #fff8ef 100%);
    --hub-link-color: #8c4b22;
    --hub-faq-bg: #fffdf9;
    --hub-cta-bg: linear-gradient(135deg, #234b45 0%, #173833 100%);
    --hub-cta-text: #fff7ea;
    --hub-body-text: #4d544f;
    --hub-heading-color: #1f2e2a;
    --hub-card-heading-color: #24352f;
}

.europe-hub-wrap {
    --hub-wrap-bg: linear-gradient(180deg, #eef4fa 0%, #ffffff 24%, #f9fbfd 100%);
    --hub-panel-border: #dbe5ef;
    --hub-panel-shadow: 0 14px 36px rgba(31, 52, 84, 0.08);
    --hub-kicker-bg: #e8f0f8;
    --hub-kicker-color: #214b78;
    --hub-accent-gradient: linear-gradient(90deg, #14345d 0%, #2f5b97 50%, #75aadb 100%);
    --hub-card-border: #dfe8f0;
    --hub-card-bg: linear-gradient(180deg, #fbfdff 0%, #f5f9fc 100%);
    --hub-link-color: #214b78;
    --hub-faq-bg: #fcfdff;
    --hub-cta-bg: linear-gradient(135deg, #173d66 0%, #102c4a 100%);
    --hub-cta-text: #f4f8ff;
    --hub-body-text: #4b5663;
    --hub-heading-color: #1e3554;
    --hub-card-heading-color: #20374f;
}

.america-hub-wrap {
    --hub-wrap-bg: linear-gradient(180deg, #eef7f7 0%, #ffffff 24%, #f9fcfc 100%);
    --hub-panel-border: #d7e8e6;
    --hub-panel-shadow: 0 14px 36px rgba(28, 67, 74, 0.08);
    --hub-kicker-bg: #dff1ef;
    --hub-kicker-color: #1e5b62;
    --hub-accent-gradient: linear-gradient(90deg, #1f4d5a 0%, #2f7d8b 50%, #8bc8cf 100%);
    --hub-card-border: #dbeceb;
    --hub-card-bg: linear-gradient(180deg, #fbffff 0%, #f1fbfb 100%);
    --hub-link-color: #1e5b62;
    --hub-faq-bg: #fbffff;
    --hub-cta-bg: linear-gradient(135deg, #1d5e60 0%, #133e41 100%);
    --hub-cta-text: #f3fffe;
    --hub-body-text: #4a5e5d;
    --hub-heading-color: #1c434a;
    --hub-card-heading-color: #1f4145;
}

.oceania-hub-wrap {
    --hub-wrap-bg: linear-gradient(180deg, #f0f6fb 0%, #ffffff 24%, #fbfdff 100%);
    --hub-panel-border: #dce7f1;
    --hub-panel-shadow: 0 14px 36px rgba(28, 52, 79, 0.08);
    --hub-kicker-bg: #e5eff8;
    --hub-kicker-color: #24527d;
    --hub-accent-gradient: linear-gradient(90deg, #1a4871 0%, #2f71a6 50%, #88bce5 100%);
    --hub-card-border: #e1ebf4;
    --hub-card-bg: linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
    --hub-link-color: #24527d;
    --hub-faq-bg: #fcfdff;
    --hub-cta-bg: linear-gradient(135deg, #204f79 0%, #143454 100%);
    --hub-cta-text: #f3f8ff;
    --hub-body-text: #4d5c68;
    --hub-heading-color: #1f3c57;
    --hub-card-heading-color: #25435f;
}

.africa-hub-wrap {
    --hub-wrap-bg: linear-gradient(180deg, #f7f2eb 0%, #ffffff 24%, #fdfbf8 100%);
    --hub-panel-border: #eadfce;
    --hub-panel-shadow: 0 14px 36px rgba(76, 54, 26, 0.08);
    --hub-kicker-bg: #f3e6d5;
    --hub-kicker-color: #7a4c1f;
    --hub-accent-gradient: linear-gradient(90deg, #654320 0%, #b06a2a 50%, #d9aa63 100%);
    --hub-card-border: #ecdfcf;
    --hub-card-bg: linear-gradient(180deg, #fffdfa 0%, #fbf5ee 100%);
    --hub-link-color: #7a4c1f;
    --hub-faq-bg: #fffdf9;
    --hub-cta-bg: linear-gradient(135deg, #6b4221 0%, #4f2f17 100%);
    --hub-cta-text: #fff7ec;
    --hub-body-text: #5c554d;
    --hub-heading-color: #2d261e;
    --hub-card-heading-color: #3a3024;
}

[class$="-hub-wrap"] {
    background: var(--hub-wrap-bg);
    padding: 48px 0 64px;
}

[class$="-hub-inner"] {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 16px;
}

[class$="-hub-hero"],
[class$="-hub-section"],
[class$="-hub-posts"] {
    background: #ffffff;
    border: 1px solid var(--hub-panel-border);
    border-radius: 18px;
    box-shadow: var(--hub-panel-shadow);
}

[class$="-hub-hero"] {
    padding: 34px 28px;
    margin-bottom: 28px;
    position: relative;
    overflow: hidden;
}

[class$="-hub-hero"]::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: var(--hub-accent-gradient);
}

[class$="-hub-kicker"] {
    display: inline-block;
    margin-bottom: 14px;
    padding: 7px 12px;
    border-radius: 999px;
    background: var(--hub-kicker-bg);
    color: var(--hub-kicker-color);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

[class$="-hub-hero"] h1,
[class$="-hub-section"] h2,
[class$="-hub-posts"] h2 {
    margin: 0 0 14px;
    color: var(--hub-heading-color);
}

[class$="-hub-hero"] p,
[class$="-hub-card"] p,
[class$="-hub-tool"] p,
[class$="-hub-faq-answer"],
[class$="-hub-post-intro"] {
    color: var(--hub-body-text);
    line-height: 1.7;
}

[class$="-hub-section"] {
    padding: 28px;
    margin-bottom: 24px;
}

[class$="-hub-grid"],
[class$="-hub-tools"] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
}

[class$="-hub-card"],
[class$="-hub-tool"] {
    border: 1px solid var(--hub-card-border);
    border-radius: 14px;
    padding: 20px;
    background: var(--hub-card-bg);
}

[class$="-hub-card"] h3,
[class$="-hub-tool"] h3 {
    margin: 0 0 10px;
    color: var(--hub-card-heading-color);
    font-size: 20px;
}

[class$="-hub-card"] a,
[class$="-hub-tool"] a,
[class$="-hub-cta"] a {
    color: var(--hub-link-color);
    font-weight: 700;
    text-decoration: none;
}

[class$="-hub-card"] a:hover,
[class$="-hub-tool"] a:hover,
[class$="-hub-cta"] a:hover {
    text-decoration: underline;
}

[class$="-hub-link"] {
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
}

[class$="-hub-faq-list"] {
    display: grid;
    gap: 14px;
}

[class$="-hub-faq-item"] {
    border: 1px solid var(--hub-card-border);
    border-radius: 14px;
    padding: 18px 20px;
    background: var(--hub-faq-bg);
}

[class$="-hub-faq-question"] {
    margin: 0 0 8px;
    color: var(--hub-heading-color);
    font-size: 18px;
}

[class$="-hub-cta"] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    align-items: center;
    justify-content: space-between;
    padding: 24px 28px;
    border-radius: 18px;
    background: var(--hub-cta-bg);
    color: var(--hub-cta-text);
}

[class$="-hub-cta"] p,
[class$="-hub-cta"] h2 {
    color: var(--hub-cta-text);
    margin: 0 0 8px;
}

[class$="-hub-cta-links"] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
}

[class$="-hub-cta-links"] a {
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255, 247, 234, 0.14);
    color: var(--hub-cta-text);
}

[class$="-hub-posts"] {
    margin-top: 24px;
    padding: 28px;
}

[class$="-hub-posts"] .row {
    margin-left: -12px;
    margin-right: -12px;
}

[class$="-hub-posts"] .row > * {
    padding-left: 12px;
    padding-right: 12px;
}

@media (max-width: 767px) {
    [class$="-hub-hero"],
    [class$="-hub-section"],
    [class$="-hub-posts"],
    [class$="-hub-cta"] {
        padding: 22px 18px;
    }

    [class$="-hub-card"] h3,
    [class$="-hub-tool"] h3,
    [class$="-hub-faq-question"] {
        font-size: 18px;
    }
}
