.bb-site {
  --bb-ink: #30261f;
  --bb-paper: #fffcf7;
  --bb-tint: #f2ebdf;
  --bb-bronze: #795335;
  --bb-gold: #dfbc8d;
  --bb-muted: #665e57;
  --bb-line: #ded4c4;
  --bb-hero-image: url("brainbridge-hero.jpg");
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 0;
  background: var(--bb-paper);
  color: var(--bb-ink);
  font: 400 1rem/1.75 Arial, Helvetica, sans-serif;
  text-align: left;
  overflow-wrap: break-word;
}
.bb-site *, .bb-site *::before, .bb-site *::after { box-sizing: border-box; }
.bb-site .bb-wrap { width: min(1160px, 100%); margin: 0 auto; padding: 0 clamp(20px, 4vw, 56px); }
.bb-site h1, .bb-site h2, .bb-site h3, .bb-site h4 {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  line-height: 1.17;
  letter-spacing: -.025em;
  color: var(--bb-ink);
  text-transform: none;
}
.bb-site h1 { max-width: 970px; margin: 0 0 24px; font-size: clamp(2.2rem, 4.5vw, 4rem); }
.bb-site h2 { margin: 0 0 24px; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.bb-site h3 { margin: 0 0 14px; font-size: 1.5rem; }
.bb-site h4 { margin: 24px 0 12px; font-size: 1.25rem; }
.bb-site p { margin: 0 0 20px; max-width: 900px; color: var(--bb-muted); font-family: inherit; font-size: 1rem; line-height: 1.75; }
.bb-site li, .bb-site td, .bb-site th { font-family: inherit; }
.bb-site p:last-child { margin-bottom: 0; }
.bb-site a { color: var(--bb-bronze); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.bb-site a:hover { color: var(--bb-ink); }
.bb-site a:focus-visible, .bb-site summary:focus-visible { outline: 3px solid var(--bb-bronze); outline-offset: 5px; }
.bb-site ul, .bb-site ol { margin: 12px 0 22px; padding-left: 24px; }
.bb-site li { margin: 9px 0; }
.bb-site [id] { scroll-margin-top: 120px; }
.bb-site .bb-pagehead { background: var(--bb-tint); padding: clamp(40px, 6vw, 80px) 0; border-bottom: 1px solid var(--bb-line); }
.bb-site .bb-pagehead p { font-size: 1.125rem; max-width: 850px; }
.bb-site .bb-eyebrow { display: block; margin: 0 0 20px; color: var(--bb-bronze); font: 600 .875rem/1.5 Arial, Helvetica, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.bb-site .bb-homehead {
  background-color: var(--bb-ink);
  background-image: linear-gradient(90deg, rgba(28, 24, 20, .95), rgba(28, 24, 20, .72)), var(--bb-hero-image);
  background-position: center;
  background-size: cover;
  padding: clamp(54px, 8vw, 110px) 0;
}
.bb-site .bb-homehead h1 { max-width: 860px; color: var(--bb-paper); }
.bb-site .bb-homehead p { max-width: 700px; color: #f0e6d6; }
.bb-site .bb-homehead .bb-eyebrow { color: var(--bb-gold); }
.bb-site .bb-homehead a:focus-visible { outline-color: var(--bb-gold); }
.bb-site .bb-content > section { padding: clamp(38px, 5vw, 62px) 0; border-bottom: 1px solid var(--bb-line); }
.bb-site .bb-content > section:last-child { border-bottom: 0; }
.bb-site .bb-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 26px 0; }
.bb-site .bb-cards article { min-width: 0; background: var(--bb-tint); padding: clamp(22px, 3vw, 32px); border-top: 2px solid var(--bb-bronze); }
.bb-site .bb-cards h3 a { text-decoration: none; }
.bb-site .bb-cards h3 a:hover { text-decoration: underline; }
.bb-site .bb-cities article { background: transparent; border: 1px solid var(--bb-line); }
.bb-site .bb-cities a { font-size: .9375rem; }
.bb-site .bb-actions { display: flex; flex-wrap: wrap; gap: 12px 16px; margin-top: 26px; }
.bb-site .bb-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  max-width: 100%;
  padding: 13px 24px;
  margin: 12px 12px 12px 0;
  border: 1px solid var(--bb-ink);
  border-radius: 0;
  background: var(--bb-ink);
  color: var(--bb-paper);
  font: 600 1rem/1.5 Arial, Helvetica, sans-serif;
  text-align: center;
  text-decoration: none;
}
.bb-site .bb-button:hover { background: #51402f; color: var(--bb-paper); }
.bb-site .bb-actions .bb-button { margin: 0; }
.bb-site .bb-homehead .bb-button { background: var(--bb-gold); border-color: var(--bb-gold); color: var(--bb-ink); }
.bb-site .bb-homehead .bb-button:hover { background: #f0d5b2; }
.bb-site .bb-homehead .bb-button-secondary { background: transparent; border-color: #c8bcae; color: var(--bb-paper); }
.bb-site .bb-homehead .bb-button-secondary:hover { background: rgba(255, 255, 255, .12); }
.bb-site .bb-text-link { display: inline-block; margin: 10px 20px 10px 0; }
.bb-site .bb-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(26px, 5vw, 60px); }
.bb-site .bb-container { width: 100%; min-width: 0; }
.bb-site .bb-split > * { min-width: 0; }
.bb-site .bb-two-col { columns: 2; column-gap: 40px; }
.bb-site .bb-two-col li { break-inside: avoid; }
.bb-site details { border-bottom: 1px solid var(--bb-line); padding: 20px 0; }
.bb-site summary { display: list-item; cursor: pointer; padding-right: 12px; color: var(--bb-ink); font-size: 1.125rem; font-weight: 600; line-height: 1.55; }
.bb-site summary::marker { color: var(--bb-bronze); }
.bb-site details[open] > summary { margin-bottom: 20px; }
.bb-site .bb-details-body { padding-top: 2px; }
.bb-site .bb-fee-table { overflow-x: auto; margin: 25px 0; }
.bb-site table { width: 100%; border-collapse: collapse; font-size: 1rem; }
.bb-site td, .bb-site th { padding: 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--bb-line); }
.bb-site th { background: var(--bb-tint); color: var(--bb-ink); font-weight: 600; }
.bb-site td:last-child { white-space: nowrap; }
.bb-site .bb-bas-list, .bb-site .bb-process-list { list-style: none; padding: 0; margin: 0; }
.bb-site .bb-bas-list li, .bb-site .bb-process-list li { display: flex; gap: 22px; padding: 20px 0; margin: 0; border-top: 1px solid var(--bb-line); }
.bb-site .bb-bas-list li > span, .bb-site .bb-step-number { flex: 0 0 32px; color: var(--bb-bronze); font: 1.5rem/1.3 Georgia, serif; }
.bb-site .bb-process-list li > div, .bb-site .bb-bas-list li > div { min-width: 0; }
.bb-site .bb-bas-list h3, .bb-site .bb-process-list h3 { margin-bottom: 8px; }
.bb-site .bb-referral-panel { padding: 30px; background: var(--bb-tint); }
.bb-site .bb-feature-question { font: 1.65rem/1.4 Georgia, serif; color: var(--bb-bronze); }
.bb-site .bb-small-note { font-size: .9375rem; }
.bb-site.bb-footer-fragment { background: var(--bb-ink); color: #f0e6d6; padding: 36px 0; }
.bb-site.bb-footer-fragment p, .bb-site.bb-footer-fragment a { color: #f0e6d6; }
.bb-site.bb-footer-fragment strong { font-size: 1rem; font-weight: 600; }
.bb-site.bb-footer-fragment p { margin: 12px 0; }
.bb-site.bb-footer-fragment a:focus-visible { outline-color: var(--bb-gold); }
.bb-site .bb-footlinks { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 22px 0 0; }
.bb-site .bb-footlinks a { font-size: .9375rem; }
@media (max-width: 800px) {
  .bb-site .bb-split { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .bb-site .bb-cards { grid-template-columns: 1fr; }
  .bb-site .bb-two-col { columns: 1; }
  .bb-site .bb-actions { flex-direction: column; align-items: stretch; }
  .bb-site td, .bb-site th { padding: 12px 10px; }
  .bb-site .bb-referral-panel { padding: 24px; }
}

/* Standalone site shell: no framework, CMS, or external font dependency. */
html { scroll-padding-top: 24px; }
body { margin: 0; background: #fffcf7; color: #30261f; font: 400 1rem/1.7 Arial, Helvetica, sans-serif; }
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
main { display: block; min-width: 0; }
button { font: inherit; }
.site-header { background: #fffcf7; border-bottom: 1px solid #ded4c4; }
.header-inner { max-width: 1160px; padding: 24px clamp(20px, 4vw, 56px); margin: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px 28px; }
.site-brand { display: inline-block; text-decoration: none; color: #30261f; font: 2rem/1.12 Georgia, 'Times New Roman', serif; letter-spacing: -.025em; }
.site-brand span { display: block; margin-top: 7px; font: .8125rem/1.4 Arial, Helvetica, sans-serif; letter-spacing: .02em; }
.primary-navigation { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
.primary-navigation a { color: #665e57; padding: 6px 0; text-decoration: none; font-size: .9375rem; text-underline-offset: 6px; }
.primary-navigation a:hover, .primary-navigation a[aria-current='page'] { color: #30261f; text-decoration: underline; }
.primary-navigation .nav-contact { background: #30261f; color: #fffcf7; padding: 11px 18px; }
.primary-navigation .nav-contact:hover, .primary-navigation .nav-contact[aria-current='page'] { background: #51402f; color: #fffcf7; }
.nav-toggle { border: 1px solid #795335; background: transparent; color: #30261f; padding: 10px 17px; min-height: 46px; cursor: pointer; }
.nav-toggle[aria-expanded='true'] { background: #f2ebdf; }
.site-header a:focus-visible, .nav-toggle:focus-visible, .site-footer a:focus-visible { outline: 3px solid #8b633f; outline-offset: 5px; }
.skip-link { position: absolute; left: 16px; top: -100px; z-index: 10; padding: 12px 20px; background: white; color: #30261f; }
.skip-link:focus { top: 12px; }
.site-footer { margin-top: 0; }
.site-footer .footer-bottom { margin-top: 24px; padding-top: 20px; border-top: 1px solid #665747; font-size: .875rem; }
.breadcrumb { margin: 0; padding: 18px 0; color: #665e57; font-size: .875rem; }
.breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.breadcrumb li { display: inline; }
.breadcrumb li + li::before { content: '/'; display: inline-block; padding-right: 8px; color: #9b8e7c; }
.breadcrumb a { color: #795335; text-underline-offset: 4px; }
.breadcrumb a:focus-visible { outline: 3px solid #795335; outline-offset: 4px; }
.breadcrumb-inner { max-width: 1160px; margin: auto; padding: 0 clamp(20px, 4vw, 56px); }
.preview-banner { padding: 10px 20px; background: #f2ebdf; color: #30261f; text-align: center; font-size: .875rem; }
.preview-banner a { color: #795335; }
@media (max-width: 840px) {
  .header-inner { gap: 20px; padding-top: 20px; padding-bottom: 20px; }
  .primary-navigation { flex-basis: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 20px; border-top: 1px solid #ded4c4; padding-top: 15px; }
  .primary-navigation a { padding: 10px 0; }
  .primary-navigation .nav-contact { padding: 10px 16px; text-align: center; }
}
@media (max-width: 420px) {
  .site-brand { font-size: 1.7rem; }
  .site-brand span { font-size: .75rem; }
  .nav-toggle { padding: 9px 13px; }
  .primary-navigation { grid-template-columns: 1fr; }
}
@media print {
  .site-header, .preview-banner, .skip-link, .nav-toggle { display: none; }
  .bb-site .bb-homehead { background: white; }
  .bb-site .bb-homehead h1, .bb-site .bb-homehead p, .bb-site .bb-homehead .bb-eyebrow { color: #30261f; }
}
