.bbx {
  --bbx-green: #143c31;
  --bbx-green-deep: #102f27;
  --bbx-ink: #263b33;
  --bbx-muted: #5d6f64;
  --bbx-cream: #f6f3ea;
  --bbx-line: #dedfd4;
  --bbx-accent: #a72e32;
  --bbx-gold: #a72e32;
  --bbx-serif: Georgia, 'Times New Roman', serif;
  --bbx-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  box-sizing: border-box;
  color: var(--bbx-ink);
  font-family: var(--bbx-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  text-align: left;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
}
.bbx *, .bbx *::before, .bbx *::after { box-sizing: border-box; }
.bbx .bbx-inner { width: 100%; max-width: 1248px; margin: 0 auto; padding: 76px 40px 30px; }
.bbx.bbx-section { background: var(--bbx-cream); margin: 0; width: 100%; scroll-margin-top: 110px; }
.bbx.bbx-white { background: #fff; }
.bbx.bbx-soft-green { background: #edf2eb; }
.bbx.bbx-dark { background: var(--bbx-green-deep); color: #f8f7f0; --bbx-line: #416052; --bbx-muted: #d0dbcf; }
.bbx p, .bbx h2, .bbx h3, .bbx figure, .bbx ul, .bbx ol, .bbx address { margin: 0; padding: 0; }
.bbx p { font: inherit; margin: 0 0 20px; color: inherit; }
.bbx a { color: inherit; text-decoration: none; }
.bbx a:hover { text-decoration: underline; text-underline-offset: 4px; }
.bbx a:focus-visible { outline: 3px solid var(--bbx-accent); outline-offset: 5px; border-radius: 3px; }
.bbx .bbx-section-heading { max-width: 960px; margin: 0 0 38px; }
.bbx .bbx-eyebrow { color: var(--bbx-muted); font-family: var(--bbx-sans); font-size: 11px; font-weight: 750; letter-spacing: .15em; line-height: 1.5; text-transform: uppercase; margin: 0 0 16px; }
.bbx .bbx-heading { font-family: var(--bbx-serif); color: var(--bbx-green); font-size: clamp(30px, 3.5vw, 48px); font-weight: 400; letter-spacing: -.035em; line-height: 1.13; margin: 0; max-width: 1040px; text-wrap: balance; }
.bbx.bbx-dark .bbx-heading, .bbx.bbx-dark .bbx-subheading, .bbx.bbx-dark .bbx-number { color: #fff; }
.bbx .bbx-subheading { font-family: var(--bbx-serif); font-size: clamp(23px, 2.15vw, 29px); font-weight: 400; letter-spacing: -.02em; line-height: 1.22; color: var(--bbx-green); margin: 0 0 17px; text-wrap: balance; }
.bbx .bbx-small-heading { font-family: var(--bbx-sans); font-size: 17px; font-weight: 700; line-height: 1.4; color: var(--bbx-green); margin: 0 0 8px; }
.bbx .bbx-lead { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.65; max-width: 900px; margin: 0 0 32px; }
.bbx .bbx-pullquote { font-family: var(--bbx-serif); font-size: clamp(28px, 2.6vw, 37px); font-weight: 400; letter-spacing: -.025em; line-height: 1.2; margin: 0 0 26px; color: var(--bbx-green); text-wrap: balance; }
.bbx .bbx-photo { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; border: 0; margin: 0; }
.bbx .bbx-figure { min-width: 0; margin: 0; align-self: start; }
.bbx .bbx-figure > .bbx-photo, .bbx .bbx-image-link > .bbx-photo { border-radius: 10px; }
.bbx .bbx-image-link, .bbx .bbx-group-link { display: block; }
.bbx figcaption { margin: 14px 0 0; color: var(--bbx-muted); font-size: 13px; line-height: 1.55; }
.bbx .bbx-caption { font-size: 13px; line-height: 1.55; color: var(--bbx-muted); margin: 0; }
.bbx .bbx-credit { display: block; font-size: 11px; line-height: 1.6; color: var(--bbx-muted); margin: 16px 0 0; }
.bbx .bbx-credit a, .bbx .bbx-caption a { text-decoration: underline; text-underline-offset: 3px; }
.bbx .bbx-split { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.bbx .bbx-split.bbx-reverse { grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr); }
.bbx .bbx-reverse > .bbx-figure { grid-column: 2; grid-row: 1; }
.bbx .bbx-reverse > .bbx-copy { grid-column: 1; grid-row: 1; }
.bbx .bbx-copy { min-width: 0; }
.bbx .bbx-copy > :last-child { margin-bottom: 0; }
.bbx .bbx-two-cards, .bbx .bbx-two-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.bbx .bbx-two-cards { gap: 40px; }
.bbx .bbx-editorial-card { min-width: 0; }
.bbx .bbx-card-copy { padding: 28px 0 0; }
.bbx .bbx-card-copy p:last-child { margin: 0; }
.bbx .bbx-note { margin: 32px 0 0; padding: 22px 0 0; border-top: 1px solid var(--bbx-line); font-size: 15px; line-height: 1.65; }
.bbx .bbx-footnote { font-size: 13px; color: var(--bbx-muted); margin: 28px 0 0; }
.bbx .bbx-reading { margin-top: 32px; gap: 56px; }
.bbx .bbx-wide-photo { max-width: 100%; }
.bbx .bbx-callout { border-left: 3px solid var(--bbx-accent); padding-left: 24px; margin-top: 32px; }
.bbx .bbx-callout p:last-child { margin-bottom: 0; }
.bbx .bbx-trace { display: flex; justify-content: space-between; gap: 20px; margin: 44px 0 0; padding-top: 16px; border-top: 1px solid var(--bbx-line); color: var(--bbx-muted); }
.bbx .bbx-trace-item { font-size: 8px; line-height: 1.5; letter-spacing: .055em; }
.bbx .bbx-trace-item:last-child { flex-shrink: 0; }
.bbx.bbx-hero .bbx-inner { padding-top: 48px; padding-bottom: 48px; }
.bbx .bbx-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr); gap: 52px; align-items: center; }
.bbx .bbx-hero-copy { min-width: 0; }
.bbx .bbx-hero-copy .bbx-brand { margin-bottom: 24px; }
.bbx .bbx-hero-heading { font-size: clamp(36px, 4.2vw, 57px); margin-bottom: 24px; }
.bbx .bbx-brand { width: 71px; height: 82px; padding: 4px; background: white; border-radius: 2px; flex-shrink: 0; }
.bbx .bbx-brand img { display: block; object-fit: contain; width: 100%; height: 100%; }
.bbx .bbx-hero-main-photo { align-self: center; }
.bbx .bbx-hero-main-photo .bbx-photo { border-radius: 14px; }
.bbx .bbx-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; margin-top: 28px; }
.bbx .bbx-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; background: var(--bbx-green); color: white; border-radius: 5px; padding: 13px 22px; font-size: 14px; font-weight: 650; line-height: 1.45; text-align: center; box-shadow: none; }
.bbx .bbx-button:hover { background: #225642; text-decoration: none; }
.bbx .bbx-text-link { font-size: 13px; font-weight: 650; color: var(--bbx-green); line-height: 1.5; text-decoration: underline; text-underline-offset: 4px; }
.bbx .bbx-portfolio-strip { display: grid; grid-template-columns: 220px minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 34px; margin-top: 46px; padding: 24px; border: 1px solid var(--bbx-line); border-radius: 10px; background: #fffdf7; }
.bbx .bbx-portfolio-photo .bbx-photo { border-radius: 6px; }
.bbx .bbx-stat-panel .bbx-eyebrow { margin-bottom: 5px; }
.bbx .bbx-number { font-family: var(--bbx-sans); font-size: clamp(44px, 4.4vw, 62px); font-weight: 680; letter-spacing: -.055em; line-height: 1.1; color: var(--bbx-green); margin: 0 0 7px; font-variant-numeric: tabular-nums; }
.bbx .bbx-stat-description { font-size: 14px; line-height: 1.45; margin: 0; }
.bbx .bbx-portfolio-link { text-align: right; }
.bbx .bbx-portfolio-link p { margin: 0; overflow-wrap: anywhere; }
.bbx .bbx-metric-line { font-family: var(--bbx-serif); font-size: 43px; color: var(--bbx-green); line-height: 1.12; margin-bottom: 22px; letter-spacing: -.035em; }
.bbx .bbx-metrics-stack { display: grid; gap: 26px; }
.bbx .bbx-metric { padding-bottom: 22px; border-bottom: 1px solid var(--bbx-line); }
.bbx .bbx-overline { display: block; font-size: 14px; margin-bottom: 8px; }
.bbx .bbx-metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0 0 40px; padding: 25px 0; border-block: 1px solid var(--bbx-line); gap: 24px; }
.bbx .bbx-metric-number { font-size: 38px; line-height: 1.15; font-weight: 650; color: var(--bbx-green); letter-spacing: -.035em; margin: 0 0 9px; }
.bbx .bbx-metric-description { font-size: 13px; line-height: 1.55; color: var(--bbx-muted); margin: 0; max-width: 180px; }
.bbx .bbx-portrait-split { grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr); align-items: start; }
.bbx .bbx-portrait { max-width: 370px; justify-self: end; width: 100%; }
.bbx .bbx-service-list { display: grid; gap: 0; }
.bbx .bbx-service-item { border-bottom: 1px solid var(--bbx-line); padding: 17px 0; }
.bbx .bbx-service-item:first-child { padding-top: 0; }
.bbx .bbx-service-item:last-child { border-bottom: 0; padding-bottom: 0; }
.bbx .bbx-service-item p { margin: 0; font-size: 14px; }
.bbx .bbx-role-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.bbx .bbx-role-card { padding: 28px; background: #fffdf8; border: 1px solid var(--bbx-line); border-radius: 8px; }
.bbx .bbx-role-card p { font-size: 14px; margin: 0; }
.bbx .bbx-coca-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: 40px; align-items: start; }
.bbx .bbx-coca-grid .bbx-subheading { margin-top: 26px; }
.bbx .bbx-coca-grid + .bbx-pullquote { margin: 32px 0 0; font-size: 28px; }
.bbx .bbx-reference-link { font-size: 14px; font-weight: 650; line-height: 1.6; margin: 28px 0 0; }
.bbx .bbx-reference-link a { text-decoration: underline; text-underline-offset: 4px; }
.bbx .bbx-campaign-columns { gap: 40px; align-items: start; }
.bbx .bbx-photo-pair { gap: 14px; margin-top: 14px; }
.bbx .bbx-magazine-pair { gap: 16px; background: #fff; padding: 15px; border: 1px solid var(--bbx-line); border-radius: 8px; }
.bbx .bbx-campaign-columns .bbx-subheading { margin-top: 25px; font-size: 26px; }
.bbx .bbx-campaign-columns p { font-size: 14px; }
.bbx .bbx-campaign-columns .bbx-credit { font-size: 11px; }
.bbx .bbx-logo-grid { list-style: none; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 14px; margin: 34px 0 0; padding: 0; }
.bbx .bbx-logo-card { list-style: none; min-width: 0; min-height: 112px; background: #fff; border: 1px solid #e5e8e0; border-radius: 6px; padding: 20px 14px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.bbx .bbx-logo-card > img, .bbx .bbx-logo-link img { display: block; width: 100%; max-width: 150px; height: 57px; object-fit: contain; margin: 0 auto; }
.bbx .bbx-logo-link { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 57px; }
.bbx .bbx-logo-caption { font-size: 9px; line-height: 1.3; color: var(--bbx-muted); margin: 3px 0 0; text-align: center; }
.bbx .bbx-steps { list-style: none; margin: 38px 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.bbx .bbx-step { list-style: none; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 22px; padding: 30px; background: #fffdf8; border: 1px solid #dce3d7; border-radius: 8px; }
.bbx .bbx-step-number { font-family: var(--bbx-serif); font-size: 34px; line-height: 1.1; color: #a72e32; }
.bbx .bbx-step .bbx-subheading { font-family: var(--bbx-sans); font-size: 19px; font-weight: 650; margin-bottom: 13px; }
.bbx .bbx-step p { font-size: 14px; margin: 0; }
.bbx .bbx-promise-line { font-size: 16px; color: var(--bbx-green); font-weight: 650; margin: 0; }
.bbx .bbx-contact-photo { margin: 0 0 38px; }
.bbx .bbx-contact-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 60px; align-items: center; }
.bbx .bbx-contact-intro { display: flex; gap: 24px; align-items: flex-start; }
.bbx .bbx-contact .bbx-heading { font-size: 38px; }
.bbx .bbx-contact-intro .bbx-lead { font-size: 16px; margin: 14px 0 0; }
.bbx .bbx-contact-details { font-style: normal; min-width: 0; }
.bbx .bbx-contact-email { font-size: 19px; font-weight: 650; overflow-wrap: anywhere; margin-bottom: 17px; }
.bbx .bbx-contact-phone { font-size: 24px; font-weight: 400; letter-spacing: -.015em; margin-bottom: 14px; }
.bbx .bbx-contact-website { font-size: 14px; margin-bottom: 0; }
.bbx .bbx-contact-website a { text-decoration: underline; text-underline-offset: 4px; }
.bbx .bbx-address { font-size: 11px; color: var(--bbx-muted); margin: 36px 0 0; padding-top: 22px; border-top: 1px solid var(--bbx-line); }
.bbx.bbx-navigation { background: #fff; }
.bbx.bbx-navigation .bbx-inner { padding-top: 30px; padding-bottom: 60px; }
.bbx .bbx-nav-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.bbx .bbx-nav-card { display: grid; grid-template-columns: minmax(0,1fr) 24px; align-content: start; gap: 18px 12px; border: 1px solid var(--bbx-line); padding: 14px 14px 22px; border-radius: 8px; background: #fff; transition: transform .18s ease, box-shadow .18s ease; }
.bbx .bbx-nav-card:hover { text-decoration: none; transform: translateY(-3px); box-shadow: 0 8px 22px #163c3110; }
.bbx .bbx-nav-card .bbx-photo { grid-column: 1 / -1; border-radius: 4px; }
.bbx .bbx-nav-card .bbx-small-heading { font-family: var(--bbx-serif); font-weight: 400; font-size: 23px; line-height: 1.18; margin: 0; }
.bbx .bbx-nav-arrow { color: var(--bbx-accent); font-size: 22px; line-height: 1; }
.bbx .bbx-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 24px; align-items: start; }
.bbx .bbx-gallery-item { margin: 0; min-width: 0; }
.bbx .bbx-gallery-item .bbx-photo { border-radius: 8px; }
.bbx .bbx-gallery-item figcaption { font-size: 13px; color: var(--bbx-ink); margin-top: 12px; }
.bbx .bbx-gallery-item .bbx-credit { font-size: 10px; margin-top: 8px; }
@media (max-width: 1050px) {
  .bbx .bbx-inner { padding-left: 30px; padding-right: 30px; }
  .bbx .bbx-split, .bbx .bbx-hero-grid { gap: 32px; }
  .bbx .bbx-hero-heading { font-size: 44px; }
  .bbx .bbx-logo-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .bbx .bbx-portfolio-strip { grid-template-columns: 160px minmax(0,1fr); gap: 26px; }
  .bbx .bbx-portfolio-link { grid-column: 2; text-align: left; margin-top: -15px; }
  .bbx .bbx-portfolio-photo { grid-row: 1 / 3; }
  .bbx .bbx-contact-grid { gap: 30px; }
  .bbx .bbx-contact-intro { gap: 18px; }
  .bbx .bbx-role-card { padding: 22px; }
  .bbx .bbx-step { padding: 24px; gap: 16px; }
}
@media (max-width: 760px) {
  .bbx .bbx-inner { padding: 48px 22px 22px; }
  .bbx .bbx-heading { font-size: 34px; line-height: 1.14; }
  .bbx .bbx-section-heading { margin-bottom: 28px; }
  .bbx .bbx-split, .bbx .bbx-split.bbx-reverse, .bbx .bbx-hero-grid, .bbx .bbx-portrait-split, .bbx .bbx-coca-grid, .bbx .bbx-contact-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .bbx .bbx-reverse > .bbx-figure, .bbx .bbx-reverse > .bbx-copy { grid-column: auto; grid-row: auto; }
  .bbx .bbx-two-cards, .bbx .bbx-campaign-columns { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .bbx .bbx-card-copy { padding-top: 24px; }
  .bbx .bbx-reading { gap: 24px; }
  .bbx .bbx-hero-heading { font-size: 40px; }
  .bbx .bbx-hero-copy .bbx-brand { width: 58px; height: 67px; margin-bottom: 20px; }
  .bbx.bbx-hero .bbx-inner { padding-top: 30px; padding-bottom: 35px; }
  .bbx .bbx-hero-copy .bbx-lead { font-size: 17px; }
  .bbx .bbx-hero-main-photo { width: 100%; }
  .bbx .bbx-portfolio-strip { margin-top: 28px; padding: 18px; grid-template-columns: 120px minmax(0,1fr); gap: 20px; }
  .bbx .bbx-portfolio-link { grid-column: 1 / -1; margin-top: 0; }
  .bbx .bbx-portfolio-photo { grid-row: auto; }
  .bbx .bbx-number { font-size: 43px; }
  .bbx .bbx-stat-description { font-size: 12px; }
  .bbx .bbx-logo-grid { gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .bbx .bbx-logo-card { padding: 16px 10px; min-height: 92px; }
  .bbx .bbx-logo-card > img, .bbx .bbx-logo-link img { height: 46px; }
  .bbx .bbx-steps { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .bbx .bbx-portrait { justify-self: center; max-width: 380px; }
  .bbx .bbx-metric-grid { gap: 22px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bbx .bbx-metric-number { font-size: 35px; }
  .bbx .bbx-role-grid { gap: 14px; }
  .bbx .bbx-role-card { padding: 23px; }
  .bbx .bbx-contact-intro .bbx-heading { font-size: 36px; }
  .bbx .bbx-contact-details { padding-top: 24px; border-top: 1px solid var(--bbx-line); }
  .bbx .bbx-contact-photo { margin-bottom: 30px; }
  .bbx .bbx-nav-grid, .bbx .bbx-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 16px; }
  .bbx .bbx-nav-card .bbx-small-heading { font-size: 21px; }
  .bbx .bbx-nav-card { padding: 10px 10px 17px; gap: 14px 8px; }
  .bbx .bbx-trace { margin-top: 30px; }
}
@media (max-width: 480px) {
  .bbx { font-size: 15px; line-height: 1.65; }
  .bbx .bbx-inner { padding-left: 18px; padding-right: 18px; }
  .bbx .bbx-heading { font-size: 31px; }
  .bbx .bbx-hero-heading { font-size: 37px; }
  .bbx .bbx-actions { align-items: flex-start; flex-direction: column; }
  .bbx .bbx-button { width: 100%; }
  .bbx .bbx-two-columns.bbx-reading, .bbx .bbx-role-grid, .bbx .bbx-nav-grid, .bbx .bbx-gallery-grid { grid-template-columns: minmax(0,1fr); }
  .bbx .bbx-role-card { padding: 23px; }
  .bbx .bbx-logo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bbx .bbx-logo-card { min-height: 96px; }
  .bbx .bbx-logo-card > img, .bbx .bbx-logo-link img { max-width: 140px; height: 48px; }
  .bbx .bbx-portfolio-strip { grid-template-columns: 104px minmax(0,1fr); gap: 15px; padding: 14px; }
  .bbx .bbx-portfolio-strip .bbx-number { font-size: 36px; }
  .bbx .bbx-portfolio-strip .bbx-eyebrow { font-size: 9px; }
  .bbx .bbx-step { grid-template-columns: 30px minmax(0,1fr); gap: 15px; padding: 22px 18px; }
  .bbx .bbx-step-number { font-size: 29px; }
  .bbx .bbx-contact-intro { gap: 16px; }
  .bbx .bbx-contact-intro .bbx-brand { width: 56px; height: 65px; }
  .bbx .bbx-contact-intro .bbx-heading { font-size: 32px; }
  .bbx .bbx-contact-email { font-size: 17px; }
  .bbx .bbx-nav-card { grid-template-columns: minmax(0,1fr) 24px; padding: 14px 14px 22px; }
  .bbx .bbx-nav-card .bbx-small-heading { font-size: 25px; }
  .bbx .bbx-nav-card .bbx-photo { max-height: 260px; object-fit: contain; background: #f6f3ea; }
}
@media (prefers-reduced-motion: reduce) {
  .bbx .bbx-nav-card { transition: none; }
}
