:root {
    --twb-parchment: #f6f3f1;
    --twb-paper: #fbf9f7;
    --twb-ink: #242424;
    --twb-graphite: #4e4d4d;
    --twb-smoke: #797776;
    --twb-ash: #cecac8;
    --twb-blue: #2b59d1;
    --twb-periwinkle: #d8e0f6;
    --twb-mint: #d8eee2;
    --twb-coral: #f6c6b5;
    --twb-gold: #f4dda0;
    --twb-heading: var(--global-heading-font-family, Georgia, 'Times New Roman', serif);
    --twb-body: var(--global-body-font-family, 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
}

html { scroll-behavior: smooth; }
body { background: var(--twb-parchment); color: var(--twb-ink); }
#inner-wrap, .site, .content-bg { background: var(--twb-parchment); }
.twb-home { background: var(--twb-parchment); overflow: hidden; }
.twb-shell { width: min(1432px, calc(100% - 64px)); margin-inline: auto; }
.twb-section { padding-block: 34px; }

.twb-home h1,.twb-home h2,.twb-home h3 { font-family: var(--twb-heading); color: var(--twb-ink); font-weight: 400; letter-spacing: -.025em; }
.twb-home p,.twb-home a,.twb-home span,.twb-home input,.twb-home button,.twb-home small { font-family: var(--twb-body); }
.twb-home a { color: inherit; text-decoration: none; }

/* Header / Kadence integration */
.site-header, .site-main-header-wrap .site-header-row-container-inner { background: var(--twb-parchment) !important; }
.site-main-header-wrap .site-header-row-container-inner { box-shadow: none !important; border: 0 !important; }
.site-main-header-inner-wrap { min-height: 82px; }
.header-navigation .header-menu-container > ul > li.menu-item > a,
.mobile-navigation ul li a { font-family: var(--twb-body); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
/* Let Kadence control logo width while preserving the source image aspect ratio. */
.site-branding a.brand img,
.site-branding .custom-logo {
  height: auto !important;
  max-height: none !important;
  object-fit: contain;
}

.twb-hero { min-height: 530px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; padding-block: 58px 42px; }
.twb-hero-copy { max-width: 790px; position: relative; z-index: 2; }
.twb-eyebrow, .twb-post-kicker { display: inline-block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; border: 1px solid var(--twb-ash); border-radius: 5px; padding: 6px 9px; }
.twb-hero h1 { font-size: clamp(58px, 6vw, 92px); line-height: .98; margin: 22px 0 24px; max-width: 800px; }
.twb-hero p { font-size: 16px; line-height: 1.65; color: var(--twb-graphite); max-width: 660px; margin: 0; }
.twb-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.twb-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border-radius: 100px; font-size: 12px; line-height: 1; letter-spacing: .04em; text-transform: uppercase; transition: .2s ease; }
.twb-btn-primary { background: var(--twb-blue); color: #fff !important; border: 1px solid var(--twb-blue); }
.twb-btn-primary:hover { transform: translateY(-1px); opacity: .92; }
.twb-btn-ghost { border: 1px solid var(--twb-ink); background: transparent; }

.twb-hero-art { position: relative; min-height: 390px; display: grid; place-items: center; }
.twb-glow { position: absolute; width: 500px; height: 390px; border-radius: 50%; background: radial-gradient(circle at 42% 38%, rgba(167,252,205,.6), transparent 37%), radial-gradient(circle at 70% 68%, rgba(236,218,152,.62), transparent 38%), radial-gradient(circle at 33% 75%, rgba(255,148,115,.40), transparent 34%); filter: blur(40px); opacity: .9; }
.twb-money-plant { position: relative; width: 190px; height: 280px; z-index: 1; }
.twb-coin { position: absolute; left: 62px; top: 0; width: 70px; height: 70px; border: 2px solid var(--twb-ink); border-radius: 50%; display: grid; place-items: center; font: 38px/1 var(--twb-heading); background: rgba(246,243,241,.7); box-shadow: inset 0 0 0 6px var(--twb-parchment), inset 0 0 0 7px var(--twb-ink); }
.twb-stem { position: absolute; left: 96px; top: 68px; width: 2px; height: 112px; background: var(--twb-ink); transform: rotate(2deg); }
.twb-leaf { position: absolute; width: 42px; height: 21px; border: 1.5px solid var(--twb-ink); border-radius: 100% 0 100% 0; }
.twb-leaf-a { left: 55px; top: 102px; transform: rotate(25deg); }
.twb-leaf-b { left: 98px; top: 122px; transform: scaleX(-1) rotate(25deg); }
.twb-leaf-c { left: 61px; top: 145px; transform: rotate(14deg); }
.twb-pot { position: absolute; left: 50px; top: 176px; width: 95px; height: 82px; border: 2px solid var(--twb-ink); border-radius: 8px 8px 22px 22px; transform: perspective(160px) rotateX(-4deg); background: repeating-linear-gradient(100deg, transparent 0 8px, rgba(36,36,36,.08) 9px 10px); }
.twb-pot:before { content:""; position:absolute; left:-9px; right:-9px; top:-12px; height:18px; border:2px solid var(--twb-ink); border-radius:5px; background:var(--twb-parchment); }

.twb-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom: 18px; }
.twb-section-head h2 { font-size: clamp(34px, 3.5vw, 48px); line-height:1.05; margin:0; }
.twb-section-head > a { font-size: 11px; letter-spacing: .05em; text-transform:uppercase; white-space:nowrap; }

.twb-topic-grid { display:grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap:14px; }
.twb-topic-card { position:relative; min-height:250px; padding:28px; border:1px solid var(--twb-ash); border-radius:28px; background: rgba(255,255,255,.14); }
.twb-topic-card:hover { background:rgba(255,255,255,.38); }
.twb-topic-icon { width:54px; height:54px; border-radius:50%; display:grid; place-items:center; font-size:22px; margin-bottom:28px; }
.twb-topic-save .twb-topic-icon { background: var(--twb-mint); }
.twb-topic-spend .twb-topic-icon { background: var(--twb-coral); }
.twb-topic-earn .twb-topic-icon { background: var(--twb-periwinkle); }
.twb-topic-borrow .twb-topic-icon { background: #d9d3f2; }
.twb-topic-invest .twb-topic-icon { background: var(--twb-gold); }
.twb-topic-card h3 { font-family:var(--twb-body); font-size:17px; font-weight:500; letter-spacing:.02em; margin:0 0 12px; }
.twb-topic-card p { font-size:13px; line-height:1.5; color:var(--twb-graphite); margin:0; max-width:240px; }
.twb-card-arrow { position:absolute; left:28px; bottom:24px; font-size:20px; }

.twb-feature-layout { display:grid; grid-template-columns: 1.25fr .85fr; gap:14px; }
.twb-feature-main, .twb-feature-row { border:1px solid var(--twb-ash); border-radius:28px; overflow:hidden; background:rgba(255,255,255,.14); }
.twb-feature-image { display:block; aspect-ratio: 16/8; background:#e7e3df; overflow:hidden; }
.twb-feature-image img,.twb-row-thumb img { width:100%; height:100%; object-fit:cover; }
.twb-image-placeholder { display:block; width:100%; height:100%; background:linear-gradient(135deg,#e4e0dc,#f7f3ef); }
.twb-feature-body { padding:28px; }
.twb-feature-body .twb-post-kicker, .twb-row-content .twb-post-kicker { border:0; padding:0; color:var(--twb-graphite); }
.twb-feature-body h3 { font-size:34px; line-height:1.05; margin:10px 0 10px; }
.twb-feature-body p { font-size:13px; line-height:1.55; max-width:620px; color:var(--twb-graphite); }
.twb-post-meta { display:flex; justify-content:space-between; align-items:center; margin-top:18px; font-size:10px; letter-spacing:.06em; }
.twb-feature-list { display:grid; gap:10px; }
.twb-feature-row { min-height: 150px; display:grid; grid-template-columns: 34% 1fr; padding:12px; }
.twb-row-thumb { border-radius:16px; overflow:hidden; background:#e7e3df; }
.twb-row-content { padding:5px 10px 2px 18px; display:flex; flex-direction:column; }
.twb-row-top { display:flex; gap:18px; align-items:center; }
.twb-number { width:24px; height:24px; border:1px solid var(--twb-ash); border-radius:50%; display:grid; place-items:center; font-size:9px; }
.twb-row-content h3 { font-size:21px; line-height:1.08; margin:12px 0 0; }
.twb-row-content .twb-post-meta { margin-top:auto; }

.twb-guide-banner { min-height:300px; border:1px solid #c5cde8; background:linear-gradient(105deg,#dbe4ff,#d9e0f5 45%,#d7ddf3); border-radius:30px; padding:38px 42px; display:grid; grid-template-columns:1fr 1fr; align-items:center; overflow:hidden; position:relative; }
.twb-guide-copy { max-width:600px; position:relative; z-index:2; }
.twb-guide-copy .twb-post-kicker { border:0; padding:0; }
.twb-guide-copy h2 { font-size:46px; line-height:1.02; margin:12px 0; }
.twb-guide-copy p { font-size:13px; line-height:1.55; color:var(--twb-graphite); max-width:520px; margin-bottom:22px; }
.twb-signpost { position:relative; height:220px; margin-left:120px; }
.twb-signpost .pole { position:absolute; left:88px; top:14px; width:4px; height:200px; background:var(--twb-ink); }
.twb-signpost .post { position:absolute; left:20px; width:96px; padding:8px 10px; border:1px solid var(--twb-ink); background:#e9edfb; font:10px/1 var(--twb-body); text-align:center; z-index:2; }
.twb-signpost .post:after { content:""; position:absolute; top:-1px; right:-22px; border-top:15px solid transparent; border-bottom:15px solid transparent; border-left:22px solid var(--twb-ink); }
.twb-signpost .post:before { content:""; position:absolute; top:0; right:-20px; border-top:14px solid transparent; border-bottom:14px solid transparent; border-left:20px solid #e9edfb; z-index:2; }
.twb-signpost .post-invest { top:38px; left:90px; }
.twb-signpost .post-save { top:2px; }
.twb-signpost .post-debt { top:83px; left:4px; }
.twb-signpost .post-spend { top:130px; left:88px; }

.twb-latest-list { border-top:1px solid var(--twb-ash); }
.twb-latest-row { display:grid; grid-template-columns: 120px 1.1fr 1fr 90px 22px; align-items:center; gap:20px; padding:22px 0; border-bottom:1px solid var(--twb-ash); }
.twb-latest-cat { font:10px/1 var(--twb-body); color:var(--twb-blue); letter-spacing:.05em; }
.twb-latest-row h3 { font-size:24px; line-height:1.05; margin:0; }
.twb-latest-row p { font-size:12px; line-height:1.45; color:var(--twb-graphite); margin:0; }
.twb-latest-time { font-size:10px; }
.twb-latest-arrow { font-size:18px; text-align:right; }

.twb-bottom-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap:42px; align-items:stretch; padding-bottom:70px; }
.twb-newsletter-card { border:1px solid #cdd9cf; border-radius:24px; background:linear-gradient(125deg,#e2eee3,#f1efe5); padding:30px; }
.twb-newsletter-card h2 { font-size:31px; line-height:1.05; margin:0 0 12px; max-width:360px; }
.twb-newsletter-card p { font-size:12px; line-height:1.5; color:var(--twb-graphite); max-width:480px; }
.twb-newsletter { display:flex; gap:8px; margin-top:24px; }
.twb-newsletter input { flex:1; min-width:0; border:1px solid var(--twb-ash); border-radius:100px; background:rgba(255,255,255,.5); padding:0 18px; font-size:10px; }
.twb-newsletter button { border:0; border-radius:100px; background:var(--twb-ink); color:white; min-height:44px; padding:0 20px; font-size:10px; }
.twb-newsletter-card small { display:block; margin-top:10px; color:var(--twb-smoke); font-size:9px; }
.twb-popular-card .twb-section-head.compact h2 { font-size:32px; }
.twb-popular-row { display:grid; grid-template-columns:44px 1fr 90px 20px; gap:16px; align-items:center; padding:17px 0; border-bottom:1px solid var(--twb-ash); }
.twb-popular-num { width:34px; height:34px; border-radius:50%; background:var(--twb-mint); display:grid; place-items:center; font-size:9px; }
.twb-popular-row:nth-of-type(3) .twb-popular-num { background:var(--twb-gold); }
.twb-popular-row:nth-of-type(4) .twb-popular-num { background:var(--twb-periwinkle); }
.twb-popular-row h3 { font-size:18px; margin:0; }
.twb-popular-row > span:not(.twb-popular-num) { font-size:9px; }

/* Keep Kadence footer consistent with the editorial system. */
.site-footer { background:var(--twb-parchment); border-top:1px solid var(--twb-ash); }
.site-footer .site-footer-wrap { color:var(--twb-ink); }
.site-footer, .site-footer a { font-family:var(--twb-body); }

/* ---------------------------------------------------------
   Editorial page + single-post system
   --------------------------------------------------------- */
.single-post .content-area,
.single-page .content-area,
.archive .content-area,
.blog .content-area {
    margin-top: 0;
}

/* Replace Kadence's large coloured title band with the site's parchment system. */
.single-post .entry-hero-container-inner,
.single-page .entry-hero-container-inner,
.page .entry-hero-container-inner,
.archive .entry-hero-container-inner,
.blog .entry-hero-container-inner {
    background: var(--twb-parchment) !important;
    border-bottom: 1px solid var(--twb-ash);
}

.single-post .entry-hero,
.single-page .entry-hero,
.page .entry-hero {
    min-height: 0 !important;
}

.single-post .entry-hero .entry-header,
.single-page .entry-hero .entry-header,
.page .entry-hero .entry-header {
    width: min(920px, calc(100% - 48px));
    margin-inline: auto;
    padding: 72px 0 58px;
    text-align: left;
}

.single-post .entry-header h1,
.single-page .entry-header h1,
.page .entry-header h1,
.archive-title,
.page-title {
    font-family: var(--twb-heading);
    color: var(--twb-ink);
    font-size: clamp(44px, 5vw, 62px);
    line-height: 1.04;
    font-weight: 400 !important;
    letter-spacing: -.03em;
    margin: 0;
}

/* Keep the reading measure intentionally narrow, even when Kadence is set wide/full width. */
.single-page .site-main > article,
.page:not(.home) .site-main > article,
.single-post .site-main > article {
    background: transparent;
}

.single-page .entry-content-wrap,
.page:not(.home) .entry-content-wrap,
.single-post .entry-content-wrap {
    background: transparent !important;
    box-shadow: none !important;
    padding-top: 0;
}

.single-page .entry-content,
.page:not(.home) .entry-content,
.single-post .entry-content {
    width: min(820px, 100%);
    margin-inline: auto;
    padding-top: 66px;
    padding-bottom: 88px;
    color: var(--twb-ink);
    font-size: 17px;
    line-height: 1.78;
}

.single-page .entry-content > :first-child,
.page:not(.home) .entry-content > :first-child,
.single-post .entry-content > :first-child {
    margin-top: 0;
}

.single-page .entry-content p,
.page:not(.home) .entry-content p,
.single-post .entry-content p {
    margin-top: 0;
    margin-bottom: 1.65em;
}

.single-page .entry-content h2,
.page:not(.home) .entry-content h2,
.single-post .entry-content h2 {
    font-family: var(--twb-heading);
    color: var(--twb-ink);
    font-size: clamp(31px, 3vw, 40px);
    line-height: 1.12;
    font-weight: 400;
    letter-spacing: -.025em;
    margin: 2.15em 0 .7em;
    padding-top: .1em;
}

.single-page .entry-content h3,
.page:not(.home) .entry-content h3,
.single-post .entry-content h3 {
    font-family: var(--twb-heading);
    color: var(--twb-ink);
    font-size: clamp(25px, 2.3vw, 30px);
    line-height: 1.16;
    font-weight: 400;
    letter-spacing: -.02em;
    margin: 1.8em 0 .65em;
}

.single-page .entry-content h4,
.page:not(.home) .entry-content h4,
.single-post .entry-content h4 {
    color: var(--twb-ink);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .055em;
    text-transform: uppercase;
    margin: 2em 0 .7em;
}

.single-page .entry-content a:not(.wp-block-button__link),
.page:not(.home) .entry-content a:not(.wp-block-button__link),
.single-post .entry-content a:not(.wp-block-button__link) {
    color: var(--twb-blue);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.single-page .entry-content ul,
.single-page .entry-content ol,
.page:not(.home) .entry-content ul,
.page:not(.home) .entry-content ol,
.single-post .entry-content ul,
.single-post .entry-content ol {
    margin: 0 0 1.8em 1.2em;
    padding-left: .65em;
}

.single-page .entry-content li,
.page:not(.home) .entry-content li,
.single-post .entry-content li {
    margin-bottom: .55em;
    padding-left: .25em;
}

.single-page .entry-content blockquote,
.page:not(.home) .entry-content blockquote,
.single-post .entry-content blockquote {
    margin: 2.3em 0;
    padding: 24px 28px;
    border: 1px solid var(--twb-ash);
    border-left: 1px solid var(--twb-ash);
    border-radius: 22px;
    background: rgba(255,255,255,.2);
    font-family: var(--twb-heading);
    font-size: 25px;
    line-height: 1.35;
    font-style: normal;
}

.single-page .entry-content hr,
.page:not(.home) .entry-content hr,
.single-post .entry-content hr {
    border: 0;
    border-top: 1px solid var(--twb-ash);
    margin: 3em 0;
}

.single-page .entry-content table,
.page:not(.home) .entry-content table,
.single-post .entry-content table {
    font-size: 14px;
    line-height: 1.5;
    border-color: var(--twb-ash);
}

.single-page .entry-content th,
.page:not(.home) .entry-content th,
.single-post .entry-content th {
    font-weight: 500;
    background: rgba(216,224,246,.35);
}

.single-page .entry-content th,
.single-page .entry-content td,
.page:not(.home) .entry-content th,
.page:not(.home) .entry-content td,
.single-post .entry-content th,
.single-post .entry-content td {
    border-color: var(--twb-ash);
    padding: 13px 15px;
}

/* Buttons inside editorial content use the same pill language as the homepage. */
.single-page .wp-block-button__link,
.page:not(.home) .wp-block-button__link,
.single-post .wp-block-button__link {
    border-radius: 100px;
    padding: 14px 24px;
    background: var(--twb-ink);
    font-family: var(--twb-body);
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* Common TOC plugins + Kadence TOC: understated, collapsed-friendly editorial panel. */
.single-page .entry-content .wp-block-kadence-tableofcontents,
.page:not(.home) .entry-content .wp-block-kadence-tableofcontents,
.single-post .entry-content .wp-block-kadence-tableofcontents,
.single-page .entry-content .lwptoc,
.page:not(.home) .entry-content .lwptoc,
.single-post .entry-content .lwptoc,
.single-page .entry-content .ez-toc-container,
.page:not(.home) .entry-content .ez-toc-container,
.single-post .entry-content .ez-toc-container {
    margin: 34px 0 44px !important;
    border: 1px solid var(--twb-ash) !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.18) !important;
    box-shadow: none !important;
}

.single-page .entry-content .wp-block-kadence-tableofcontents .kb-table-of-content-wrap,
.page:not(.home) .entry-content .wp-block-kadence-tableofcontents .kb-table-of-content-wrap,
.single-post .entry-content .wp-block-kadence-tableofcontents .kb-table-of-content-wrap {
    padding: 20px 22px;
}

.single-page .entry-content .wp-block-kadence-tableofcontents .kb-table-of-content-title,
.page:not(.home) .entry-content .wp-block-kadence-tableofcontents .kb-table-of-content-title,
.single-post .entry-content .wp-block-kadence-tableofcontents .kb-table-of-content-title,
.single-page .entry-content .ez-toc-title,
.page:not(.home) .entry-content .ez-toc-title,
.single-post .entry-content .ez-toc-title {
    font-family: var(--twb-body);
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.entry-meta, .entry-meta a {
    font-family: var(--twb-body);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

/* Archive/blog cards should stay on parchment rather than white Kadence panels. */
.archive .content-bg,
.blog .content-bg,
.archive .entry,
.blog .entry {
    background: transparent;
}

@media (max-width: 1024px) {
    .twb-shell { width:min(100% - 40px, 1432px); }
    .twb-hero { grid-template-columns:1fr .75fr; }
    .twb-topic-grid { grid-template-columns:repeat(2,1fr); }
    .twb-feature-layout { grid-template-columns:1fr; }
    .twb-feature-list { grid-template-columns:repeat(3,1fr); }
    .twb-feature-row { grid-template-columns:1fr; }
    .twb-row-thumb { aspect-ratio: 16/9; }
    .twb-latest-row { grid-template-columns:90px 1.2fr 1fr 75px 20px; gap:14px; }
    .twb-guide-banner { grid-template-columns:1.2fr .8fr; }
    .twb-signpost { margin-left:30px; }
}

@media (max-width: 767px) {
    .twb-shell { width:min(100% - 28px, 1432px); }
    .twb-section { padding-block:26px; }
    .twb-hero { min-height:auto; grid-template-columns:1fr; padding-top:44px; }
    .twb-hero h1 { font-size:clamp(50px, 15vw, 72px); }
    .twb-hero p { font-size:14px; }
    .twb-hero-art { min-height:280px; }
    .twb-glow { width:360px; height:280px; }
    .twb-money-plant { transform:scale(.78); }
    .twb-section-head { align-items:flex-start; }
    .twb-section-head h2 { font-size:36px; }
    .twb-section-head > a { margin-top:8px; }
    .twb-topic-grid { grid-template-columns:1fr; }
    .twb-topic-card { min-height:220px; }
    .twb-feature-main { border-radius:22px; }
    .twb-feature-body h3 { font-size:30px; }
    .twb-feature-list { grid-template-columns:1fr; }
    .twb-feature-row { grid-template-columns:120px 1fr; min-height:130px; }
    .twb-guide-banner { grid-template-columns:1fr; padding:30px 24px; }
    .twb-guide-copy h2 { font-size:38px; }
    .twb-signpost { display:none; }
    .twb-latest-row { grid-template-columns:1fr 28px; gap:8px 12px; padding:20px 0; }
    .twb-latest-cat { grid-column:1; }
    .twb-latest-row h3 { grid-column:1; font-size:24px; }
    .twb-latest-row p { grid-column:1; }
    .twb-latest-time { grid-column:1; }
    .twb-latest-arrow { grid-column:2; grid-row:2 / 5; align-self:center; }
    .twb-bottom-grid { grid-template-columns:1fr; gap:26px; }
    .twb-newsletter { flex-direction:column; }
    .twb-newsletter input, .twb-newsletter button { min-height:46px; }
    .twb-popular-row { grid-template-columns:38px 1fr 20px; }
    .twb-popular-row > span:not(.twb-popular-num) { display:none; }

    .single-post .entry-hero .entry-header,
    .single-page .entry-hero .entry-header,
    .page .entry-hero .entry-header {
        width: min(100% - 28px, 920px);
        padding: 46px 0 38px;
    }

    .single-post .entry-header h1,
    .single-page .entry-header h1,
    .page .entry-header h1 {
        font-size: clamp(39px, 12vw, 52px);
    }

    .single-page .entry-content,
    .page:not(.home) .entry-content,
    .single-post .entry-content {
        width: 100%;
        padding-top: 42px;
        padding-bottom: 64px;
        font-size: 16px;
        line-height: 1.72;
    }

    .single-page .entry-content h2,
    .page:not(.home) .entry-content h2,
    .single-post .entry-content h2 {
        margin-top: 1.8em;
    }
}

/* ---------------------------------------------------------
   Money hub page template
   --------------------------------------------------------- */
.page-template-page-money-hub .entry-hero-container-inner,
.page-template-page-money-hub .entry-hero {
    display: none !important;
}

.twb-hub {
    background: var(--twb-parchment);
}

.twb-hub-hero {
    padding-top: 88px;
    padding-bottom: 76px;
    border-bottom: 1px solid var(--twb-ash);
}

.twb-hub-hero h1 {
    max-width: 900px;
    margin: 18px 0 22px;
    font-family: var(--twb-heading);
    font-size: clamp(58px, 8vw, 92px);
    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 400;
    color: var(--twb-ink);
}

.twb-hub-intro {
    max-width: 760px;
    color: var(--twb-graphite);
    font-size: 18px;
    line-height: 1.65;
}

.twb-hub-intro p:last-child { margin-bottom: 0; }

.twb-hub-topics,
.twb-hub-feature,
.twb-hub-latest {
    padding-top: 68px;
}

.twb-hub-topic-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.twb-hub-topic-pill {
    min-height: 68px;
    display: flex;
    align-items: center;
    padding: 18px 22px;
    border: 1px solid var(--twb-ash);
    border-radius: 100px;
    font-size: 13px;
    letter-spacing: .025em;
    text-transform: uppercase;
    background: rgba(255,255,255,.12);
}

.twb-hub-feature-card {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    overflow: hidden;
    border: 1px solid var(--twb-ash);
    border-radius: 38px;
}

.twb-hub-feature-image {
    min-height: 420px;
    background: var(--twb-periwinkle);
}

.twb-hub-feature-image img,
.twb-hub-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.twb-hub-feature-copy {
    padding: 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.twb-hub-feature-copy h2 {
    margin: 12px 0 18px;
    font-size: clamp(36px, 4vw, 52px);
    line-height: 1.04;
    font-weight: 400;
}

.twb-hub-feature-copy h2 a,
.twb-hub-article-card h3 a { color: inherit; text-decoration: none; }

.twb-hub-feature-copy p {
    color: var(--twb-graphite);
    font-size: 15px;
    line-height: 1.6;
}

.twb-text-link {
    margin-top: 14px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .045em;
    color: var(--twb-ink);
    text-decoration: none;
}

.twb-hub-article-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    padding-bottom: 88px;
}

.twb-hub-article-card {
    overflow: hidden;
    border: 1px solid var(--twb-ash);
    border-radius: 30px;
    background: transparent;
}

.twb-hub-card-image {
    display: block;
    aspect-ratio: 16 / 9;
    background: rgba(216,224,246,.45);
}

.twb-hub-card-copy { padding: 26px; }
.twb-hub-card-copy h3 {
    margin: 10px 0 12px;
    font-size: 27px;
    line-height: 1.12;
    font-weight: 400;
}
.twb-hub-card-copy p {
    color: var(--twb-graphite);
    font-size: 13px;
    line-height: 1.55;
}

.twb-hub-empty {
    margin-bottom: 88px;
    padding: 36px;
    border: 1px solid var(--twb-ash);
    border-radius: 28px;
}
.twb-hub-empty h3 { margin-top: 0; font-size: 28px; font-weight: 400; }

@media (max-width: 900px) {
    .twb-hub-topic-grid { grid-template-columns: repeat(2, 1fr); }
    .twb-hub-feature-card { grid-template-columns: 1fr; }
    .twb-hub-feature-image { min-height: 300px; }
}

@media (max-width: 650px) {
    .twb-hub-hero { padding-top: 58px; padding-bottom: 52px; }
    .twb-hub-topic-grid,
    .twb-hub-article-grid { grid-template-columns: 1fr; }
    .twb-hub-feature-copy { padding: 28px; }
    .twb-hub-topic-pill { min-height: 58px; }
}
