/* ChinaBrandPath visual components (.cbp-*). Logical properties only: RTL and 11-locale safe. */
:root {
  --cbp-ui-brand: var(--cbp-green-900, #123fdd);
  --cbp-ui-brand-deep: #0d32b8;
  --cbp-ui-navy: var(--cbp-green-950, #071b3a);
  --cbp-ui-accent: var(--cbp-gold-500, #ffd21c);
  --cbp-ui-on-brand: #fff;
  --cbp-ui-on-brand-soft: #dbe5ff;
  --cbp-ui-glass: rgba(255, 255, 255, .1);
  --cbp-ui-glass-line: rgba(255, 255, 255, .24);
  --cbp-ui-surface: var(--cbp-white, #fff);
  --cbp-ui-surface-soft: #f4f7fd;
  --cbp-ui-line: var(--cbp-line, #dce2ed);
  --cbp-ui-ink: var(--cbp-ink, #0c1830);
  --cbp-ui-muted: var(--cbp-muted, #5d687b);
  --cbp-ui-tint: rgba(18, 63, 221, .08);
  --cbp-ui-radius: var(--cbp-radius-lg, .45rem);
  --cbp-ui-gap: clamp(.9rem, 1.8vw, 1.5rem);
  --cbp-ui-pad: clamp(1.1rem, 2vw, 1.6rem);
  --cbp-ui-shadow: 0 18px 44px rgba(7, 27, 58, .12);
  --cbp-ui-tracking-display: -.035em;
  --cbp-ui-leading-display: 1.06;
  --cbp-ui-dot: 3.6rem;
  --cbp-ui-loop-gap: 4.25rem;
  --cbp-ui-node-min: 9.5rem;
}
:lang(ar), :lang(hi) { --cbp-ui-tracking-display: 0; --cbp-ui-leading-display: 1.32; }
:lang(ja), :lang(zh-cn) { --cbp-ui-tracking-display: 0; --cbp-ui-leading-display: 1.2; }
:lang(de), :lang(ru), :lang(fr), :lang(es), :lang(pt), :lang(id) { --cbp-ui-node-min: 11rem; }
:lang(ja) { line-break: strict; }

/* ---------- Hero ---------- */
.home-funnel-hero.cbp-hero { padding-block: clamp(2rem, 4vw, 3.5rem) 0; }
.cbp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  gap: clamp(1.75rem, 4vw, 4rem);
  align-items: center;
}
.cbp-hero__copy { min-inline-size: 0; }
.cbp-hero__kicker {
  display: inline-flex; align-items: center; gap: .45rem;
  margin: 0 0 1.1rem; padding-block: .32rem; padding-inline: .75rem;
  border: 1px solid var(--cbp-ui-glass-line); border-radius: 999px;
  background: var(--cbp-ui-glass); color: var(--cbp-ui-on-brand);
  font-size: .8rem; font-weight: 700; line-height: 1.35;
}
.cbp-hero__kicker .ph { color: var(--cbp-ui-accent); font-size: 1rem; }
.cbp-hero .cbp-hero__title {
  max-inline-size: 15em; margin: 0;
  color: var(--cbp-ui-on-brand);
  font-size: clamp(2.3rem, 1.25rem + 2.9vw, 3.75rem);
  font-weight: 800; line-height: var(--cbp-ui-leading-display);
  letter-spacing: var(--cbp-ui-tracking-display);
  text-wrap: balance; overflow-wrap: break-word; hyphens: auto;
}
.cbp-hero__lead {
  max-inline-size: 34em; margin: 1.1rem 0 0;
  color: var(--cbp-ui-on-brand-soft);
  font-size: clamp(1rem, .94rem + .3vw, 1.15rem); line-height: 1.55;
}
.cbp-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin-block-start: 1.6rem; }
.cbp-hero__actions .button { min-block-size: 3.25rem; padding-inline: 1.4rem; gap: .6rem; white-space: normal; text-align: start; }
.cbp-hero__secondary {
  display: inline-flex; align-items: center; gap: .55rem;
  min-block-size: 3.25rem; padding-inline: 1.2rem;
  border: 1px solid rgba(255, 255, 255, .55); border-radius: var(--cbp-radius, .3rem);
  color: var(--cbp-ui-on-brand); font-weight: 800; text-decoration: none;
}
.cbp-hero__secondary:hover, .cbp-hero__secondary:focus-visible { border-color: var(--cbp-ui-on-brand); background: var(--cbp-ui-glass); color: var(--cbp-ui-on-brand); }
.cbp-hero__secondary .ph { color: var(--cbp-ui-accent); font-size: 1.2rem; }
.cbp-hero__assurance {
  display: flex; flex-wrap: wrap; gap: .45rem 1.25rem;
  margin: 1.25rem 0 0; padding: 0; list-style: none;
  color: var(--cbp-ui-on-brand-soft); font-size: .82rem; line-height: 1.45;
}
.cbp-hero__assurance li { display: inline-flex; align-items: flex-start; gap: .4rem; min-inline-size: 0; }
.cbp-hero__assurance .ph { flex: 0 0 auto; margin-block-start: .1rem; color: var(--cbp-ui-accent); font-size: 1rem; }
.cbp-hero__visual { min-inline-size: 0; }

/* ---------- Six-step loop (hero visual) ---------- */
.cbp-loop {
  margin: 0; padding: clamp(1.25rem, 2.4vw, 2rem);
  border: 1px solid var(--cbp-ui-glass-line); border-radius: var(--cbp-ui-radius);
  background: linear-gradient(155deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .03));
  box-shadow: var(--cbp-ui-shadow);
  color: var(--cbp-ui-on-brand);
}
.cbp-loop__track { position: relative; }
.cbp-loop__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 1fr 1fr; /* equal rows keep the track centred on the dots */
  row-gap: var(--cbp-ui-loop-gap);
  column-gap: 0;
  margin: 0; padding: 0; list-style: none;
}
/* The loop track: a rounded rectangle through every dot centre. */
.cbp-loop__steps::before {
  position: absolute; z-index: 0;
  inset-inline: calc(100% / 6);
  inset-block: calc(50% - var(--cbp-ui-loop-gap) / 2 - var(--cbp-ui-dot) / 2);
  border: 2px dashed rgba(255, 255, 255, .55);
  border-radius: calc(var(--cbp-ui-dot) / 2);
  content: "";
}
.cbp-loop__step {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center; gap: .6rem;
  min-inline-size: 0; padding-inline: .35rem;
  text-align: center;
}
/* Row one: label above the dot; row two snakes back towards the start. */
.cbp-loop__step:nth-child(-n + 3) { flex-direction: column-reverse; justify-content: flex-start; }
.cbp-loop__step:nth-child(1) { grid-area: 1 / 1; }
.cbp-loop__step:nth-child(2) { grid-area: 1 / 2; }
.cbp-loop__step:nth-child(3) { grid-area: 1 / 3; }
.cbp-loop__step:nth-child(4) { grid-area: 2 / 3; }
.cbp-loop__step:nth-child(5) { grid-area: 2 / 2; }
.cbp-loop__step:nth-child(6) { grid-area: 2 / 1; }
.cbp-loop__dot {
  position: relative; flex: 0 0 auto;
  display: grid; place-items: center;
  inline-size: var(--cbp-ui-dot); block-size: var(--cbp-ui-dot);
  border-radius: 50%;
  background: var(--cbp-ui-surface); color: var(--cbp-ui-brand);
  box-shadow: 0 0 0 6px rgba(255, 255, 255, .14);
  font-size: 1.5rem;
}
.cbp-loop__dot b {
  position: absolute; inset-block-start: -.3rem; inset-inline-end: -.3rem;
  display: grid; place-items: center;
  inline-size: 1.4rem; block-size: 1.4rem; border-radius: 50%;
  background: var(--cbp-ui-accent); color: var(--cbp-ui-navy);
  font-size: .72rem; font-weight: 800; line-height: 1;
}
.cbp-loop__label {
  max-inline-size: 11em;
  font-size: clamp(.86rem, .8rem + .2vw, .98rem); font-weight: 800; line-height: 1.28;
  overflow-wrap: anywhere; hyphens: auto;
}
.cbp-loop__free {
  display: inline-block; margin-inline-start: .2rem; padding-block: .05rem; padding-inline: .45rem;
  border-radius: 999px; background: var(--cbp-ui-accent); color: var(--cbp-ui-navy);
  font-size: .7rem; font-style: normal; font-weight: 800; vertical-align: .1em;
}
/* Direction chevrons on the track (decorative). */
.cbp-loop__step:nth-child(1)::after,
.cbp-loop__step:nth-child(2)::after,
.cbp-loop__step:nth-child(5)::after,
.cbp-loop__step:nth-child(6)::after {
  position: absolute; inset-inline-end: -.3rem;
  inline-size: .6rem; block-size: .6rem;
  border-block-start: 2px solid var(--cbp-ui-accent); border-inline-end: 2px solid var(--cbp-ui-accent);
  content: "";
}
.cbp-loop__step:nth-child(1)::after,
.cbp-loop__step:nth-child(2)::after { inset-block-end: calc(var(--cbp-ui-dot) / 2 - .3rem); transform: rotate(45deg); }
.cbp-loop__step:nth-child(5)::after,
.cbp-loop__step:nth-child(6)::after { inset-block-start: calc(var(--cbp-ui-dot) / 2 - .3rem); transform: rotate(-135deg); }
[dir="rtl"] .cbp-loop__step:nth-child(1)::after,
[dir="rtl"] .cbp-loop__step:nth-child(2)::after { transform: rotate(-45deg); }
[dir="rtl"] .cbp-loop__step:nth-child(5)::after,
[dir="rtl"] .cbp-loop__step:nth-child(6)::after { transform: rotate(135deg); }
.cbp-loop__reorder {
  position: absolute; z-index: 1; inset-block-start: 50%; inset-inline-start: 50%;
  display: inline-flex; align-items: center; gap: .35rem;
  max-inline-size: 30%; padding-block: .3rem; padding-inline: .7rem;
  border: 1px solid var(--cbp-ui-glass-line); border-radius: 999px;
  background: var(--cbp-ui-brand-deep); color: var(--cbp-ui-accent);
  font-size: .78rem; font-weight: 800; line-height: 1.2;
  transform: translate(-50%, -50%);
}
[dir="rtl"] .cbp-loop__reorder { transform: translate(50%, -50%); }
.cbp-loop__reorder .ph { flex: 0 0 auto; font-size: 1rem; }
.cbp-loop__caption {
  display: flex; align-items: center; justify-content: center; gap: .5rem;
  margin-block-start: 1.5rem; padding-block-start: 1rem;
  border-block-start: 1px solid var(--cbp-ui-glass-line);
  color: var(--cbp-ui-on-brand-soft); font-size: .84rem; line-height: 1.4; text-align: center;
}
.cbp-loop__caption .ph { flex: 0 0 auto; color: var(--cbp-ui-accent); font-size: 1.15rem; }
.cbp-loop__caption strong { color: var(--cbp-ui-on-brand); }

/* ---------- Proof strip ---------- */
.cbp-proof { margin-block-start: clamp(2rem, 3.5vw, 3rem); padding-block: 1.1rem; border-block-start: 1px solid var(--cbp-ui-glass-line); }
.cbp-proof__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.cbp-proof__item {
  display: flex; align-items: center; justify-content: center; gap: .3rem .6rem; flex-wrap: wrap;
  min-inline-size: 0; padding-inline: .75rem;
  color: var(--cbp-ui-on-brand-soft); font-size: .84rem; line-height: 1.3; text-align: center;
}
.cbp-proof__item + .cbp-proof__item { border-inline-start: 1px solid var(--cbp-ui-glass-line); }
.cbp-proof__item .ph { color: var(--cbp-ui-accent); font-size: 1.35rem; }
.cbp-proof__item strong { color: var(--cbp-ui-on-brand); font-size: 1.3rem; font-weight: 800; letter-spacing: -.02em; }

/* ---------- Path: evidence cards ---------- */
.cbp-path { padding-block: clamp(2.75rem, 5vw, 4.5rem); background: var(--cbp-ui-surface-soft); }
.cbp-path__heading { max-inline-size: 46rem; margin-block-end: clamp(1.4rem, 2.5vw, 2rem); }
.cbp-path__heading .marketplace-kicker { color: var(--cbp-ui-brand); }
.cbp-path__heading h2 { margin: .35rem 0 0; font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.6rem); line-height: 1.15; text-wrap: balance; }
.cbp-path__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--cbp-ui-gap); align-items: stretch; }
.cbp-card {
  display: flex; flex-direction: column; min-inline-size: 0; overflow: hidden;
  border: 1px solid var(--cbp-ui-line); border-radius: var(--cbp-ui-radius);
  background: var(--cbp-ui-surface);
}
.cbp-card__media { position: relative; margin: 0; aspect-ratio: 16 / 9; overflow: hidden; background: var(--cbp-ui-tint); }
.cbp-card__media img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
.cbp-card__pair {
  position: absolute; inset-block-end: .75rem; inset-inline-start: .75rem;
  display: inline-flex; align-items: center; gap: .4rem;
  padding-block: .3rem; padding-inline: .6rem; border-radius: 999px;
  background: rgba(7, 27, 58, .78); color: var(--cbp-ui-on-brand); font-size: 1.05rem;
}
.cbp-card__pair .ph:first-child, .cbp-card__pair .ph:last-child { color: var(--cbp-ui-accent); }
.cbp-card__body { display: flex; flex: 1; flex-direction: column; gap: .6rem; padding: var(--cbp-ui-pad); }
.cbp-card__step {
  display: inline-flex; align-items: center; gap: .45rem; margin: 0;
  color: var(--cbp-ui-brand); font-size: .78rem; font-weight: 800; letter-spacing: .04em;
}
.cbp-card__step span { padding-block: .12rem; padding-inline: .5rem; border-radius: var(--cbp-radius, .3rem); background: var(--cbp-ui-tint); }
.cbp-card__step .ph { font-size: 1.2rem; }
.cbp-card h3 { margin: 0; font-size: clamp(1.08rem, 1rem + .3vw, 1.25rem); line-height: 1.3; text-wrap: balance; overflow-wrap: break-word; hyphens: auto; }
.cbp-card p:not(.cbp-card__step) { margin: 0; color: var(--cbp-ui-muted); font-size: .92rem; line-height: 1.5; }
.cbp-card .cbp-more { margin-block-start: auto; }
.cbp-card--ladder { background: linear-gradient(180deg, var(--cbp-ui-surface), var(--cbp-ui-surface-soft)); }
.cbp-ladder { display: grid; gap: .55rem; margin: .35rem 0 .25rem; padding: 0; list-style: none; }
.cbp-ladder__rung {
  padding-block: .6rem; padding-inline: .8rem;
  border-inline-start: 4px solid var(--cbp-ui-brand); border-radius: var(--cbp-radius, .3rem);
  background: linear-gradient(to right, rgba(18, 63, 221, .16) var(--cbp-rung, 100%), rgba(18, 63, 221, .04) var(--cbp-rung, 100%));
  color: var(--cbp-ui-ink);
  font-size: .86rem; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere;
}
[dir="rtl"] .cbp-ladder__rung { background: linear-gradient(to left, rgba(18, 63, 221, .16) var(--cbp-rung, 100%), rgba(18, 63, 221, .04) var(--cbp-rung, 100%)); }
.cbp-ladder__rung:last-child { border-inline-start-color: var(--cbp-ui-accent); background: rgba(255, 210, 28, .26); }
.cbp-path__strip {
  display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.5rem;
  margin-block-start: var(--cbp-ui-gap); padding: var(--cbp-ui-pad);
  border: 1px solid var(--cbp-ui-line); border-radius: var(--cbp-ui-radius); background: var(--cbp-ui-surface);
}
.cbp-path__terms { display: flex; flex: 1 1 32rem; flex-wrap: wrap; gap: .75rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.cbp-path__terms li { display: inline-flex; align-items: center; gap: .5rem; min-inline-size: 0; color: var(--cbp-ui-ink); font-size: .92rem; font-weight: 700; line-height: 1.3; }
.cbp-path__terms .ph {
  display: grid; place-items: center; flex: 0 0 auto;
  inline-size: 2.3rem; block-size: 2.3rem; border-radius: 50%;
  background: var(--cbp-ui-tint); color: var(--cbp-ui-brand); font-size: 1.15rem;
}
.cbp-path__link { display: inline-flex; align-items: center; gap: .45rem; color: var(--cbp-ui-brand); font-size: .92rem; font-weight: 800; text-decoration: none; }
.cbp-path__link:hover, .cbp-path__link:focus-visible { text-decoration: underline; }

/* ---------- Flow rail (decision map) ---------- */
.cbp-flow { position: relative; margin: 0; container-type: inline-size; }
.cbp-flow__list {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--cbp-ui-node-min)), 1fr));
  gap: var(--cbp-ui-gap); margin: 0; padding: 0; list-style: none;
}
.cbp-flow__node {
  display: flex; flex-direction: column; gap: .5rem; min-inline-size: 0;
  padding: 1rem; border: 1px solid var(--cbp-ui-line); border-radius: var(--cbp-ui-radius);
  background: var(--cbp-ui-surface); color: var(--cbp-ui-ink);
}
.cbp-flow__top { display: flex; align-items: center; justify-content: space-between; gap: .4rem; }
.cbp-flow__badge { padding-block: .12rem; padding-inline: .45rem; border-radius: var(--cbp-radius, .3rem); background: var(--cbp-ui-tint); color: var(--cbp-ui-brand); font-size: .74rem; font-weight: 800; letter-spacing: .04em; }
.cbp-flow__icon { display: grid; place-items: center; inline-size: 2rem; block-size: 2rem; border-radius: 50%; background: var(--cbp-ui-tint); color: var(--cbp-ui-brand); font-size: 1.1rem; }
.cbp-flow__title { margin: 0; font-size: .98rem; line-height: 1.35; overflow-wrap: break-word; hyphens: auto; }
.cbp-flow__title a { color: inherit; text-decoration: none; }
.cbp-flow__title a:hover, .cbp-flow__title a:focus-visible { color: var(--cbp-ui-brand); text-decoration: underline; }
.cbp-flow__label { font-weight: 800; }
.cbp-flow__detail { color: var(--cbp-ui-muted); font-size: .82rem; }
.cbp-flow .cbp-more { margin-block-start: auto; }

/* ---------- Spec bar ---------- */
.cbp-spec-bar { display: flex; flex-wrap: wrap; gap: .45rem .9rem; margin: 0; padding: 0; list-style: none; }
.cbp-spec-bar__item { display: inline-flex; align-items: center; gap: .35rem; min-inline-size: 0; color: var(--cbp-ui-muted); font-size: .84rem; line-height: 1.35; }
.cbp-spec-bar__item .ph { flex: 0 0 auto; color: var(--cbp-ui-brand); font-size: 1rem; }

/* ---------- Native details ---------- */
.cbp-more__summary {
  display: inline-flex; align-items: center; gap: .35rem;
  color: var(--cbp-ui-brand); font-size: .84rem; font-weight: 800; list-style: none; cursor: pointer;
}
.cbp-more__summary::-webkit-details-marker { display: none; }
.cbp-more__summary .ph { transition: transform .2s ease; }
.cbp-more[open] > .cbp-more__summary .ph { transform: rotate(180deg); }
.cbp-more__body { margin-block-start: .5rem; color: var(--cbp-ui-muted); font-size: .88rem; line-height: 1.55; }
.cbp-more__body p { margin: 0 0 .5rem; }
.cbp-hint { color: var(--cbp-ui-muted); font-size: .8rem; line-height: 1.45; }
.cbp-clamp-2 { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }

/* ---------- Brand logo wall (homepage profiles) ---------- */
.marketplace-home .featured-brands-section { padding-block: clamp(2rem, 3vw, 2.75rem); }
.marketplace-home .featured-brands-section .section-heading { margin-block-end: 1.2rem; }
.cbp-logo-wall {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .75rem;
  margin: 0; padding: 0; list-style: none;
}
.cbp-logo-wall__item { display: flex; min-inline-size: 0; }
.cbp-logo-tile {
  position: relative;
  display: flex; flex: 1; flex-direction: column; align-items: center; gap: .45rem;
  min-inline-size: 0; padding-block: .85rem .7rem; padding-inline: .7rem;
  border: 1px solid var(--cbp-ui-line); border-radius: var(--cbp-ui-radius);
  background: var(--cbp-ui-surface); text-align: center;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.cbp-logo-tile:hover,
.cbp-logo-tile:focus-within {
  border-color: var(--cbp-ui-brand);
  box-shadow: 0 8px 20px rgba(7, 27, 58, .08);
  transform: translateY(-1px);
}
.cbp-logo-tile__heading { margin: 0; font-size: 1rem; line-height: 1; }
.cbp-logo-tile__link { position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.cbp-logo-tile__link:focus-visible { outline: 2px solid var(--cbp-ui-brand); outline-offset: 2px; }
.cbp-logo-tile__sr {
  position: absolute; inline-size: 1px; block-size: 1px;
  margin: -1px; padding: 0; overflow: hidden; border: 0;
  white-space: nowrap; clip-path: inset(50%);
}
.cbp-logo-tile__mark {
  position: relative; display: flex; align-items: center; justify-content: center;
  inline-size: 100%; block-size: 3.4rem;
  padding-block: .22rem; padding-inline: .4rem;
  overflow: hidden; border-radius: .25rem;
}
.cbp-logo-tile__mark--inverse,
.cbp-logo-tile__mark:has(> .brand-directory-card__official-logo--inverse),
.cbp-logo-tile__mark:has(> img[src*="inverse" i]),
.cbp-logo-tile__mark:has(> img[src*="-white" i]) {
  padding-block: .3rem; padding-inline: .45rem;
  background: var(--cbp-ui-navy);
}
.cbp-logo-tile__mark .brand-directory-card__official-logo {
  position: static; inset: auto; display: block;
  inline-size: 100%; block-size: 100%;
  max-inline-size: 100%; max-block-size: 100%;
  min-inline-size: 0; min-block-size: 0;
  object-fit: contain; object-position: center;
}
.cbp-logo-tile__wordmark {
  max-inline-size: 100%; overflow: hidden;
  color: var(--cbp-ui-navy); font-size: 1rem; font-weight: 800;
  letter-spacing: -.03em; line-height: 1.15;
  text-overflow: ellipsis; white-space: nowrap;
}
.cbp-logo-tile__tag {
  max-inline-size: 100%; margin-block-start: auto;
  padding-block: .14rem; padding-inline: .48rem;
  overflow: hidden; border-radius: 999px;
  background: var(--cbp-ui-surface-soft); color: var(--cbp-ui-muted);
  font-size: .7rem; font-weight: 600; line-height: 1.3;
  text-overflow: ellipsis; white-space: nowrap;
}

/* ---------- Responsive ---------- */
@media (max-width: 1120px) {
  .cbp-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .cbp-hero__visual { max-inline-size: 44rem; }
}
@media (max-width: 980px) {
  .cbp-path__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cbp-path__grid > .cbp-card:last-child { grid-column: 1 / -1; }
  .cbp-logo-wall { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
}
@media (max-width: 760px) {
  .site-footer .footer-partnership { gap: .9rem; padding-block: 1.4rem; }
  .site-footer .footer-grid { gap: 1.35rem; padding-block: 1.7rem 1.3rem; }
  .site-footer .footer-brand__name { margin-block-end: .35rem; font-size: 1.2rem; }
  .site-footer .footer-brand > p { font-size: .82rem; line-height: 1.45; }
  .site-footer .footer-assurance,
  .site-footer .footer-column__intro,
  .site-footer .footer-response { display: none; }
  .site-footer .footer-social { margin-block-start: .65rem; }
  .site-footer .footer-column > h2 { margin-block-end: .5rem; }
  .site-footer .footer-column--discover {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .15rem .75rem;
    padding-inline: 0;
  }
  .site-footer .footer-column--discover > h2 { grid-column: 1 / -1; margin-block-end: .25rem; }
  .site-footer .footer-column--discover > a { padding-block: .28rem; padding-inline: 0; font-size: .82rem; }
  .site-footer .footer-column--discover > a::after { display: none; }
  .site-footer .footer-service-link {
    grid-template-columns: 1.65rem minmax(0, 1fr);
    align-items: center;
    gap: .55rem;
    margin-block-end: .4rem;
    padding-block: .52rem;
    padding-inline: .7rem;
  }
  .site-footer .footer-service-link > .ph { inline-size: 1.65rem; block-size: 1.65rem; font-size: .9rem; }
  .site-footer .footer-secondary-links { gap: .3rem .85rem; margin-block-start: .45rem; }
  .site-footer .footer-contact-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem .75rem; }
  .site-footer .footer-trust-links { margin-block-start: .65rem; }
  .site-footer .footer-bottom { gap: .45rem; padding-block: .95rem max(4.5rem, env(safe-area-inset-bottom)); }
  .site-footer .footer-disclosure { text-align: start; }
}
@media (max-width: 680px) {
  .home-funnel-hero.cbp-hero { padding-block-start: 1.15rem; }
  .cbp-hero__grid { gap: 1.25rem; }
  .cbp-hero__kicker { margin-block-end: .75rem; font-size: .74rem; }
  .cbp-hero .cbp-hero__title { font-size: clamp(1.75rem, 7.2vw, 2.2rem); }
  .cbp-hero__lead { margin-block-start: .75rem; font-size: .94rem; line-height: 1.48; }
  .cbp-hero__actions { flex-direction: column; align-items: stretch; gap: .55rem; margin-block-start: 1.15rem; }
  .cbp-hero__actions .button, .cbp-hero__secondary { justify-content: center; inline-size: 100%; min-block-size: 2.85rem; }
  .cbp-hero__assurance { gap: .35rem .9rem; margin-block-start: .9rem; font-size: .76rem; }
  .cbp-loop { padding: .9rem; }
  /* Compact 2x3 Bento steps replace long 6-row mobile stack. */
  .cbp-loop__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; gap: .5rem; }
  .cbp-loop__steps::before, .cbp-loop__step::after { display: none; }
  .cbp-loop__steps > .cbp-loop__step:nth-child(n) {
    grid-area: auto;
    flex-direction: row;
    align-items: center;
    gap: .55rem;
    padding-block: .55rem;
    padding-inline: .6rem;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: .4rem;
    background: rgba(255, 255, 255, .08);
    text-align: start;
  }
  .cbp-loop__dot { inline-size: 2.2rem; block-size: 2.2rem; box-shadow: none; font-size: 1.08rem; }
  .cbp-loop__dot b { inset-block-start: -.22rem; inset-inline-end: -.22rem; inline-size: 1.1rem; block-size: 1.1rem; font-size: .62rem; }
  .cbp-loop__label { max-inline-size: none; font-size: .77rem; line-height: 1.24; }
  .cbp-loop__free { margin-inline-start: .15rem; padding-inline: .35rem; font-size: .62rem; }
  .cbp-loop__reorder, [dir="rtl"] .cbp-loop__reorder { position: static; max-inline-size: none; margin-block-start: .6rem; transform: none; font-size: .72rem; }
  .cbp-loop__caption { margin-block-start: .65rem; padding-block-start: .6rem; font-size: .76rem; }
  .cbp-proof { margin-block-start: 1.2rem; padding-block: .75rem; }
  .cbp-proof__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cbp-proof__item { flex-direction: column; justify-content: center; gap: .12rem; padding-block: .1rem; padding-inline: .3rem; font-size: .7rem; line-height: 1.2; text-align: center; }
  .cbp-proof__item + .cbp-proof__item { border-block-start: 0; border-inline-start: 1px solid var(--cbp-ui-glass-line); }
  .cbp-proof__item .ph { display: none; }
  .cbp-proof__item strong { font-size: .98rem; }
  .cbp-path { padding-block: 1.85rem; }
  .cbp-path__heading { margin-block-end: 1rem; }
  .cbp-path__heading h2 { font-size: 1.45rem; }
  .cbp-path__grid { grid-template-columns: minmax(0, 1fr); gap: .7rem; }
  .cbp-card:has(> .cbp-card__media) { display: grid; grid-template-columns: 5.75rem minmax(0, 1fr); align-items: stretch; }
  .cbp-card:has(> .cbp-card__media) > .cbp-card__media { aspect-ratio: auto; min-block-size: 100%; }
  .cbp-card__pair { display: none; }
  .cbp-card__body { gap: .38rem; padding-block: .85rem; padding-inline: .95rem; }
  .cbp-card h3 { font-size: .96rem; }
  .cbp-card p:not(.cbp-card__step) { font-size: .82rem; line-height: 1.42; }
  .cbp-ladder { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .42rem; }
  .cbp-ladder__rung { padding-block: .48rem; padding-inline: .58rem; font-size: .76rem; }
  .cbp-path__strip { gap: .55rem .9rem; margin-block-start: .7rem; padding-block: .85rem; padding-inline: .95rem; }
  .cbp-path__terms { gap: .45rem .85rem; }
  .cbp-path__terms li { font-size: .8rem; }
  .cbp-path__terms .ph { inline-size: 1.8rem; block-size: 1.8rem; font-size: .95rem; }
  /* Mobile compact partner deal cards */
  .marketplace-home .product-campaign-grid { gap: .65rem; }
  .marketplace-home .opportunity-card .opportunity-card__brandmark {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    block-size: 3.4rem;
    min-block-size: 3.4rem;
    padding-block: .45rem;
    padding-inline: .9rem;
    border-block-end-width: 2px;
  }
  .marketplace-home .opportunity-card .brand-directory-card__label { position: static; inset: auto; order: 2; font-size: .55rem; text-align: end; }
  .marketplace-home .opportunity-card .brand-directory-card__logo-slot { order: 1; justify-self: start; inline-size: min(52%, 7.5rem); block-size: 2.2rem; }
  .marketplace-home .opportunity-card > .card__media { max-block-size: 7rem; }
  .marketplace-home .opportunity-card .card__body { gap: .4rem; padding-block: .8rem; padding-inline: .9rem; }
  .marketplace-home .opportunity-card .tag-row { gap: .3rem; margin-block-end: 0; }
  .marketplace-home .opportunity-card .tag { padding-block: .16rem; padding-inline: .48rem; font-size: .66rem; }
  .marketplace-home .opportunity-card h3 { margin: 0; font-size: .96rem; line-height: 1.3; }
  .marketplace-home .opportunity-card .card__body > p.kicker,
  .marketplace-home .opportunity-card .card__body > p:not(.kicker):not(.card__reviewed),
  .marketplace-home .opportunity-card .card__reviewed { display: none; }
  .marketplace-home .opportunity-card .opportunity-card__facts { gap: .6rem; margin-block-start: .1rem; padding-block-start: .45rem; }
  .marketplace-home .opportunity-card .opportunity-card__facts dd { font-size: .76rem; line-height: 1.35; }
  .marketplace-home .opportunity-card .card__footer { margin-block-start: .1rem; padding-block-start: .45rem; font-size: .75rem; }
  /* Keep compact 3x4 Logo Wall */
  .cbp-logo-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
  .cbp-logo-tile { gap: .32rem; padding-block: .65rem .55rem; padding-inline: .42rem; }
  .cbp-logo-tile__mark { block-size: 2.65rem; padding-inline: .25rem; }
  .cbp-logo-tile__tag { padding-inline: .38rem; font-size: .64rem; }
  /* Mobile Intent & Secondary Actions */
  .marketplace-home .home-intent-section { padding-block: 1.85rem; }
  .marketplace-home .home-intent-choice { padding-block: .95rem; padding-inline: 1rem; }
  .marketplace-home .home-secondary-paths a { align-items: center; padding-block: .72rem; padding-inline: .9rem; }
  .marketplace-home .home-secondary-paths small { display: none; }
  /* Mobile Editorial Guides List (Zero Horizontal Slider) */
  .marketplace-home .home-guides-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .6rem; padding: 0; overflow: visible; }
  .marketplace-home .home-guides-grid > .card { min-inline-size: 0; border-block-start: 1px solid var(--cbp-ui-line); border-inline-start: 4px solid var(--cbp-ui-accent); }
  .marketplace-home .home-guides-grid .card__media,
  .marketplace-home .home-guides-grid .card__body > p { display: none; }
  .marketplace-home .home-guides-grid .card__body { gap: .35rem; padding-block: .8rem; padding-inline: .95rem; }
  .marketplace-home .home-guides-grid h3 { margin: 0; font-size: .94rem; line-height: 1.35; }
  .marketplace-home .home-guides-grid .card__footer { margin-block-start: .1rem; padding-block-start: .4rem; font-size: .74rem; }
  /* Compact 2-Column Industry Directory */
  .marketplace-home .industry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; border: 0; }
  .marketplace-home .industry-card { overflow: hidden; border: 1px solid var(--cbp-ui-line); border-radius: var(--cbp-ui-radius); }
  .marketplace-home .industry-card__image { display: none; }
  .marketplace-home .industry-card__content { gap: .38rem; padding-block: .75rem; padding-inline: .8rem; }
  .marketplace-home .industry-card h3 { margin: 0; font-size: .88rem; line-height: 1.3; }
  .marketplace-home .industry-card__groups a:nth-child(n + 3) { display: none; }
}
@media (max-width: 360px) {
  :root { --cbp-ui-dot: 2.75rem; }
  .cbp-loop__dot { font-size: 1.25rem; }
  .cbp-loop__steps,
  .cbp-ladder,
  .site-footer .footer-contact-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 340px) {
  .cbp-logo-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* ---------- Site-wide shell (P0): header, compact inner heroes, single CTA band ---------- */
.site-header { background: var(--cbp-ui-surface); }
/*
 * Compact inner-page heroes. `#main` gives one deliberate specificity layer above the
 * historical per-template hero rules, so every inner page shares one scale.
 * Locale tokens keep Arabic/Hindi/CJK line-height readable.
 */
#main :is(.hero, .archive-hero, .profile-hero, .services-hero, .tools-hero, .tool-page-hero) {
  padding-block: clamp(2rem, 4vw, 3.5rem);
}
#main :is(.hero, .archive-hero, .profile-hero, .services-hero, .tools-hero, .tool-page-hero) h1 {
  max-inline-size: 22em;
  font-size: clamp(2.1rem, 1.3rem + 2.2vw, 3.3rem);
  line-height: var(--cbp-ui-leading-display);
  letter-spacing: var(--cbp-ui-tracking-display);
  text-wrap: balance;
  overflow-wrap: break-word;
  hyphens: auto;
}
#main :is(.hero, .archive-hero, .profile-hero, .services-hero, .tools-hero, .tool-page-hero) .lead {
  font-size: clamp(1rem, .95rem + .3vw, 1.15rem);
  line-height: 1.5;
}
/* One CTA band per page: pages that already carry the form or an in-page CTA drop the footer band. */
.home .site-footer .footer-partnership,
body:is(.cbp-page-for-distributors, .cbp-page-for-brands, .cbp-page-sourcing-export, .cbp-page-request-a-brand, .cbp-page-contact, .single-brand, .single-opportunity, .single-post, .single-resource, .single-market) .site-footer .footer-partnership { display: none; }

@media (max-width: 980px) {
  /* One floating layer: back-to-top is dropped; WhatsApp stays visible on first screen, docks into the Apply bar while scrolling, and hides near bottom footer/form. */
  .back-to-top,
  .back-to-top.is-visible { display: none; }
  body.cbp-mobile-near-bottom .whatsapp-contact[data-whatsapp-contact] { opacity: 0; visibility: hidden; pointer-events: none; }
  .cbp-mobile-action-bar.is-visible { padding-inline-end: 4.75rem; }
  body.cbp-mobile-bar-on .whatsapp-contact[data-whatsapp-contact],
  body.cbp-mobile-bar-on .whatsapp-contact[data-whatsapp-contact]:hover,
  body.cbp-mobile-bar-on .whatsapp-contact[data-whatsapp-contact]:focus-visible {
    inset-inline-end: 1rem;
    inset-block-end: max(.55rem, env(safe-area-inset-bottom));
    inline-size: 3rem;
    block-size: 3rem;
    min-block-size: 3rem;
    transform: none;
  }
  /* Touch targets >= 44px without stretching select text or wrapped breadcrumbs. */
  .menu-toggle { display: grid; place-content: center; min-inline-size: 2.75rem; min-block-size: 2.75rem; }
  .breadcrumb ol { row-gap: .2rem; align-items: center; }
  .breadcrumb li { display: inline-flex; align-items: center; }
  .breadcrumb a { display: inline-flex; align-items: center; min-block-size: 2.25rem; padding-block: .15rem; }
}
@media (max-width: 760px) {
  .site-footer :is(.footer-column--discover > a, .footer-secondary-links a, .footer-trust-links a, .footer-social a, .footer-legal a, .footer-legal button) {
    display: inline-flex; align-items: center; min-block-size: 2.75rem;
  }
  .marketplace-home .home-guides-grid .button--text,
  .cbp-form label:has(> input:is([type="checkbox"], [type="radio"])) { min-block-size: 2.75rem; }
  .cbp-form label:has(> input:is([type="checkbox"], [type="radio"])) { display: flex; align-items: center; gap: .6rem; }
}
@media (max-width: 680px) {
  /* Region / topic tabs wrap into pills instead of a hidden horizontal track. */
  .directory-results, .archive-layout > * { min-inline-size: 0; }
  .market-region-tabs { flex-wrap: wrap; overflow: visible; }
  .market-region-tabs a { flex: 1 1 calc(33.333% - .25rem); min-inline-size: 0; min-block-size: 2.75rem; padding-inline: .5rem; white-space: normal; text-align: center; }
  #main :is(.hero, .archive-hero, .profile-hero, .services-hero, .tools-hero, .tool-page-hero) { padding-block: 1.6rem 1.75rem; }
  #main :is(.hero, .archive-hero, .profile-hero, .services-hero, .tools-hero, .tool-page-hero) h1 { font-size: clamp(1.6rem, 6.4vw, 2.05rem); }
  #main :is(.hero, .archive-hero, .profile-hero, .services-hero, .tools-hero, .tool-page-hero) .lead { font-size: .95rem; }
}

@media (prefers-reduced-motion: reduce) {
  .cbp-more__summary .ph,
  .cbp-logo-tile { transition: none; }
}
@media print {
  .cbp-more > .cbp-more__body { display: block; }
}

/* ---------- P1: Homepage campaigns, Brands, Opportunities & Product Catalog ---------- */
@media (min-width: 681px) {
  .cbp-home-more-campaigns > summary { display: none; }
  .cbp-home-more-campaigns > .cbp-more__body { margin-block-start: 1.25rem; }
}
@media (min-width: 720px) {
  .home-intent-choice-grid,
  .home-secondary-paths { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-secondary-paths small {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
}

.prose :is(h2, h3, h4):empty { display: none; }
.cbp-brand-question-fold {
  margin-block-start: 1rem;
  border: 1px solid var(--cbp-ui-line);
  border-radius: var(--cbp-ui-radius);
  background: var(--cbp-ui-surface);
}
.cbp-brand-question-fold > .cbp-more__summary {
  padding-block: .85rem;
  padding-inline: 1rem;
}
.cbp-brand-question-fold > .cbp-more__body {
  padding-block: 0 1.15rem;
  padding-inline: 1rem;
}
.contextual-tools__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.cbp-brand-profile-v2 .brand-detail-directory-nav nav a,
.brand-detail-directory-nav nav a {
  min-inline-size: 2.75rem;
  min-block-size: 2.75rem;
}
@media (max-width: 680px) {
  .contextual-tools__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body:not(.home) .brand-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
  }
  body:not(.home) .brand-directory-card__brandmark {
    height: auto;
    min-block-size: 6.75rem;
    flex: 0 0 auto;
    padding-block: 1.85rem .9rem;
    padding-inline: .75rem;
  }
  body:not(.home) .brand-directory-card .card__body {
    padding-block: .8rem;
    padding-inline: .8rem;
    gap: .45rem;
  }
  body:not(.home) .brand-directory-card .card__body h3 {
    font-size: .96rem;
    line-height: 1.28;
  }
  body:not(.home) .brand-directory-card .card__body > p,
  body:not(.home) .brand-directory-card__facts > div:nth-child(n + 2),
  body:not(.home) .brand-directory-card .card__footer > span { display: none; }
  body:not(.home) .brand-directory-card__facts > div {
    grid-template-columns: minmax(0, 1fr);
    gap: .15rem;
    padding-block: .45rem;
  }
}

.marketplace-archive--opportunity .opportunity-table--directory .opportunity-table__header { display: none; }
.marketplace-archive--opportunity .opportunity-table--directory {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  border-block-start: 0;
}
.marketplace-archive--opportunity .opportunity-table--directory .opportunity-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  align-content: start;
  border: 1px solid var(--cbp-ui-line);
  border-radius: var(--cbp-ui-radius);
  background: var(--cbp-ui-surface);
  overflow: hidden;
}
.marketplace-archive--opportunity .opportunity-table--directory .opportunity-row > div {
  padding-block: .72rem;
  padding-inline: .85rem;
  border-inline-end: 0;
  border-block-end: 1px solid var(--cbp-ui-line);
}
.marketplace-archive--opportunity .opportunity-table--directory .opportunity-row > .opportunity-brand,
.marketplace-archive--opportunity .opportunity-table--directory .opportunity-row > .opportunity-row__action {
  grid-column: 1 / -1;
}
.marketplace-archive--opportunity .opportunity-table--directory .opportunity-row > .opportunity-row__action {
  border-block-end: 0;
  background: var(--cbp-ui-surface-soft);
}
.marketplace-archive--opportunity .opportunity-table--directory .opportunity-row__action .button {
  inline-size: 100%;
  justify-content: space-between;
}
.marketplace-archive--opportunity .opportunity-table--directory .opportunity-row__mobile-label {
  display: block;
  margin-block-end: .25rem;
  color: var(--cbp-ui-muted);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
@media (max-width: 1120px) {
  .marketplace-archive--opportunity .opportunity-table--directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .marketplace-archive--opportunity .opportunity-table--directory {
    grid-template-columns: minmax(0, 1fr);
  }
}

.profile-section > .cbp-more > .cbp-more__summary h2 {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}
.single-opportunity .opportunity-snapshot {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem 1rem;
  margin-block: .95rem .8rem;
}
@media (max-width: 680px) {
  .single-opportunity .opportunity-snapshot {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem .75rem;
    margin-block: .7rem .65rem;
  }
  .single-opportunity .opportunity-snapshot > div { padding-block: .45rem; }
}

.catalog-index {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block-start: 2px solid var(--cbp-ui-ink);
  border-inline-start: 1px solid var(--cbp-ui-line);
}
.catalog-index a {
  min-block-size: 2.75rem;
  border-inline-end: 1px solid var(--cbp-ui-line);
  border-block-end: 1px solid var(--cbp-ui-line);
}
.product-context > .cbp-more {
  border-block-start: 1px solid var(--cbp-ui-line);
  padding-block: .35rem;
}
.product-context > .cbp-more > .cbp-more__summary {
  padding-block: .45rem;
  font-size: .82rem;
  font-weight: 750;
}
@media (max-width: 680px) {
  .catalog-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
    border: 0;
  }
  .catalog-index a {
    min-block-size: 2.75rem;
    padding: .65rem .75rem;
    border: 1px solid var(--cbp-ui-line);
    border-radius: var(--cbp-ui-radius);
  }
  .product-child-catalog .catalog-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
  }
  .product-child-catalog .catalog-category-card { padding: .85rem; }
}

.cbp-guide-toc {
  margin-block: 1rem 1.35rem;
  padding: .9rem 1rem;
  border: 1px solid var(--cbp-ui-line);
  border-radius: var(--cbp-ui-radius);
  background: var(--cbp-ui-soft);
}
.cbp-guide-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem .85rem;
}
.cbp-guide-toc__list a {
  display: flex;
  align-items: baseline;
  gap: .45rem;
  font-size: .86rem;
  font-weight: 650;
  text-decoration: none;
  min-block-size: 2.25rem;
}
.cbp-guide-toc__num {
  font-size: .74rem;
  font-weight: 800;
  color: var(--cbp-gold-700, #9a6b00);
}
.single-resource .resource-article__content table {
  display: block;
  max-inline-size: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.single-resource .resource-related-box,
.single-resource .contextual-tools {
  padding: 1rem;
  margin-block-start: 1rem;
}
@media (max-width: 680px) {
  .cbp-guide-toc__list { grid-template-columns: minmax(0, 1fr); }
  .cbp-guide-toc__list a { min-block-size: 2.75rem; align-items: center; }
  .guide-directory-row__media { display: none; }
  .guide-directory-row {
    grid-template-columns: minmax(0, 1fr) !important;
    border-inline-start: 3px solid var(--cbp-gold-500, #eab308);
    padding: 1rem;
    gap: .65rem;
  }
  .industry-case-method__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
  }
  .market-opportunity-test__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
  }
  .market-opportunity-test__grid > li:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
  .marketplace-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
  }
}

.about-platform-page .breadcrumb { margin-block-start: .5rem; }
.cbp-form, .cbp-form * {
  max-inline-size: 100%;
  box-sizing: border-box;
}
.cbp-form input:not([type="checkbox"]):not([type="radio"]),
.cbp-form select,
.cbp-form textarea {
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: 2.75rem;
}
@media (max-width: 680px) {
  .service-path-grid,
  .trust-grid,
  .flywheel-pillars,
  .steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .75rem;
  }
  .cbp-services-page .actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
  }
  .cbp-services-page .actions .button {
    inline-size: 100%;
    min-block-size: 2.75rem;
    justify-content: center;
    text-align: center;
    padding-inline: .65rem;
    font-size: .84rem;
  }
  .cbp-services-page .actions .button:first-child:nth-last-child(odd) {
    grid-column: 1 / -1;
  }
  .tool-phase-index,
  .tool-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .7rem;
  }
  .tool-phase-index a { min-block-size: 2.75rem; }
  .tool-card { padding: .85rem; }
  .tool-card p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}

/* ---------- Primary navigation button pills ---------- */
@media (min-width: 1101px) {
  .site-header .header-inner {
    gap: clamp(.6rem, .95vw, 1.15rem);
  }
  .site-header .primary-nav {
    margin-inline-start: auto;
  }
  .site-header .primary-nav ul {
    gap: clamp(.35rem, .5vw, .55rem);
  }
  .site-header .primary-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-block-size: 2.35rem;
    padding-block: .38rem;
    padding-inline: clamp(.58rem, .78vw, .85rem);
    border: 1px solid #cfd9eb;
    border-radius: .45rem;
    background: #f4f7fc;
    color: #0f1d35;
    font-size: clamp(.76rem, .82vw, .85rem);
    font-weight: 750;
    line-height: 1.15;
    white-space: nowrap;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(12, 24, 48, .04);
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
  }
  .site-header .primary-nav a:hover,
  .site-header .primary-nav a:focus-visible {
    color: #123fdd;
    background: #eaf0ff;
    border-color: #84a2f8;
    box-shadow: 0 2px 6px rgba(18, 63, 221, .1);
  }
  .site-header .primary-nav .current-menu-item > a,
  .site-header .primary-nav .current-menu-ancestor > a,
  .site-header .primary-nav a[aria-current="page"] {
    color: #123fdd;
    background: #e4ecff;
    border-color: #123fdd;
    box-shadow: inset 0 0 0 1px rgba(18, 63, 221, .14), 0 1px 3px rgba(18, 63, 221, .08);
  }
}
@media (min-width: 1101px) and (max-width: 1280px) {
  .site-header .primary-nav ul { gap: .3rem; }
  .site-header .primary-nav a {
    min-block-size: 2.2rem;
    padding-inline: .48rem;
    font-size: .74rem;
  }
}
@media (max-width: 1100px) {
  .site-header .primary-nav ul { gap: .45rem; }
  .site-header .primary-nav a {
    display: flex;
    align-items: center;
    min-block-size: 2.75rem;
    padding-block: .6rem;
    padding-inline: .9rem;
    border: 1px solid #cfd9eb;
    border-radius: .45rem;
    background: #f5f8fd;
    color: #0f1d35;
    font-weight: 750;
  }
  .site-header .primary-nav .current-menu-item > a,
  .site-header .primary-nav .current-menu-ancestor > a,
  .site-header .primary-nav a[aria-current="page"] {
    color: #123fdd;
    background: #e4ecff;
    border-color: #123fdd;
  }
}

/* ---------- Header language switcher pill ---------- */
.site-header .language-switcher {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  block-size: 2.35rem;
  min-block-size: 2.35rem;
  padding-block: 0;
  padding-inline: .65rem .5rem;
  border: 1px solid #cfd9eb;
  border-radius: .45rem;
  background: #fff;
  color: #0f1d35;
  box-shadow: 0 1px 2px rgba(12, 24, 48, .04);
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.site-header .language-switcher:hover {
  border-color: #84a2f8;
  background: #f8faff;
}
.site-header .language-switcher > .gtranslate_wrapper {
  display: inline-flex;
  align-items: center;
}
.site-header .language-switcher > select,
.site-header .language-switcher > .gtranslate_wrapper > .gt_selector {
  inline-size: 6.6rem;
  max-inline-size: 100%;
  block-size: auto;
  min-block-size: 0;
  margin: 0;
  padding-block: 0;
  padding-inline: 0 .2rem;
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font-size: .8rem;
  font-weight: 750;
  line-height: 1.25;
  cursor: pointer;
}
@media (min-width: 1101px) and (max-width: 1280px) {
  .site-header .language-switcher {
    block-size: 2.2rem;
    min-block-size: 2.2rem;
    padding-inline: .52rem .4rem;
  }
  .site-header .language-switcher > select,
  .site-header .language-switcher > .gtranslate_wrapper > .gt_selector {
    inline-size: 5.7rem;
    font-size: .75rem;
  }
}
@media (max-width: 1100px) {
  .site-header .language-switcher {
    block-size: 2.75rem;
    min-block-size: 2.75rem;
    padding-inline: .6rem .45rem;
  }
  .site-header .language-switcher > select,
  .site-header .language-switcher > .gtranslate_wrapper > .gt_selector {
    inline-size: 5.8rem;
    font-size: .78rem;
  }
}
@media (max-width: 560px) {
  .site-header .language-switcher {
    max-inline-size: 7.4rem;
    margin-inline: auto 0;
    padding-inline: .52rem .4rem;
  }
  .site-header .language-switcher > select,
  .site-header .language-switcher > .gtranslate_wrapper > .gt_selector {
    inline-size: min(5.6rem, 25vw);
    font-size: .76rem;
  }
}
