/* Shared navigation, footer, and brand palette for public pages. */
/* Show desktop pages at 90% size while preserving normal mobile sizing. */
@media screen and (min-width: 992px) {
  html { zoom: 0.9; }
}
:root { --bn-page: #03040d; --bn-text: #e0edf1; --bn-muted: #92adbb; --bn-accent: #6ddfea; }
.bn-site-header, .bn-site-footer { font-family: Outfit, sans-serif; font-size: 14px; line-height: 1.5; box-sizing: border-box; }
.bn-site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: #03040ded; backdrop-filter: blur(16px); border-bottom: 1px solid #96d4df14; }
.bn-site-bar { max-width: 1300px; min-height: 80px; padding: 16px 48px; margin: auto; display: flex; justify-content: space-between; align-items: center; gap: 28px; }
.bn-site-logo { display: inline-flex; flex-shrink: 0; }
.bn-site-logo img { display: block; width: 126px; height: auto; max-height: 40px; object-fit: contain; }
.bn-site-header nav, .bn-site-footer nav { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; }
.bn-site-header a, .bn-site-footer a { color: var(--bn-muted); text-decoration: none; font-weight: 400; }
.bn-site-header a:hover, .bn-site-footer a:hover, .bn-site-header a[aria-current] { color: var(--bn-text); }
.bn-site-header .bn-site-join { background: transparent; border: none; color: #fff; padding: 9px 0 9px 8px; border-radius: 0; font-weight: 600; }
.bn-site-join span { margin-left: 10px; }
.bn-site-header a:focus-visible, .bn-site-footer a:focus-visible { outline: 2px solid var(--bn-accent); outline-offset: 5px; }
.bn-site-footer { background: var(--bn-page); color: var(--bn-muted); padding: 46px max(28px, calc((100vw - 1204px) / 2)) 24px; border-top: 1px solid #96d4df16; }
.bn-site-footer-top { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.bn-site-footer p { margin: 15px 0 0; font-size: 13px; line-height: 1.6; }
.bn-site-footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 34px; padding-top: 20px; border-top: 1px solid #96d4df12; font-size: 11px; }
.bn-team-page { background: var(--bn-page); color: var(--bn-muted); padding-top: 80px; }
.bn-team-page .team-photo::after { background: linear-gradient(transparent, #03040deb); }
.bn-team-page .profile-portrait { width: 180px; max-width: 100%; height: auto; aspect-ratio: 1; }
.bn-team-page .advisor-card img { width: 88px; height: 88px; }
.bn-team-page .advisor-card { grid-template-columns: 88px minmax(0,1fr); }
.bn-team-page .profile-card { gap: 20px; }
html { scroll-padding-top: 100px; }
@media(max-width: 700px) {
 .bn-site-bar { padding: 14px 24px; gap: 12px; flex-wrap: wrap; }
 .bn-site-header nav { width: 100%; justify-content: space-between; gap: 10px; font-size: 12px; }
 .bn-site-header .bn-site-join { padding: 6px 10px; }
 .bn-site-logo img { width: 112px; }
 .bn-team-page { padding-top: 116px; }
 .bn-site-footer-top { flex-direction: column; align-items: flex-start; }
 .bn-site-footer nav { gap: 16px 24px; font-size: 13px; }
 html { scroll-padding-top: 136px; }
 .bn-team-page .profile-portrait { width: 160px; }
}

/* One content boundary across pages, navigation, and footer. */
:root { --bn-shell-width: 1300px; --bn-gutter: 48px; }
body .section > .container,
body .bn-social-proof > .container,
body .bn-problem-section > .container,
body .bn-toolstack-section > .container,
body .bn-manifesto > .container,
#Product > .container,
body .bn-site-bar,
body.bn-team-page > main.wrap {
 box-sizing: border-box;
 width: 100%; max-width: var(--bn-shell-width);
 margin-left: auto; margin-right: auto;
 padding-left: var(--bn-gutter); padding-right: var(--bn-gutter);
}
.bn-site-footer { padding-left: 0; padding-right: 0; }
.bn-site-footer-top, .bn-site-footer-bottom {
 box-sizing: border-box; width: calc(100% - var(--bn-gutter) * 2);
 max-width: calc(var(--bn-shell-width) - var(--bn-gutter) * 2);
 margin-left: auto; margin-right: auto;
}
@media(max-width: 991px) { :root { --bn-gutter: 28px; } }
@media(max-width: 479px) { :root { --bn-gutter: 20px; } }

/* Consistent navigation typography, quieter CTA, and tighter homepage rhythm. */
.bn-site-header nav, .bn-site-header nav a { font-family: Outfit, sans-serif; font-size: 14px; line-height: 1.5; letter-spacing: 0; }
.bn-site-header .bn-site-join { background: none; border: 0; border-radius: 0; padding: 9px 0 9px 8px; color: #fff; font-weight: 600; }
.bn-site-header .bn-site-join:hover { color: var(--bn-accent); }

.bn-problem-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); justify-content: stretch; gap: 24px; align-items: start; }
.bn-problem-metrics > div:nth-child(n) { max-width: none; min-width: 0; margin: 0; gap: 12px; }
.bn-problem-metrics dt { max-width: none; }
.bn-problem-metrics dd { font-size: clamp(27px, 2.6vw, 38px); }

@media(max-width: 767px) { .bn-problem-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 20px; } }
@media(max-width: 700px) { .bn-site-header nav, .bn-site-header nav a { font-size: 12px; } .bn-site-header .bn-site-join { padding: 6px 0 6px 8px; } }
@media(max-width: 479px) { .bn-problem-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Keep metric centers evenly distributed regardless of numeral width. */
.bn-problem-metrics > div:nth-child(n) { align-items: center; text-align: center; }
.bn-problem-metrics dt { width: 100%; max-width: 135px; }
.bn-problem-metrics dd { display: flex; align-items: baseline; justify-content: center; min-height: 1.1em; }
.bn-site-header nav a.bn-site-join { color: #fff; font-weight: 600; border: none; background: transparent; box-shadow: none; }

.bn-proof-partner.bn-proof-discovery img { width: 76px; height: 71px; max-width: none; object-fit: contain; }

/* Equal logo slots and caption rows keep all three backers aligned. */
.bn-proof-partners { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: start; }
.bn-proof-partner { display: grid; grid-template-rows: 76px auto auto; gap: 5px; min-width: 0; align-items: start; }
.bn-proof-partner img, .bn-proof-partner.bn-proof-discovery img { width: 100%; max-width: 160px; height: 76px; margin: 0; object-fit: contain; object-position: left center; }
.bn-proof-partner.bn-proof-discovery img { max-width: 76px; }
.bn-proof-partner span { line-height: 1.5; }
.bn-proof-partner small { line-height: 1.5; }
/* Shared link typography on both pages, including the footer. */
.bn-site-header nav, .bn-site-header nav a,
.bn-site-footer nav, .bn-site-footer nav a {
 font-family: Outfit, sans-serif; font-size: 14px; line-height: 1.5;
 font-weight: 400; letter-spacing: 0;
}
.bn-site-header nav a.bn-site-join,
.bn-site-footer nav a[href="index.html#Early-Access"] { color: #fff; font-weight: 600; }
@media(max-width: 700px) {
 .bn-site-header nav, .bn-site-header nav a,
 .bn-site-footer nav, .bn-site-footer nav a { font-size: 12px; }
}
@media(max-width: 479px) { .bn-proof-partners { gap: 14px; } }
