.bcc-hub {
  --bcc-hub-warm: #f7f4ed;
  --bcc-hub-paper: #fffdf8;
  --bcc-hub-charcoal: #17191b;
  --bcc-hub-text: #17202a;
  --bcc-hub-muted: #5d6469;
  --bcc-hub-gold: #f5ac12;
  --bcc-hub-teal: #00a99d;
  --bcc-hub-red: #e4233b;
  --bcc-hub-navy: #153b4b;
  --bcc-hub-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --bcc-hub-hero-size: 92px;
  --bcc-hub-section-size: 68px;
  --bcc-hub-body-size: 17px;
  --bcc-hub-button-size: 14px;
  --bcc-hub-space: 110px;
  --bcc-hub-width: 1320px;
  --bcc-hub-cover-width: 515px;
  position: relative;
  left: 50%;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-right: -50vw !important;
  margin-left: -50vw !important;
  clear: both;
  overflow: hidden;
  background: var(--bcc-hub-warm);
  color: var(--bcc-hub-text);
  font-family: var(--bcc-hub-font);
  font-size: var(--bcc-hub-body-size);
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}

/*
 * WordPress themes such as Divi place shortcode content inside a centred,
 * fixed-width row. These rules deliberately break The Hub out of that row so
 * its colour fields reach both browser edges, matching the Chamber's other
 * custom landing pages.
 */
.entry-content .bcc-hub,
.et_pb_post_content .bcc-hub,
.et_pb_text_inner .bcc-hub,
.et_pb_code_inner .bcc-hub {
  width: 100vw !important;
  max-width: 100vw !important;
}

.bcc-hub *,
.bcc-hub *::before,
.bcc-hub *::after {
  box-sizing: border-box;
}

.bcc-hub a {
  color: inherit;
  text-decoration: none;
}

.bcc-hub img {
  max-width: 100%;
}

.bcc-hub-shell {
  width: min(calc(100% - 64px), var(--bcc-hub-width));
  margin: 0 auto;
}

.bcc-hub-mini-nav {
  display: flex;
  justify-content: center;
  gap: clamp(24px, 4vw, 56px);
  padding: 20px 32px;
  background: var(--bcc-hub-warm);
  border-bottom: 1px solid rgba(23, 25, 27, .12);
  font-size: 14px;
  font-weight: 750;
}

.bcc-hub-mini-nav a {
  border-bottom: 2px solid transparent;
}

.bcc-hub-mini-nav a:hover,
.bcc-hub-mini-nav a:focus-visible {
  border-color: var(--bcc-hub-teal);
}

.bcc-hub-hero {
  position: relative;
  min-height: 716px;
  overflow: hidden;
  background: linear-gradient(90deg, var(--bcc-hub-charcoal) 0 65%, var(--bcc-hub-warm) 65% 100%);
}

.bcc-hub-hero-grid {
  position: relative;
  z-index: 4;
  min-height: 716px;
  display: grid;
  grid-template-columns: 46% 54%;
  align-items: center;
}

.bcc-hub-hero-copy {
  max-width: 570px;
  padding: 72px 0 76px;
  color: var(--bcc-hub-warm);
}

.bcc-hub-hero-copy > * {
  animation: bcc-hub-rise 520ms cubic-bezier(.22, 1, .36, 1) both;
}

.bcc-hub-hero-copy h1 { animation-delay: 60ms; }
.bcc-hub-hero-intro { animation-delay: 120ms; }
.bcc-hub-launch { animation-delay: 180ms; }
.bcc-hub-actions { animation-delay: 240ms; }

.bcc-hub-eyebrow {
  margin: 0 0 24px !important;
  color: var(--bcc-hub-gold);
  font-family: var(--bcc-hub-font);
  font-size: 13px !important;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.bcc-hub-eyebrow-dark {
  color: color-mix(in srgb, var(--bcc-hub-gold) 80%, #6b4200);
}

.bcc-hub-hero h1 {
  max-width: 590px;
  margin: 0 !important;
  color: var(--bcc-hub-warm) !important;
  font-family: var(--bcc-hub-font) !important;
  font-size: clamp(54px, 6.2vw, var(--bcc-hub-hero-size)) !important;
  font-weight: 850 !important;
  line-height: .94 !important;
  letter-spacing: -.065em !important;
  text-transform: none !important;
}

.bcc-hub-hero h1 span {
  display: block;
}

.bcc-hub-hero-intro {
  max-width: 485px;
  margin: 24px 0 0 !important;
  color: color-mix(in srgb, var(--bcc-hub-warm) 90%, transparent) !important;
  font-size: calc(var(--bcc-hub-body-size) + 3px) !important;
  line-height: 1.48 !important;
}

.bcc-hub em {
  font-style: italic;
  font-weight: 650;
}

.bcc-hub-launch {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 27px;
  color: var(--bcc-hub-gold);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .105em;
  text-transform: uppercase;
}

.bcc-hub-launch i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

.bcc-hub-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 26px;
}

.bcc-hub-button {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 23px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-family: var(--bcc-hub-font);
  font-size: var(--bcc-hub-button-size) !important;
  font-weight: 780;
  line-height: 1.2;
  text-align: center;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease;
}

.bcc-hub-button:hover { transform: translateY(-2px); }
.bcc-hub-button-primary { background: var(--bcc-hub-gold); color: var(--bcc-hub-charcoal) !important; box-shadow: 0 10px 28px color-mix(in srgb, var(--bcc-hub-gold) 20%, transparent); }
.bcc-hub-button-primary:hover { filter: brightness(1.08); }
.bcc-hub-button-outline { border-color: var(--bcc-hub-gold); color: var(--bcc-hub-gold) !important; }
.bcc-hub-button-outline:hover { background: var(--bcc-hub-gold); color: var(--bcc-hub-charcoal) !important; }
.bcc-hub-button-dark { margin-top: 28px; background: var(--bcc-hub-charcoal); color: var(--bcc-hub-warm) !important; }

.bcc-hub-cover-stage {
  position: relative;
  height: 680px;
  display: grid;
  place-items: center;
  transform: translateX(20px);
  animation: bcc-hub-cover-enter 680ms 120ms cubic-bezier(.22, 1, .36, 1) both;
}

.bcc-hub-cover {
  position: relative;
  z-index: 3;
  width: min(79%, var(--bcc-hub-cover-width));
  transform: rotate(2.1deg);
  transform-origin: 50% 80%;
  filter: drop-shadow(0 28px 28px rgba(0, 0, 0, .28));
  transition: transform 260ms ease, filter 260ms ease;
}

.bcc-hub-cover:hover { transform: translateY(-5px) rotate(1.1deg); filter: drop-shadow(0 34px 34px rgba(0, 0, 0, .34)); }
.bcc-hub-cover img { position: relative; z-index: 2; display: block; width: 100%; height: auto; border-radius: 2px 5px 5px 2px; }

.bcc-hub-pages {
  position: absolute;
  z-index: 1;
  top: 5px;
  right: -10px;
  bottom: -7px;
  width: 22px;
  border-radius: 0 6px 6px 0;
  background: repeating-linear-gradient(90deg, #f8f5ec 0 2px, #c8c4bb 2px 3px);
  box-shadow: 8px 10px 20px rgba(0, 0, 0, .2);
}

.bcc-hub-frequency {
  position: absolute;
  z-index: 6;
  bottom: 76px;
  left: 3%;
  width: 112px;
  height: 112px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--bcc-hub-teal);
  color: #fff;
  font-size: 16px;
  font-weight: 690;
  line-height: 1.15;
  text-align: center;
  box-shadow: 0 16px 30px color-mix(in srgb, var(--bcc-hub-teal) 28%, transparent);
}

.bcc-hub-network {
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 66%;
  opacity: .13;
  background-image: radial-gradient(circle, var(--bcc-hub-warm) 0 2px, transparent 3px), linear-gradient(90deg, transparent 49.6%, rgba(247,244,237,.22) 50%, transparent 50.4%), linear-gradient(0deg, transparent 49.6%, rgba(247,244,237,.22) 50%, transparent 50.4%);
  background-size: 128px 128px;
}

.bcc-hub-shape { position: absolute; z-index: 2; display: block; pointer-events: none; }
.bcc-hub-shape-gold { top: -122px; right: -32px; width: 340px; height: 340px; border-radius: 50%; background: var(--bcc-hub-gold); }
.bcc-hub-shape-teal { top: 230px; right: -116px; width: 290px; height: 250px; border-radius: 150px 0 0 150px; background: var(--bcc-hub-teal); }
.bcc-hub-shape-red { right: 76px; bottom: -104px; width: 190px; height: 190px; border-radius: 50%; background: var(--bcc-hub-red); }
.bcc-hub-shape-navy { right: -75px; bottom: -65px; width: 230px; height: 215px; border-radius: 130px 0 0; background: var(--bcc-hub-navy); }

.bcc-hub-pulse {
  min-height: 116px;
  display: grid;
  place-items: center;
  padding: 24px 32px;
  background: var(--bcc-hub-warm);
  text-align: center;
}

.bcc-hub-pulse > p { margin: 0 0 20px !important; font-size: 11px !important; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.bcc-hub-pulse > div { width: min(860px, 100%); display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.bcc-hub-pulse span { position: relative; padding-top: 12px; border-top: 1px solid rgba(23,25,27,.14); font-size: 14px; font-weight: 730; }
.bcc-hub-pulse span::before { content: ""; position: absolute; top: -2px; left: 0; width: 38px; height: 3px; background: var(--bcc-hub-gold); }
.bcc-hub-pulse span:nth-child(2)::before { background: var(--bcc-hub-teal); }
.bcc-hub-pulse span:nth-child(3)::before { background: var(--bcc-hub-red); }

.bcc-hub-welcome,
.bcc-hub-inside,
.bcc-hub-partner,
.bcc-hub-final { padding: var(--bcc-hub-space) 0; }

.bcc-hub-welcome { background: var(--bcc-hub-paper); }
.bcc-hub-two-col { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: clamp(64px,8vw,130px); }

.bcc-hub h2 {
  margin: 0 !important;
  color: inherit !important;
  font-family: var(--bcc-hub-font) !important;
  font-size: clamp(40px, 5vw, var(--bcc-hub-section-size)) !important;
  font-weight: 790 !important;
  line-height: .99 !important;
  letter-spacing: -.055em !important;
  text-transform: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.bcc-hub-partner-heading h2 {
  font-size: clamp(42px, 4.4vw, min(64px, var(--bcc-hub-section-size))) !important;
}

.bcc-hub-prose p,
.bcc-hub-section-intro > p,
.bcc-hub-vision-copy p,
.bcc-hub-partner-card p,
.bcc-hub-final p { margin: 0 !important; color: var(--bcc-hub-muted) !important; font-size: var(--bcc-hub-body-size) !important; line-height: 1.75 !important; }
.bcc-hub-prose .bcc-hub-lead,
.bcc-hub-partner-card .bcc-hub-lead { margin-bottom: 23px !important; color: var(--bcc-hub-text) !important; font-size: calc(var(--bcc-hub-body-size) + 6px) !important; font-weight: 570; line-height: 1.5 !important; }

.bcc-hub-facts { display: grid; grid-template-columns: .7fr 1fr 1.35fr; margin-top: 90px; border-block: 1px solid rgba(23,25,27,.14); }
.bcc-hub-facts article { min-height: 144px; display: flex; flex-direction: column; justify-content: center; padding: 24px 36px; border-right: 1px solid rgba(23,25,27,.14); }
.bcc-hub-facts article:first-child { padding-left: 0; }
.bcc-hub-facts article:last-child { border-right: 0; }
.bcc-hub-facts strong { color: var(--bcc-hub-navy); font-size: 43px; line-height: 1; letter-spacing: -.045em; }
.bcc-hub-facts span { margin-top: 11px; color: var(--bcc-hub-muted); font-size: 13px; font-weight: 740; letter-spacing: .08em; text-transform: uppercase; }

.bcc-hub-inside { background: color-mix(in srgb, var(--bcc-hub-warm) 78%, #d3d0c8); }
.bcc-hub-section-intro { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); align-items: end; gap: 96px; }
.bcc-hub-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; margin-top: 64px; }
.bcc-hub-card { position: relative; min-height: 335px; overflow: hidden; padding: 38px 34px 34px; background: var(--bcc-hub-paper); border: 1px solid rgba(23,25,27,.08); transition: transform 220ms ease, box-shadow 220ms ease; }
.bcc-hub-card:hover { transform: translateY(-5px); box-shadow: 0 18px 34px rgba(23,25,27,.1); }
.bcc-hub-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; background: var(--bcc-hub-gold); }
.bcc-hub-card.bcc-hub-accent-teal::before { background: var(--bcc-hub-teal); }
.bcc-hub-card.bcc-hub-accent-red::before { background: var(--bcc-hub-red); }
.bcc-hub-card.bcc-hub-accent-navy::before { background: var(--bcc-hub-navy); }
.bcc-hub-card > span { display: block; margin-bottom: 68px; color: #8b8d8e; font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.bcc-hub-card h3 { margin: 0 0 15px !important; color: var(--bcc-hub-text) !important; font-family: var(--bcc-hub-font) !important; font-size: 28px !important; font-weight: 750 !important; line-height: 1.05 !important; letter-spacing: -.035em !important; text-transform: none !important; }
.bcc-hub-card p { margin: 0 !important; color: var(--bcc-hub-muted) !important; font-size: calc(var(--bcc-hub-body-size) - 2px) !important; line-height: 1.65 !important; }

.bcc-hub-vision { display: grid; grid-template-columns: 1fr 1fr; min-height: 720px; background: var(--bcc-hub-charcoal); color: var(--bcc-hub-warm); }
.bcc-hub-vision-art { position: relative; min-height: 720px; overflow: hidden; background: var(--bcc-hub-warm); }
.bcc-hub-vision-art span { position: absolute; display: block; }
.bcc-hub-v-gold { top: 0; left: 0; width: 50%; height: 50%; border-radius: 0 0 100%; background: var(--bcc-hub-gold); }
.bcc-hub-v-teal { top: 26%; right: 0; width: 50%; height: 50%; border-radius: 100% 0 0 100%; background: var(--bcc-hub-teal); }
.bcc-hub-v-red { bottom: -10%; left: 20%; width: 34%; height: 34%; border-radius: 50%; background: var(--bcc-hub-red); }
.bcc-hub-v-navy { right: -5%; bottom: -6%; width: 35%; height: 35%; border-radius: 50% 0 0; background: var(--bcc-hub-navy); }
.bcc-hub-vision-art strong { position: absolute; z-index: 3; top: 50%; left: 50%; padding: 20px 28px; background: var(--bcc-hub-charcoal); color: var(--bcc-hub-gold); font-size: clamp(46px,6vw,92px); line-height: 1; letter-spacing: -.07em; white-space: nowrap; transform: translate(-50%,-50%) rotate(-4deg); }
.bcc-hub-vision-copy { align-self: center; max-width: 620px; padding: 84px clamp(48px,8vw,132px); }
.bcc-hub-vision-copy h2 { margin-bottom: 34px !important; }
.bcc-hub-vision-copy p { margin-top: 16px !important; color: color-mix(in srgb, var(--bcc-hub-warm) 74%, transparent) !important; }

.bcc-hub-partner { background: var(--bcc-hub-gold); }
.bcc-hub-partner-heading { position: relative; padding-top: 92px; }
.bcc-hub-partner-heading .bcc-hub-eyebrow { color: color-mix(in srgb, var(--bcc-hub-charcoal) 66%, transparent); }
.bcc-hub-verified { position: absolute; top: 0; left: 0; width: 66px; height: 66px; display: grid; place-items: center; border: 2px solid var(--bcc-hub-charcoal); border-radius: 50%; color: var(--bcc-hub-charcoal); font-size: 28px; font-weight: 900; }
.bcc-hub-partner-card { padding: 46px; background: color-mix(in srgb, var(--bcc-hub-paper) 92%, transparent); border: 1px solid rgba(23,25,27,.12); box-shadow: 18px 18px 0 var(--bcc-hub-charcoal); }
.bcc-hub-partner-card p + p { margin-top: 17px !important; }

.bcc-hub-final { background: var(--bcc-hub-navy); color: var(--bcc-hub-warm); }
.bcc-hub-final p { color: color-mix(in srgb, var(--bcc-hub-warm) 78%, transparent) !important; }
.bcc-hub-text-link { display: inline-block; margin-top: 28px; padding-bottom: 7px; border-bottom: 2px solid var(--bcc-hub-teal); color: #fff !important; font-size: 15px; font-weight: 760; }

.bcc-hub a:focus-visible { outline: 3px solid var(--bcc-hub-teal); outline-offset: 4px; }

@keyframes bcc-hub-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bcc-hub-cover-enter { from { opacity: 0; transform: translateX(58px); } to { opacity: 1; transform: translateX(20px); } }

@media (max-width: 1000px) {
  .bcc-hub-hero { background: linear-gradient(90deg, var(--bcc-hub-charcoal) 0 68%, var(--bcc-hub-warm) 68%); }
  .bcc-hub-hero-grid { grid-template-columns: 48% 52%; }
  .bcc-hub-actions { align-items: flex-start; flex-direction: column; }
  .bcc-hub-cover-stage { transform: none; }
}

@media (max-width: 800px) {
  .bcc-hub-shell { width: min(calc(100% - 36px), 720px); }
  .bcc-hub-mini-nav { justify-content: flex-start; overflow-x: auto; }
  .bcc-hub-hero { background: var(--bcc-hub-charcoal); }
  .bcc-hub-hero-grid { min-height: auto; grid-template-columns: 1fr; padding-bottom: 50px; }
  .bcc-hub-hero-copy { max-width: 650px; padding: 70px 0 28px; }
  .bcc-hub-hero h1 { font-size: clamp(52px,12vw,var(--bcc-hub-hero-size)) !important; }
  .bcc-hub-actions { flex-direction: row; }
  .bcc-hub-cover-stage { height: auto; min-height: 670px; animation-name: bcc-hub-rise; }
  .bcc-hub-cover { width: min(74vw,var(--bcc-hub-cover-width)); }
  .bcc-hub-frequency { bottom: 42px; left: max(0px,calc(50% - 275px)); }
  .bcc-hub-network { width: 100%; }
  .bcc-hub-shape-gold { top: auto; right: -85px; bottom: 470px; }
  .bcc-hub-shape-teal { top: auto; bottom: 210px; }
  .bcc-hub-two-col, .bcc-hub-section-intro, .bcc-hub-vision { grid-template-columns: 1fr; }
  .bcc-hub-two-col, .bcc-hub-section-intro { gap: 42px; }
  .bcc-hub-facts { grid-template-columns: repeat(3,1fr); }
  .bcc-hub-facts article { padding: 24px; }
  .bcc-hub-cards { grid-template-columns: 1fr; }
  .bcc-hub-card { min-height: auto; }
  .bcc-hub-card > span { margin-bottom: 38px; }
  .bcc-hub-vision-art { min-height: 560px; }
  .bcc-hub-vision-copy { max-width: none; padding: 78px max(18px,calc((100vw - 720px)/2)); }
}

@media (max-width: 520px) {
  .bcc-hub-shell { width: min(calc(100% - 28px), 500px); }
  .bcc-hub-hero-copy { padding-top: 58px; }
  .bcc-hub-hero h1 { font-size: clamp(48px,15vw,68px) !important; }
  .bcc-hub-launch { align-items: flex-start; flex-direction: column; gap: 7px; }
  .bcc-hub-launch i { display: none; }
  .bcc-hub-actions { align-items: stretch; flex-direction: column; }
  .bcc-hub-button { width: 100%; }
  .bcc-hub-cover-stage { min-height: 540px; }
  .bcc-hub-cover { width: min(76vw,360px); }
  .bcc-hub-frequency { bottom: 34px; left: 0; width: 82px; height: 82px; font-size: 12px; }
  .bcc-hub-pulse { padding-inline: 18px; }
  .bcc-hub-pulse > div { grid-template-columns: 1fr; }
  .bcc-hub-welcome, .bcc-hub-inside, .bcc-hub-partner, .bcc-hub-final { padding: max(70px,calc(var(--bcc-hub-space) * .72)) 0; }
  .bcc-hub-facts { grid-template-columns: 1fr; margin-top: 64px; }
  .bcc-hub-facts article, .bcc-hub-facts article:first-child { min-height: 112px; padding: 24px 0; border-right: 0; border-bottom: 1px solid rgba(23,25,27,.14); }
  .bcc-hub-facts article:last-child { border-bottom: 0; }
  .bcc-hub-vision-art { min-height: 480px; }
  .bcc-hub-vision-art strong { font-size: 52px; }
  .bcc-hub-vision-copy { padding: 74px 18px; }
  .bcc-hub-partner-card { padding: 30px 24px; box-shadow: 10px 10px 0 var(--bcc-hub-charcoal); }
}

@media (prefers-reduced-motion: reduce) {
  .bcc-hub *, .bcc-hub *::before, .bcc-hub *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
