/* Applies in the Site Editor and on the website. Heading sizes shrink on mobile. */
.has-label-font-size { line-height: 1.6; font-weight: 500; }
.has-small-font-size { line-height: 1.571429; }
.has-body-font-size { line-height: 1.5; }
.has-medium-font-size { line-height: 1.555556; }
.has-large-font-size { line-height: 1.333333; }
.has-x-large-font-size { line-height: 1.166667; }
.has-hero-font-size { line-height: 1.111111; }

p.is-style-body-large { font-size: var(--wp--preset--font-size--medium); line-height: 1.555556; font-weight: 400; }
p.is-style-body-small { font-size: var(--wp--preset--font-size--small); line-height: 1.571429; font-weight: 400; }
p.is-style-brand-label { font-size: var(--wp--preset--font-size--label); line-height: 1.6; font-weight: 500; }
.wp-block-heading.is-style-display-light { font-weight: 300; }

/* Select words in any headline and choose Italic to apply the brand accent. */
:where(h1, h2, h3, h4, h5, h6) em,
.wp-block-heading.is-style-accent-display {
    font-family: var(--wp--preset--font-family--cormorant-garamond);
    font-weight: 700;
    font-style: italic;
}
p.is-style-accent-editorial,
p.is-style-accent-editorial-italic,
blockquote.is-style-accent-editorial-italic {
    font-family: var(--wp--preset--font-family--switzer);
    font-size: var(--wp--preset--font-size--large);
    line-height: 1.333333;
    font-weight: 400;
}
p.is-style-accent-editorial-italic,
blockquote.is-style-accent-editorial-italic { font-style: normal; }

/* Align reading copy across the site while preserving display and UI text. */
:where(.wp-site-blocks, .editor-styles-wrapper) p:where(:not(
    .has-text-align-left, .has-text-align-center, .has-text-align-right,
    [class*="eyebrow"], [class*="label"], [class*="caption"],
    .bb-home-hero__lead p, .bb-growth__statement,
    .bb-insight-hero__art p, .bb-about-hero__stamp p,
    .bb-about-cta__inner p, .bb-work-cta__inner p,
    .bb-services-cta__inner p, .bb-work-projects__empty p,
    .bb-contact-step p,
    .bb-site-footer p, .wp-block-quote p, .wp-block-pullquote p
)) {
    text-align: justify;
    hyphens: auto;
}

/* Form controls should inherit the brand typography, not browser UI fonts. */
:where(.wp-site-blocks, .editor-styles-wrapper) :where(input, textarea, select, button) { font: inherit; }

/* One eyebrow treatment shared sitewide. Legacy selectors also cover Site Editor overrides.
   Font size must override WordPress's per-block preset utilities. */
:is(.wp-site-blocks, .editor-styles-wrapper) p:is(.bb-section-eyebrow, .bb-home-hero__eyebrow, .bb-capabilities__eyebrow, .bb-intelligence__eyebrow, .bb-growth__eyebrow, .bb-services-label, .bb-contact-section__label, .bb-work-label, .bb-about-label) {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 16px;
    color: var(--wp--preset--color--accent-text);
    font-family: var(--wp--preset--font-family--switzer);
    font-size: 12px !important;
    font-weight: 700;
    font-style: normal;
    line-height: 1.6;
    letter-spacing: .08em;
    text-transform: uppercase;
}
:is(.wp-site-blocks, .editor-styles-wrapper) p:is(.bb-section-eyebrow, .bb-home-hero__eyebrow, .bb-capabilities__eyebrow, .bb-intelligence__eyebrow, .bb-growth__eyebrow, .bb-services-label, .bb-contact-section__label, .bb-work-label, .bb-about-label)::before {
    content: "";
    flex: 0 0 24px;
    width: 24px;
    height: 2px;
    border-radius: 0;
    background: currentColor;
}
/* Hide the former dot in previously saved copies of the homepage template. */
p.bb-intelligence__eyebrow > span[aria-hidden="true"] { display: none; }
p.bb-section-eyebrow + * { margin-block-start: 0; }

/* Homepage section titles share the H2 scale; the hero keeps its H1 scale. */
h2:is(.bb-capabilities__title, .bb-intelligence__title, .bb-growth__title, .bb-news__title, .bb-site-footer__title) {
    font-family: var(--wp--preset--font-family--switzer);
    font-size: var(--wp--preset--font-size--x-large) !important;
    font-weight: 400;
    line-height: 1.166667;
    letter-spacing: -.025em;
}

/* Section headings share the homepage story heading's responsive 32–48px scale.
   Hero/banner artwork and compact card titles retain their own hierarchy. */
:is(.wp-site-blocks, .editor-styles-wrapper) h2:not(:where([class*="hero"], [class*="banner"], .wp-block-cover, [class*="card"], .bb-work-project)):not(:where([class*="hero"], [class*="banner"], .wp-block-cover, [class*="card"], .bb-work-project) *) {
    font-size: var(--wp--preset--font-size--x-large) !important;
    line-height: 1.166667 !important;
}
