/* Shared front-end and editor styles. Fonts can be installed locally in WP. */
:root { --bb-green:var(--wp--preset--color--green); --bb-paper:var(--wp--preset--color--paper); --bb-line:var(--wp--preset--color--line); }
* { box-sizing:border-box; }
body { margin:0; }
:where(img) { max-width:100%; height:auto; }
:where(a,button,summary,input,textarea,select):focus-visible { outline:3px solid currentColor; outline-offset:5px; }
:where(a) { text-underline-offset:.22em; }
.bb-container { width:100%; max-width:1240px; margin-inline:auto; }
.bb-section { padding:96px 48px; margin-block-start:0; scroll-margin-top:2rem; }
.bb-hero { padding-block:56px 24px; }
.bb-grid { display:grid; gap:40px; }
.bb-grid > * { min-width:0; margin-block-start:0; }
.bb-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.bb-grid-hero { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:48px; align-items:center; }
/* Compatibility for a row inserted around both hero columns in existing pages. */
.bb-grid-hero > .wp-block-group:has(> .bb-conversation-cover) { grid-column:1 / -1; display:grid; grid-template-columns:inherit; gap:inherit; align-items:center; }
.bb-grid-hero > .wp-block-group:has(> .bb-conversation-cover) > * { min-width:0; margin-block:0; }
.bb-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.bb-stack > * { margin-block:0; }
.bb-stack > * + * { margin-block-start:22px; }
/* Cards with varying text lengths share a bottom-aligned action in each row. */
.bb-grid-three > .bb-card { display:flex; flex-direction:column; align-self:stretch; }
.bb-grid-three > .bb-card > .wp-block-buttons:last-child { margin-block-start:auto; padding-top:22px; }
/* Fund cards additionally share all eight content rows on desktop. */
#fonds .bb-grid-three > .bb-card > p:empty { display:none; }
#fonds .bb-grid-three > .bb-card .wp-block-button,
#fonds .bb-grid-three > .bb-card .wp-block-button__link { width:100%; }
@supports (grid-template-rows:subgrid) {
 @media (min-width:1025px) {
  #fonds .bb-grid-three > .bb-card { display:grid; grid-row:span 8; grid-template-rows:subgrid; }
  #fonds .bb-grid-three > .bb-card > * { margin-block:0; }
  #fonds .bb-grid-three > .bb-card > .wp-block-buttons { margin-block:0; padding-top:0; align-self:end; }
 }
}
.bb-section > .bb-container > * + * { margin-block-start:32px; }
.bb-serif,.bb-display { font-family:var(--wp--preset--font-family--display); }
.bb-eyebrow,.is-style-bb-eyebrow { font-size:12px; font-weight:600; line-height:1.4; letter-spacing:1.9px; color:var(--wp--preset--color--gold); }
.bb-paper { background:var(--bb-paper); }
.bb-panel,.bb-card,.is-style-bb-card { padding:32px; }
.bb-card,.is-style-bb-card { background:var(--wp--preset--color--white); border:1px solid var(--bb-line); border-radius:3px; }
.bb-dark,.is-style-bb-dark { background:var(--bb-green); color:var(--wp--preset--color--white); }
:is(.bb-dark,.is-style-bb-dark) :is(h1,h2,h3,h4,p,a) { color:inherit; }
:is(.bb-dark,.is-style-bb-dark) .bb-eyebrow { color:var(--wp--preset--color--light-gold); }
.bb-dark .bb-rule { border-color:#4b6051; }
.bb-small { font-size:13px; }
.bb-rule,.bb-person { border-top:1px solid var(--bb-line); padding-top:20px; }
.wp-block-button.is-style-outline > .wp-block-button__link { color:inherit; background:transparent; border:1px solid currentColor; }
.wp-block-button__link { transition:background-color .15s ease; }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background:#35513f; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { text-decoration:underline; }
.bb-header { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:24px 48px; }
.bb-brand { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.bb-brand > * { margin:0; }
.bb-brand .wp-block-site-title { font-size:20px; font-weight:600; }
.bb-brand a { text-decoration:none; }
.bb-header > * { margin-block-start:0; }
.bb-footer { border-top:1px solid var(--bb-line); padding:32px 48px; margin-block-start:0; }
.bb-footer-inner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px; }
.bb-footer-inner > * { margin:0; }
.bb-article { padding:56px 24px; }
.wp-block-details { border-bottom:1px solid var(--bb-line); padding-block:18px; }
.wp-block-details summary { cursor:pointer; font-weight:600; }
.wp-block-details[open] summary { margin-bottom:16px; }
.wp-block-post-content > .bb-section { max-width:none; }
.wp-block-post-content > :last-child { margin-bottom:0; }
/* Existing standalone team groups use the same gutters and width as sections. */
.wp-block-post-content > .wp-block-group:has(> .bb-team) { max-width:none; padding:72px 48px; margin-block:0; background:var(--bb-paper); }
.wp-block-post-content > .wp-block-group > .bb-team { width:100%; max-width:1240px; margin-inline:auto; }
.wp-block-post-content > .wp-block-group:empty,
.bb-hero > .bb-container > p.bb-rule:empty { display:none; }
@media (max-width:1024px) {
 .bb-grid-three { grid-template-columns:1fr; }
 .bb-grid-hero { grid-template-columns:1fr; gap:36px; }
 .wp-block-post-content > .wp-block-group:has(> .bb-team) { padding:56px 32px; }
 .bb-section { padding:72px 32px; }
 .bb-header { padding-inline:32px; }
}
@media (max-width:781px) {
 .bb-grid-two,.bb-grid-hero { grid-template-columns:1fr; gap:28px; }
 .bb-section { padding:56px 20px; }
 .bb-hero { padding-top:36px; padding-bottom:20px; }
 .bb-panel,.bb-card { padding:24px; }
 .bb-header,.bb-footer { padding:24px 20px; }
 .bb-header { gap:16px; }
 .wp-block-post-content > .wp-block-group:has(> .bb-team) { padding:48px 20px; }
}
@media (prefers-reduced-motion:reduce) { .wp-block-button__link { transition:none; } }

/* Header and footer templates, version 0.1.1. */
.bb-utility { background:var(--bb-green); color:#fff; padding:9px 48px; }
.bb-utility-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.bb-utility-inner > * { margin:0; font-size:12px; }
.bb-utility-label { letter-spacing:1.7px; }
.bb-utility-phone a { text-decoration:none; }
.bb-header-shell { background:var(--wp--preset--color--white); border-bottom:1px solid var(--bb-line); padding:26px 48px; margin-block-start:0; }
.bb-header-row { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.bb-header-row > * { margin-block-start:0; }
.bb-header-row .bb-brand { flex-wrap:nowrap; flex-shrink:0; gap:12px; }
.bb-brand-copy > * { margin:0; }
.bb-wordmark { margin:0; font-family:var(--wp--preset--font-family--display); font-size:30px; letter-spacing:-1px; line-height:1.1; }
.bb-wordmark a { text-decoration:none; }
.bb-wordmark-suffix { display:block; margin-top:6px; font-family:var(--wp--preset--font-family--body); font-size:10px; letter-spacing:3.5px; color:var(--wp--preset--color--gold); }
.bb-brand-caption { font-size:11px; color:var(--wp--preset--color--muted); margin-top:8px; }
.bb-main-navigation { margin-left:auto; font-size:14px; }
.bb-main-navigation .wp-block-navigation__container { gap:24px; }
.bb-header-action { flex-shrink:0; }
.bb-header-action .wp-block-button__link { padding:13px 18px; font-size:14px; }
.bb-footer-modern { padding:24px 48px; margin-block-start:0; }
.bb-footer-invitation { display:flex; justify-content:space-between; align-items:center; gap:40px; padding-bottom:48px; border-bottom:1px solid #4b6051; }
.bb-footer-invitation > * { margin-block-start:0; }
.bb-footer-invitation .wp-block-buttons { flex-shrink:0; }
.bb-footer-heading { font-family:var(--wp--preset--font-family--display); font-size:clamp(2rem,3.4vw,2.75rem); }
.bb-footer-grid { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:48px; padding-block:48px; margin-block-start:0; }
.bb-footer-grid > * { min-width:0; margin-block-start:0; }
.bb-footer-modern .bb-wordmark-suffix { color:var(--wp--preset--color--light-gold); }
.bb-footer-description { font-size:15px; color:#d1d9ce !important; }
.bb-footer-navigation { font-size:15px; }
.bb-footer-navigation .wp-block-navigation__container { gap:12px; }
.bb-footer-phone { font-size:21px; }
.bb-footer-email { font-size:15px; overflow-wrap:anywhere; }
.bb-footer-phone a,.bb-footer-email a { text-decoration:none; }
.bb-footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; border-top:1px solid #4b6051; padding-top:24px; margin-block-start:0; }
.bb-footer-bottom > * { margin:0; }
.bb-legal-navigation { font-size:13px; }
.bb-legal-navigation .wp-block-navigation__container { flex-direction:row; flex-wrap:wrap; gap:24px; }
.bb-footer-modern a:hover,.bb-header-row a:hover { text-decoration:underline; text-underline-offset:5px; }
@media (max-width:1100px) {
 .bb-header-row { flex-wrap:wrap; gap:24px; }
 .bb-header-row .bb-brand { flex:1; }
 .bb-main-navigation { order:3; width:100%; margin-left:0; }
}
@media (max-width:781px) {
 .bb-utility,.bb-header-shell { padding-inline:20px; }
 .bb-footer-modern { padding:16px 20px 24px; }
 .bb-footer-invitation { flex-direction:column; align-items:flex-start; gap:28px; padding-bottom:32px; }
 .bb-footer-grid { grid-template-columns:1fr 1fr; gap:32px; padding-block:32px; }
 .bb-footer-grid > :first-child { grid-column:1 / -1; }
}
@media (max-width:599px) {
 .bb-utility-label { font-size:10px; letter-spacing:1px; }
 .bb-utility-phone { font-size:11px; }
 .bb-header-shell { padding-block:20px; }
 .bb-main-navigation { order:initial; width:auto; margin-left:auto; }
 .bb-main-navigation .wp-block-navigation__responsive-container-open { padding:10px; }
 .bb-header-action { width:100%; }
 .bb-header-action .wp-block-buttons,.bb-header-action .wp-block-button { width:100%; }
 .bb-header-action .wp-block-button__link { width:100%; text-align:center; }
 .bb-footer-grid { grid-template-columns:1fr; }
 .bb-footer-grid > :first-child { grid-column:auto; }
 .bb-footer-bottom { align-items:flex-start; flex-direction:column; }
}
