.hcbg {
  --hcbg-primary: var(--e-global-color-primary, #6c0202);
  --hcbg-accent: var(--e-global-color-accent, #790606);
  --hcbg-text: #3f3f3f;
  --hcbg-muted: #555555;
  --hcbg-cream: var(--e-global-color-4b4099c, #f1e4d2);
  --hcbg-stone: #aca093;
  --hcbg-border: rgba(108, 2, 2, .18);
  --hcbg-border: color-mix(in srgb, var(--hcbg-primary) 18%, transparent);
  color: var(--hcbg-text);
  font-family: var(--e-global-typography-text-font-family, inherit);
  margin-inline: auto;
  max-width: 1400px;
  padding: clamp(24px, 4vw, 56px) clamp(18px, 3vw, 36px);
}

.hcbg *, .hcbg *::before, .hcbg *::after { box-sizing: border-box; }
.hcbg h1, .hcbg h2, .hcbg h3, .hcbg h4, .hcbg h5, .hcbg h6 { color: var(--hcbg-primary); font-family: var(--e-global-typography-primary-font-family, inherit); font-size: 30px; font-weight: 600; line-height: 1.14; margin-block: 0 .55em; }
.hcbg p { line-height: 1.72; }
.hcbg a { color: inherit; }

.hcbg-hero { background: linear-gradient(135deg, var(--hcbg-cream), #fff 75%); border: 1px solid var(--hcbg-border); padding: clamp(36px, 7vw, 84px); position: relative; overflow: hidden; }
.hcbg-hero::after { border: 1px solid var(--hcbg-primary); border-radius: 50%; content: ""; height: 230px; opacity: .09; position: absolute; right: -70px; top: -110px; width: 230px; }
.hcbg-hero > * { max-width: 820px; position: relative; z-index: 1; }
.hcbg-hero > p:last-child { font-size: clamp(1.05rem, 1.8vw, 1.28rem); margin-bottom: 0; }
.hcbg-hero--compact { padding-block: clamp(30px, 5vw, 60px); }
.hcbg-entry-hero--with-image { align-items: stretch; display: grid; grid-template-columns: minmax(0, 3fr) minmax(280px, 2fr); padding: 0; }
.hcbg-entry-hero--with-image::after { display: none; }
.hcbg-entry-hero--with-image > * { max-width: none; }
.hcbg-entry-hero__content { align-self: center; min-width: 0; position: relative; z-index: 1; }
.hcbg-entry-hero:not(.hcbg-entry-hero--with-image) .hcbg-entry-hero__content { max-width: 820px; }
.hcbg-entry-hero--with-image .hcbg-entry-hero__content { padding: clamp(34px, 5vw, 72px); }
.hcbg-entry-hero__excerpt { font-size: clamp(1.05rem, 1.8vw, 1.28rem); margin-bottom: 0; }
.hcbg-kicker { color: var(--hcbg-accent); font-size: .76rem !important; font-weight: 700; letter-spacing: .15em; margin: 0 0 12px !important; text-transform: uppercase; }

.hcbg-grid { display: grid; gap: 20px; margin-block: clamp(28px, 5vw, 56px); }
.hcbg-grid--libraries { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.hcbg-grid--libraries .hcbg-card:nth-child(-n+3) { grid-column: span 2; }
.hcbg-grid--libraries .hcbg-card:nth-child(n+4) { grid-column: span 3; }
.hcbg-grid--entries { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.hcbg-topic-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block: clamp(28px, 5vw, 56px); }
.hcbg-topic-card { background: #fff; border: 1px solid var(--hcbg-border); box-shadow: 0 12px 40px rgba(49, 20, 20, .05); display: flex; flex-direction: column; min-width: 0; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.hcbg-topic-card:hover, .hcbg-topic-card:focus-within { border-color: var(--hcbg-primary); box-shadow: 0 18px 50px rgba(49, 20, 20, .11); transform: translateY(-3px); }
.hcbg-topic-card__main { display: flex; flex: 1; flex-direction: column; min-height: 260px; padding: clamp(24px, 3vw, 34px); text-decoration: none !important; }
.hcbg-topic-card__main p { color: var(--hcbg-muted); margin-bottom: 0; }
.hcbg-grid--related { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block: 20px 0; }
.hcbg-card { background: #fff; border: 1px solid var(--hcbg-border); box-shadow: 0 12px 40px rgba(49, 20, 20, .05); display: flex; flex-direction: column; min-height: 270px; padding: clamp(24px, 3vw, 36px); text-decoration: none !important; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.hcbg-card:hover, .hcbg-card:focus-visible { border-color: var(--hcbg-primary); box-shadow: 0 18px 50px rgba(49, 20, 20, .11); transform: translateY(-3px); }
.hcbg-card p { color: var(--hcbg-muted); }
.hcbg-card__index { color: var(--hcbg-stone); font-size: .77rem; font-weight: 700; letter-spacing: .18em; margin-bottom: auto; }
.hcbg-text-link { color: var(--hcbg-primary); font-size: .87rem; font-weight: 700; margin-top: auto; padding-top: 18px; text-transform: uppercase; }
.hcbg-card--entry { min-height: 230px; }
.hcbg-card--small { min-height: 150px; }
.hcbg-card--small > span { color: var(--hcbg-muted); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.hcbg-breadcrumbs { align-items: center; color: var(--hcbg-muted); display: flex; flex-wrap: wrap; font-size: .83rem; gap: 9px; margin-bottom: 18px; }
.hcbg-breadcrumbs a { color: var(--hcbg-primary); }
.hcbg-entry__layout { align-items: start; display: grid; gap: clamp(30px, 6vw, 70px); grid-template-columns: minmax(0, 1.75fr) minmax(250px, .75fr); margin-block: clamp(36px, 6vw, 72px); }
.hcbg-prose { font-size: 1.06rem; }
.hcbg-prose h2 { margin-top: 1.65em; }
.hcbg-prose h3 { margin-top: 1.5em; }
.hcbg-prose ul, .hcbg-prose ol { padding-left: 1.25em; }
.hcbg-prose li { margin-bottom: .55em; }
.hcbg-entry__sidebar { position: sticky; top: 30px; }
.hcbg-guide-image { aspect-ratio: 4 / 3; background: var(--hcbg-cream); margin: 0; overflow: hidden; width: 100%; }
.hcbg-guide-image img { display: block; height: 100%; object-fit: cover; object-position: center center; width: 100%; }
.hcbg-guide-image--four-three { aspect-ratio: 4 / 3; }
.hcbg-guide-image--square { aspect-ratio: 1 / 1; }
.hcbg-entry-hero__image { align-self: stretch; border-left: 1px solid var(--hcbg-border); max-width: none; position: relative; z-index: 1; }
.hcbg-facts { background: var(--hcbg-cream); border-top: 4px solid var(--hcbg-primary); padding: 28px; }
.hcbg-facts dl, .hcbg-facts dd { margin: 0; }
.hcbg-facts dl > div { border-top: 1px solid var(--hcbg-border); padding-block: 14px; }
.hcbg-facts dt { color: var(--hcbg-primary); font-size: .73rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hcbg-facts dd { line-height: 1.45; margin-top: 4px; }

.hcbg-related, .hcbg-site-links { border-top: 1px solid var(--hcbg-border); margin-top: clamp(40px, 6vw, 72px); padding-top: clamp(30px, 5vw, 52px); }
.hcbg-action-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
.hcbg-action-card { align-items: center; background: color-mix(in srgb, var(--hcbg-cream) 64%, #fff); border: 1px solid var(--hcbg-border); display: flex; gap: 18px; justify-content: space-between; min-height: 94px; padding: 18px 20px; text-decoration: none !important; transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.hcbg-action-card:hover, .hcbg-action-card:focus-visible { background: #fff; border-color: var(--hcbg-primary); box-shadow: 0 12px 32px rgba(49, 20, 20, .09); transform: translateY(-2px); }
.hcbg-action-card__content { display: grid; gap: 4px; min-width: 0; }
.hcbg-action-card__eyebrow { color: var(--hcbg-accent); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hcbg-action-card strong { color: var(--hcbg-primary); font-family: var(--e-global-typography-primary-font-family, inherit); font-size: 18px; font-weight: 600; line-height: 1.25; }
.hcbg-action-card__arrow { align-items: center; background: var(--hcbg-primary); color: #fff; display: inline-flex; flex: 0 0 38px; height: 38px; justify-content: center; width: 38px; }
.hcbg-action-card--primary { background: var(--hcbg-primary); border-color: var(--hcbg-primary); }
.hcbg-action-card--primary .hcbg-action-card__eyebrow, .hcbg-action-card--primary strong { color: #fff; }
.hcbg-action-card--primary .hcbg-action-card__arrow { background: var(--hcbg-cream); color: var(--hcbg-primary); }
.hcbg-action-card--primary:hover, .hcbg-action-card--primary:focus-visible { background: color-mix(in srgb, var(--hcbg-primary) 91%, #000); }
.hcbg-library-nav { border-block: 1px solid var(--hcbg-border); margin-block: clamp(38px, 6vw, 70px); padding-block: 24px; }
.hcbg-library-nav > p { color: var(--hcbg-primary); font-size: .75rem; font-weight: 700; letter-spacing: .11em; margin: 0 0 12px; text-transform: uppercase; }
.hcbg-library-nav > div { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.hcbg-library-nav a { color: var(--hcbg-muted); text-decoration: none; }
.hcbg-library-nav a[aria-current="page"] { color: var(--hcbg-primary); font-weight: 700; }
.hcbg-cta { align-items: center; background: var(--hcbg-primary); color: #fff; display: flex; gap: 30px; justify-content: space-between; margin-top: clamp(40px, 7vw, 84px); padding: clamp(30px, 5vw, 54px); }
.hcbg-cta h2, .hcbg-cta .hcbg-kicker { color: #fff; }
.hcbg-cta p:last-child { margin-bottom: 0; }
.hcbg-button { background: var(--hcbg-cream); color: var(--hcbg-primary) !important; display: inline-flex; flex: 0 0 auto; font-size: .82rem; font-weight: 700; justify-content: center; letter-spacing: .07em; padding: 16px 24px; text-decoration: none !important; text-transform: uppercase; transition: background .2s ease, color .2s ease; }
.hcbg-button:hover, .hcbg-button:focus-visible { background: #fff; }

.hcbg-articles { border-top: 1px solid var(--hcbg-border); margin-top: clamp(40px, 6vw, 72px); padding-top: clamp(30px, 5vw, 52px); }
.hcbg-section-intro { color: var(--hcbg-muted); margin: -4px 0 0; max-width: 760px; }
.hcbg-grid--articles { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block: 24px 0; }
.hcbg-article-card { background: #fff; border: 1px solid var(--hcbg-border); box-shadow: 0 12px 40px rgba(49, 20, 20, .05); display: flex; flex-direction: column; min-height: 100%; overflow: hidden; text-decoration: none !important; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.hcbg-article-card:hover, .hcbg-article-card:focus-visible { border-color: var(--hcbg-primary); box-shadow: 0 18px 50px rgba(49, 20, 20, .11); transform: translateY(-3px); }
.hcbg-article-card__media { aspect-ratio: 16 / 9; background: var(--hcbg-cream); display: block; overflow: hidden; }
.hcbg-article-card__media img { display: block; height: 100%; object-fit: cover; object-position: center; transition: transform .35s ease; width: 100%; }
.hcbg-article-card:hover .hcbg-article-card__media img, .hcbg-article-card:focus-visible .hcbg-article-card__media img { transform: scale(1.025); }
.hcbg-article-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.hcbg-article-card__eyebrow { color: var(--hcbg-accent); font-size: .72rem; font-weight: 700; letter-spacing: .1em; margin-bottom: 9px; text-transform: uppercase; }
.hcbg-article-card__title { color: var(--hcbg-primary); font-family: var(--e-global-typography-primary-font-family, inherit); font-size: 20px; font-weight: 600; line-height: 1.25; }
.hcbg-article-card__excerpt { color: var(--hcbg-muted); display: block; font-size: .92rem; line-height: 1.6; margin-top: 12px; }

@media (max-width: 900px) {
  .hcbg-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hcbg-grid--entries, .hcbg-grid--related, .hcbg-grid--articles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hcbg-entry-hero--with-image { grid-template-columns: 1fr; }
  .hcbg-entry-hero--with-image .hcbg-entry-hero__content { padding: clamp(30px, 6vw, 52px); }
  .hcbg-entry-hero__image { border-left: 0; border-top: 1px solid var(--hcbg-border); }
  .hcbg-entry__layout { grid-template-columns: 1fr; }
  .hcbg-entry__sidebar { position: static; }
}

@media (max-width: 640px) {
  .hcbg-topic-grid { grid-template-columns: 1fr; }
  .hcbg-grid--libraries, .hcbg-grid--entries, .hcbg-grid--related, .hcbg-grid--articles, .hcbg-action-grid { grid-template-columns: 1fr; }
  .hcbg-grid--libraries .hcbg-card:nth-child(n) { grid-column: auto; }
  .hcbg-cta { align-items: stretch; flex-direction: column; }
  .hcbg-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .hcbg-card, .hcbg-button, .hcbg-topic-card, .hcbg-action-card, .hcbg-article-card, .hcbg-article-card__media img { transition: none; }
}
