/* B-scheme homepage extension: principles, not product feature claims. */
.b-home-trust { background: #fff; }
.b-principle-title em { color: var(--b-blue); font-style: normal; }
.b-trust-layout { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(40px, 6vw, 88px); }
.b-trust-diagram { margin: 0; padding: 32px; background: var(--b-paper); }
.b-trust-perimeter { position: relative; padding: 32px 24px 28px; border: 1px solid #adc2e5; }
.b-trust-perimeter::before, .b-trust-perimeter::after { content: ''; position: absolute; width: 18px; height: 18px; border: solid var(--b-blue); pointer-events: none; }
.b-trust-perimeter::before { inset: -1px auto auto -1px; border-width: 2px 0 0 2px; }
.b-trust-perimeter::after { inset: auto -1px -1px auto; border-width: 0 2px 2px 0; }
.b-trust-boundary { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #335b93; font-size: 13px; }
.b-trust-boundary svg { width: 19px; height: 19px; }
.b-trust-inputs { display: flex; justify-content: center; gap: 28px; margin-top: 26px; font-size: 14px; color: #445b7a; }
.b-trust-inputs span { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.b-trust-inputs svg { width: 25px; height: 25px; }
.b-trust-gate { position: relative; width: max-content; max-width: 100%; margin: 22px auto; padding: 3px 18px; color: #335b93; border-inline: 1px solid #adc2e5; font-size: 13px; }
.b-trust-gate::before, .b-trust-gate::after { content: ''; position: absolute; left: 50%; width: 1px; height: 16px; background: #adc2e5; }
.b-trust-gate::before { bottom: calc(100% + 3px); }
.b-trust-gate::after { top: calc(100% + 3px); }
.b-trust-core { padding: 20px 10px; text-align: center; background: var(--b-blue); color: #fff; clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px); }
.b-trust-core strong { display: block; font-size: 25px; font-weight: 650; line-height: 1.45; }
.b-trust-core span { font-size: 13px; color: #e1eaff; }
.b-trust-review { position: relative; margin-top: 24px; padding-top: 20px; border-top: 1px solid #adc2e5; display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 14px; }
.b-trust-review::before { content: ''; position: absolute; bottom: 100%; left: 50%; width: 1px; height: 24px; background: #adc2e5; }
.b-trust-review svg { color: var(--b-blue); }
.b-trust-diagram figcaption { margin-top: 18px; color: var(--b-muted); font-size: 12px; text-align: center; }
.b-trust-copy dl { margin: 0; }
.b-trust-copy dl > div { padding-block: 22px; border-top: 1px solid var(--b-line); }
.b-trust-copy dt { font-size: 21px; font-weight: 650; line-height: 1.45; }
.b-trust-copy dd { margin: 10px 0 0; color: var(--b-muted); font-size: 15px; line-height: 1.85; }
.b-trust-copy > .b-text-link { margin-top: 4px; }
.b-home-ownership { background: var(--b-blue); color: #fff; }
.b-home-ownership .b-section-title > p { color: #e1eaff; }
.b-ownership-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(48px, 7vw, 108px); align-items: center; }
.b-ownership-statement { padding-top: 10px; }
.b-ownership-statement > p:first-child { font-size: clamp(28px, 2.65vw, 38px); font-weight: 650; line-height: 1.55; letter-spacing: -.025em; }
.b-ownership-statement > p:first-child span { display: block; }
.b-ownership-statement > p + p { margin-top: 22px; font-size: 16px; line-height: 1.9; color: #e1eaff; max-width: 360px; }
.b-ownership-statement .b-text-link { color: #fff; margin-top: 24px; }
.b-ownership-map { margin: 0; }
.b-ownership-layers { margin: 0; padding: 0; list-style: none; position: relative; }
.b-ownership-layers::before { content: ''; position: absolute; left: 23px; top: 24px; bottom: 0; width: 1px; background: #8eafff; }
.b-ownership-layers li { display: grid; grid-template-columns: 48px 1fr; gap: 22px; position: relative; padding: 0 0 26px; }
.b-ownership-node { z-index: 1; display: grid; place-items: center; width: 48px; height: 48px; background: var(--b-blue); border: 1px solid #a6bfff; }
.b-ownership-node svg { width: 23px; height: 23px; }
.b-ownership-layers h3 { font-size: 22px; font-weight: 600; line-height: 1.5; }
.b-ownership-layers p { color: #e1eaff; font-size: 15px; line-height: 1.8; margin-top: 7px; }
.b-ownership-base { position: relative; background: #fff; color: var(--b-blue); margin-top: 2px; padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%); }
.b-ownership-base strong { font-size: 20px; font-weight: 650; }
.b-ownership-base span { display: block; font-size: 13px; color: #335b93; }
.b-ownership-base svg { width: 30px; height: 30px; }
.b-ownership-map figcaption { color: #e1eaff; font-size: 12px; margin-top: 16px; }
.b-home-ownership :focus-visible { outline-color: #fff; }
@media (max-width: 1000px) {
  .b-trust-layout, .b-ownership-layout { gap: 36px; }
  .b-trust-diagram { padding: 22px; }
  .b-trust-perimeter { padding: 24px 18px; }
  .b-trust-inputs { gap: 18px; }
}
@media (max-width: 760px) {
  .b-home-trust, .b-home-ownership { height: auto; min-height: 100svh; }
  .b-home-trust .b-chapter-body, .b-home-ownership .b-chapter-body { height: auto; padding-block: calc(var(--b-header) + 36px) 60px; }
  .b-principle-title h2 { font-size: 32px; }
  .b-principle-title > p { font-size: 15px; max-width: 30em; margin-inline: auto; text-wrap: pretty; }
  .b-trust-layout, .b-ownership-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .b-trust-diagram { max-width: 520px; width: 100%; margin-inline: auto; }
  .b-trust-copy dt { font-size: 20px; }
  .b-trust-copy dl > div { padding-block: 20px; }
  .b-ownership-statement { padding: 0; }
  .b-ownership-statement > p:first-child { font-size: 28px; }
  .b-ownership-statement > p + p { max-width: none; font-size: 15px; margin-top: 16px; }
  .b-ownership-statement .b-text-link { margin-top: 16px; }
  .b-ownership-map { margin-top: 6px; }
}
@media (max-width: 360px) {
  .b-principle-title h2 { font-size: 28px; }
  .b-trust-diagram { padding: 16px; }
  .b-trust-perimeter { padding: 22px 12px; }
  .b-trust-inputs { gap: 16px; font-size: 13px; }
  .b-trust-review { gap: 8px; font-size: 13px; }
  .b-ownership-layers li { gap: 16px; }
  .b-ownership-layers h3 { font-size: 20px; }
  .b-ownership-base { padding: 18px; }
  .b-ownership-base strong { font-size: 18px; }
}
