/* Credit Card Hub V5.0. Hub-scoped presentation; served through the existing assetUrl() helper. */
.rb-cc-hub { --hub-ink:#17354c; --hub-green:#246b52; --hub-muted:#506677; --hub-line:#dce7e3; background:#fff; color:var(--hub-ink); font-family:var(--bs-body-font-family,system-ui,sans-serif); }
.rb-cc-hub .container, .rb-cc-hub .container-xl { width:100%; max-width:1320px!important; }
.rb-cc-hub [id^="hub-"], .rb-cc-hub #best-credit-card-offers { scroll-margin-top:9rem; }
.rb-cc-hub .rb-cc-hub__section { padding:40px 0; }
.rb-cc-hub .rb-cc-hub__eyebrow { margin:0 0 7px; color:#2b6a54; font-size:14px; font-weight:600; line-height:1.4; letter-spacing:.015em; }
.rb-cc-hub .rb-cc-hub__heading, .rb-cc-hub .rb-cc-hub__section-heading h2 { margin:0; color:var(--hub-ink); font-family:inherit; font-size:clamp(25px,2.3vw,33px); font-weight:700; line-height:1.2; letter-spacing:-.035em; text-wrap:balance; }
.rb-cc-hub .rb-cc-hub__section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px 36px; margin-bottom:24px; }
.rb-cc-hub .rb-cc-hub__section-heading > div { max-width:900px; min-width:0; }
.rb-cc-hub .rb-cc-hub__section-heading p:not(.rb-cc-hub__eyebrow), .rb-cc-hub .rb-cc-hub__body { margin:9px 0 0; color:var(--hub-muted); font-size:16px; line-height:1.7; }
.rb-cc-hub .rb-cc-hub__text-link { display:inline-flex; align-items:center; justify-content:flex-start; gap:9px; max-width:100%; color:#285b80; font-size:14px; font-weight:600; line-height:1.5; text-decoration:underline; text-decoration-color:#b5cbd8; text-underline-offset:4px; }
.rb-cc-hub .rb-cc-hub__text-link span { flex-shrink:0; }
.rb-cc-hub .rb-cc-hub__text-link:hover { color:#173f5a; text-decoration-color:currentColor; }
.rb-cc-hub .rb-cc-hub__section-heading > .rb-cc-hub__text-link { flex:0 0 auto; padding:4px 0; }
.rb-cc-hub .rb-cc-hub__button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:44px; max-width:100%; padding:10px 16px; border:1px solid #c2d6d0; border-radius:7px; font-size:15px; line-height:1.4; font-weight:600; text-decoration:none; }
.rb-cc-hub .rb-cc-hub__button--primary { color:#fff; background:#1d5945; border-color:#1d5945; }
.rb-cc-hub .rb-cc-hub__button--primary:hover { background:#174835; border-color:#174835; color:#fff; }
.rb-cc-hub .rb-cc-hub__button--outline { color:var(--hub-ink); background:#ffffffb3; }
.rb-cc-hub .rb-cc-hub__button--outline:hover { background:#edf5f1; color:#1c4e3d; border-color:#80a897; }
.rb-cc-hub :where(.rb-cc-hub__button,.rb-cc-hub__text-link,.rb-cc-hub-shortcuts a,.rb-cc-hub-directory__item,.rb-cc-hub-hero__jump-links a):focus-visible { outline:3px solid #2d79b4; outline-offset:4px; border-radius:5px; }

/* A slim editorial hero, with real navigation instead of a simulated savings figure. */
.rb-cc-hub .rb-cc-hub-hero { padding:25px 0 0; background:radial-gradient(ellipse at 100% 0,#e3f2e9 0,transparent 56%),linear-gradient(110deg,#fff 10%,#f4faf7 100%); border-bottom:1px solid var(--hub-line); overflow:hidden; }
.rb-cc-hub .rb-cc-hub-hero__topline { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; margin-bottom:19px; }
.rb-cc-hub .rb-cc-hub-hero__brand { display:inline-flex; align-items:center; flex-wrap:wrap; gap:12px; color:#25644c; font-size:16px; line-height:1.4; font-weight:750; }
.rb-cc-hub .rb-cc-hub-hero__brand > span { padding-left:12px; border-left:1px solid #b2cec0; color:#536c7b; font-size:14px; font-weight:500; }
.rb-cc-hub .rb-cc-hub-hero__edition { color:#567061; font-size:14px; font-weight:500; line-height:1.5; }
.rb-cc-hub .rb-cc-hub-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:24px 54px; align-items:center; }
.rb-cc-hub .rb-cc-hub-hero__copy { min-width:0; }
.rb-cc-hub .rb-cc-hub-hero h1 { margin:0 0 15px; color:var(--hub-ink); font-family:inherit; font-size:clamp(32px,3.35vw,44px); line-height:1.12; letter-spacing:-.045em; font-weight:750; overflow-wrap:anywhere; }
.rb-cc-hub .rb-cc-hub-hero h1 > span { color:#2c7658; }
.rb-cc-hub .rb-cc-hub-hero__badges { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 13px; padding:0; list-style:none; }
.rb-cc-hub .rb-cc-hub-hero__badges li { display:inline-flex; align-items:center; gap:6px; padding:3px 8px; border:1px solid #cde3d6; border-radius:5px; background:#edf7f0; color:#2a644d; font-size:14px; line-height:1.45; font-weight:550; }
.rb-cc-hub .rb-cc-hub-hero__badges li + li { border-color:#d7e4ec; background:#f0f6fa; color:#365b73; }
.rb-cc-hub .rb-cc-hub-hero__intro { max-width:830px; margin:0; color:var(--hub-muted); font-size:17px; line-height:1.65; font-weight:400; }
.rb-cc-hub .rb-cc-hub-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:11px 13px; margin-top:18px; }
.rb-cc-hub .rb-cc-hub-hero__note { padding:0 0 0 25px; border-left:1px solid #c5dcd0; min-width:0; }
.rb-cc-hub .rb-cc-hub-hero__pen { display:block; margin-bottom:10px; }
.rb-cc-hub .rb-cc-hub-hero__note h2 { margin:0 0 8px; font-family:inherit; color:#224e3d; font-size:23px; line-height:1.25; font-weight:650; letter-spacing:-.025em; }
.rb-cc-hub .rb-cc-hub-hero__note > p:not(.rb-cc-hub__eyebrow) { margin:0 0 13px; color:#506b5d; font-size:16px; line-height:1.65; }
.rb-cc-hub .rb-cc-hub-hero__jump-links { display:flex; align-items:center; flex-wrap:wrap; gap:8px 24px; padding:15px 0; margin-top:25px; border-top:1px solid var(--hub-line); font-size:14px; line-height:1.5; }
.rb-cc-hub .rb-cc-hub-hero__jump-links > span { color:#61736b; }
.rb-cc-hub .rb-cc-hub-hero__jump-links a { padding:3px 0; color:#2a514c; font-weight:550; text-decoration:none; }
.rb-cc-hub .rb-cc-hub-hero__jump-links a:hover { text-decoration:underline; text-underline-offset:4px; }
.rb-cc-hub .rb-cc-hub-hero__mobile-menu { display:none; }

/* Popular goals: six readable links, with wrapping instead of horizontal scrolling. */
.rb-cc-hub .rb-cc-hub-shortcuts { padding:15px 0; border-bottom:1px solid #e5ece8; background:#fff; }
.rb-cc-hub .rb-cc-hub-shortcuts ul { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; list-style:none; margin:0; padding:0; }
.rb-cc-hub .rb-cc-hub-shortcuts li { min-width:0; }
.rb-cc-hub .rb-cc-hub-shortcuts a { display:flex; align-items:center; gap:9px; height:100%; min-height:46px; padding:9px 10px; border:1px solid #e1e9e5; border-radius:7px; background:#fbfdfb; color:#274d40; font-size:14px; font-weight:550; line-height:1.4; text-decoration:none; }
.rb-cc-hub .rb-cc-hub-shortcuts a > i { color:#36795b; font-size:19px; }
.rb-cc-hub .rb-cc-hub-shortcuts a:hover { background:#edf6f0; border-color:#bad7c6; }
.rb-cc-hub .rb-cc-hub-shortcuts__arrow { margin-left:auto; color:#548371; }
.rb-cc-hub .rb-cc-hub__offers { background:#fff; }

/* Directory data comes from the existing hub controller. */
.rb-cc-hub .rb-cc-hub-directory__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; }
.rb-cc-hub .rb-cc-hub-directory__grid > li { min-width:0; }
.rb-cc-hub .rb-cc-hub-directory__item { --category-ink:#285c83; --category-wash:#ecf4fa; display:grid; grid-template-columns:34px minmax(0,1fr); grid-template-rows:auto 1fr auto; align-content:start; gap:9px 10px; height:100%; padding:17px; border:1px solid #dfe7e7; border-radius:9px; background:#fff; color:var(--hub-ink); text-decoration:none; transition:border-color .15s ease,box-shadow .15s ease; }
.rb-cc-hub .rb-cc-hub-directory__item--green { --category-ink:#28654c; --category-wash:#eaf5ed; }
.rb-cc-hub .rb-cc-hub-directory__item--purple { --category-ink:#725490; --category-wash:#f3eef8; }
.rb-cc-hub .rb-cc-hub-directory__item:hover { border-color:var(--category-ink); box-shadow:0 4px 12px #193d3910; }
.rb-cc-hub .rb-cc-hub-directory__icon { display:grid; place-items:center; width:34px; height:34px; border-radius:8px; background:var(--category-wash); color:var(--category-ink); font-size:19px; }
.rb-cc-hub .rb-cc-hub-directory__item h3 { align-self:center; margin:0; color:var(--hub-ink); font-family:inherit; font-size:18px; line-height:1.3; font-weight:650; letter-spacing:-.02em; overflow-wrap:anywhere; }
.rb-cc-hub .rb-cc-hub-directory__item p { grid-column:1/-1; margin:0; color:var(--hub-muted); font-size:16px; line-height:1.55; overflow-wrap:anywhere; }
.rb-cc-hub .rb-cc-hub-directory__action { grid-column:1/-1; display:flex; justify-content:space-between; gap:10px; color:var(--category-ink); font-size:14px; line-height:1.5; font-weight:600; padding-top:3px; }

/* Editorial guidance and the existing rebate journeys. */
.rb-cc-hub .rb-cc-hub-guide { background:#f5f8f6; border-block:1px solid #e3ebe6; }
.rb-cc-hub .rb-cc-hub-guide__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; list-style:none; padding:0; margin:0; }
.rb-cc-hub .rb-cc-hub-guide__steps > li { min-width:0; }
.rb-cc-hub .rb-cc-hub-guide__number { display:block; margin-bottom:9px; color:#45836a; font-size:16px; font-weight:650; }
.rb-cc-hub .rb-cc-hub-guide h3 { margin:0 0 8px; font-family:inherit; color:var(--hub-ink); font-size:19px; line-height:1.3; font-weight:650; letter-spacing:-.025em; }
.rb-cc-hub .rb-cc-hub-guide p:not(.rb-cc-hub__eyebrow) { color:var(--hub-muted); font-size:16px; line-height:1.65; }
.rb-cc-hub .rb-cc-hub-guide__steps p { margin:0; }
.rb-cc-hub .rb-cc-hub-guide__rebates { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px 18px; align-items:center; margin-top:27px; padding-top:24px; border-top:1px solid #d7e5db; }
.rb-cc-hub .rb-cc-hub-guide__rebate-icon { align-self:start; display:grid; place-items:center; width:42px; height:42px; border-radius:10px; color:#2a7257; background:#e2f0e7; font-size:23px; }
.rb-cc-hub .rb-cc-hub-guide__rebates p { margin:0; }
.rb-cc-hub .rb-cc-hub-guide__rebate-links { display:flex; flex-direction:column; gap:12px; padding-left:14px; }

/* Reduce only outer nesting around existing listings and tools; card and CTA styles are untouched. */
.rb-cc-hub .rb-cc-hub__comparisons { background:#fff; }
.rb-cc-hub .rb-cc-hub__comparisons > .container-xl > .credit-card-category-section > .container { padding-inline:0; }
.rb-cc-hub .rb-cc-hub__legacy-section > section, .rb-cc-hub .rb-cc-hub__legacy-section > .container-xl > section { padding-block:32px!important; }
.rb-cc-hub #hub-questions .cc-faq-hub-section > .container > .row { --bs-gutter-x:1.5rem; }
.rb-cc-hub .rb-cc-hub__calculator { background:#f6f8fa; border-block:1px solid #e4eaee; }
.rb-cc-hub .calculator-card-wrapper { width:100%; margin:0 auto; }
.rb-cc-hub .top-picks-layout-wrapper .card { padding-top:20px!important; }
.rb-cc-hub .rb-cc-hub__finder-preview { border-top:1px solid #e1e9e5; background:#f5faf7; }
.rb-cc-hub .rb-cc-hub__check-list { margin:15px 0 19px; padding:0; list-style:none; color:var(--hub-muted); font-size:16px; line-height:1.6; }
.rb-cc-hub .rb-cc-hub__check-list li { display:flex; align-items:flex-start; gap:8px; margin-top:6px; }
.rb-cc-hub .rb-cc-hub__check-list i { color:var(--hub-green); }

@media (max-width:1199.98px) {
    .rb-cc-hub .rb-cc-hub-hero__grid { grid-template-columns:minmax(0,1fr) 250px; gap:25px; }
    .rb-cc-hub .rb-cc-hub-shortcuts ul { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .rb-cc-hub .rb-cc-hub-directory__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:991.98px) {
    .rb-cc-hub .rb-cc-hub-hero__grid { grid-template-columns:minmax(0,1fr); gap:20px; }
    /* The full comparison guide remains below; keep the mobile introduction concise. */
    .rb-cc-hub .rb-cc-hub-hero__note { display:none; }
    .rb-cc-hub .rb-cc-hub-hero__pen { float:left; margin:1px 12px 5px 0; }
    .rb-cc-hub .rb-cc-hub-hero__note h2 { font-size:21px; }
    .rb-cc-hub .rb-cc-hub-hero__note > p:not(.rb-cc-hub__eyebrow) { margin-bottom:6px; }
    .rb-cc-hub .rb-cc-hub-directory__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rb-cc-hub .rb-cc-hub-guide__steps { gap:20px; }
    .rb-cc-hub .rb-cc-hub-guide__rebates { grid-template-columns:42px minmax(0,1fr); }
    .rb-cc-hub .rb-cc-hub-guide__rebate-links { grid-column:2; flex-direction:row; flex-wrap:wrap; gap:10px 20px; padding-left:0; }
    .rb-cc-hub .rb-cc-hub__section-heading { align-items:flex-start; flex-direction:column; gap:12px; }
}
@media (max-width:575.98px) {
    .rb-cc-hub .rb-cc-hub__section { padding:29px 0; }
    .rb-cc-hub .rb-cc-hub-hero { padding-top:20px; }
    .rb-cc-hub .rb-cc-hub-hero__brand { gap:6px 9px; }
    .rb-cc-hub .rb-cc-hub-hero__brand > span { border:0; padding:0; }
    .rb-cc-hub .rb-cc-hub-hero__topline { margin-bottom:16px; }
    .rb-cc-hub .rb-cc-hub-hero h1 { font-size:32px; }
    .rb-cc-hub .rb-cc-hub-hero__intro { font-size:16px; }
    .rb-cc-hub .rb-cc-hub-hero__actions { gap:9px; }
    .rb-cc-hub .rb-cc-hub-hero__actions .rb-cc-hub__button { flex:1 1 0; gap:7px; padding-inline:10px; font-size:14px; }
    .rb-cc-hub .rb-cc-hub-hero__actions .rb-cc-hub__text-link { padding:6px 0; }
    .rb-cc-hub .rb-cc-hub-hero__jump-links { display:none; }
    .rb-cc-hub .rb-cc-hub-hero__mobile-menu { display:block; margin-top:16px; border-top:1px solid var(--hub-line); }
    .rb-cc-hub .rb-cc-hub-hero__mobile-menu > summary { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:46px; color:#2a514c; font-size:14px; font-weight:600; list-style:none; cursor:pointer; }
    .rb-cc-hub .rb-cc-hub-hero__mobile-menu > summary::-webkit-details-marker { display:none; }
    .rb-cc-hub .rb-cc-hub-hero__mobile-menu > summary span { font-size:20px; }
    .rb-cc-hub .rb-cc-hub-hero__mobile-menu[open] > summary span { transform:rotate(45deg); }
    .rb-cc-hub .rb-cc-hub-hero__mobile-menu nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 14px; padding-bottom:12px; }
    .rb-cc-hub .rb-cc-hub-hero__mobile-menu a { display:flex; align-items:center; min-height:40px; padding:6px 0; color:#285b80; font-size:14px; font-weight:550; text-decoration:none; }
    .rb-cc-hub .rb-cc-hub-hero__mobile-menu :where(summary,a):focus-visible { outline:3px solid #2d79b4; outline-offset:2px; border-radius:4px; }
    .rb-cc-hub .rb-cc-hub-shortcuts ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .rb-cc-hub .rb-cc-hub-shortcuts a { padding:8px; gap:7px; }
    .rb-cc-hub .rb-cc-hub-shortcuts__arrow { display:none; }
    .rb-cc-hub .rb-cc-hub-directory__grid { grid-template-columns:minmax(0,1fr); gap:10px; }
    .rb-cc-hub .rb-cc-hub-directory__item { padding:15px; }
    .rb-cc-hub .rb-cc-hub-guide__steps { grid-template-columns:minmax(0,1fr); gap:22px; }
    .rb-cc-hub .rb-cc-hub-guide__steps > li { display:grid; grid-template-columns:27px minmax(0,1fr); column-gap:9px; }
    .rb-cc-hub .rb-cc-hub-guide__number { grid-row:1/3; }
    .rb-cc-hub .rb-cc-hub-guide__steps p { grid-column:2; }
    .rb-cc-hub .rb-cc-hub-guide__rebates { gap:10px; grid-template-columns:32px minmax(0,1fr); }
    .rb-cc-hub .rb-cc-hub-guide__rebate-icon { width:32px; height:32px; font-size:20px; }
    .rb-cc-hub .rb-cc-hub-guide__rebate-links { grid-column:1/-1; padding-left:42px; }
    .rb-cc-hub .rb-cc-hub__legacy-section > section, .rb-cc-hub .rb-cc-hub__legacy-section > .container-xl > section { padding-block:24px!important; }
}
@media (prefers-reduced-motion:reduce) { .rb-cc-hub .rb-cc-hub-directory__item { transition:none; } }
