/*
Theme Name: Launchit BF
Theme URI: https://bynryfoundry.com
Description: Bynry Foundry child theme for Launchit. Layers the BF terminal aesthetic on top of Launchit while letting the parent theme update freely.
Author: Bynry Foundry Sdn Bhd
Author URI: https://bynryfoundry.com
Template: launchit
Version: 0.1.0
Requires at least: 6.8
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: launchit-bynry
Tags: child-theme, block-styles, full-site-editing
*/

/* Doto loaded via launchit-bf-doto in functions.php (wordmark, eyebrows, footer labels). */

/* Accent: Poe yellow (dark) · red (light) for wordmark, nav hovers, toggle. */
:root,
html[data-theme='dark'] {
  --bf-accent: #ffde0d;
  --bf-poe-yellow: var(--bf-accent);
  color-scheme: dark;
}

html {
  color-scheme: dark;
}

/* ---------------------------------------------------------------------
 * Light theme — overrides LaunchIt presets (child theme.json stays empty)
 * ------------------------------------------------------------------ */
html[data-theme='light'] {
  color-scheme: light;
  /* Saturated blue — readable on #f0efeb (red/yellow are too weak on white) */
  --bf-accent: #265cd9;
  --bf-poe-yellow: var(--bf-accent);
  --wp--preset--color--base: #f0efeb;
  --wp--preset--color--primary: #0b0a0f;
  --wp--preset--color--secondary: #5c5a56;
  --wp--preset--color--tertiary: #0b0a0f0d;
  --wp--preset--color--quaternary: #e4e2dc;
  --wp--preset--color--contrast: #265cd9;
  /* Child tokens (theme.json defaults are white — for dark base only) */
  --wp--preset--color--cm-text: #0b0a0f;
  --wp--preset--color--text-3: #5c5a56;
}

html[data-theme='light'] body,
html[data-theme='light'] .wp-site-blocks {
  background-color: var(--wp--preset--color--base) !important;
  color: var(--wp--preset--color--primary) !important;
}

/* Footer icons: white glyphs invisible on light — use brand colour assets */
html[data-theme='light'] .bf-footer-icon-link--whatsapp {
  background-image: url('assets/images/whatsapp-glyph-green-2026.png');
}

html[data-theme='light'] .bf-footer-icon-link--whatsapp:hover,
html[data-theme='light'] .bf-footer-icon-link--whatsapp:focus,
html[data-theme='light'] .bf-footer-icon-link--whatsapp:active {
  background-image: url('assets/images/whatsapp-glyph-green-2026.png');
  opacity: 1;
  filter: brightness(0.92);
}

html[data-theme='light'] .bf-footer-icon-link--linkedin {
  background-image: url('assets/images/linkedin-inbug-color.png');
}

html[data-theme='light'] .bf-footer-icon-link--linkedin:hover,
html[data-theme='light'] .bf-footer-icon-link--linkedin:focus,
html[data-theme='light'] .bf-footer-icon-link--linkedin:active {
  background-image: url('assets/images/linkedin-inbug-color.png');
  filter: brightness(0.92);
}

/* ---------------------------------------------------------------------
 * How we compare — interactive comparison grid
 * ------------------------------------------------------------------ */
.bf-compare {
  --bf-compare-radius: 10px;
  --bf-compare-border: #ffffff12;
  --bf-compare-bynry-bg: color-mix(in srgb, var(--bf-accent) 8%, var(--wp--preset--color--quaternary, #1b1a1e));
}

html[data-theme='light'] .bf-compare {
  --bf-compare-border: #0b0a0f14;
  --bf-compare-bynry-bg: color-mix(in srgb, var(--bf-accent) 12%, var(--wp--preset--color--quaternary, #e4e2dc));
}

.bf-section-eyebrow,
.bf-compare-eyebrow,
.bf-labs-strip-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.75rem;
  font-family: 'Doto', monospace;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--wp--preset--color--secondary);
}

/* Footer column labels (Explore, Contact) */
.bf-footer-col-heading {
  font-family: 'Doto', monospace;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.bf-section-eyebrow__dot,
.bf-compare-eyebrow__dot,
.bf-labs-strip-eyebrow__dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  background: var(--bf-accent);
}

.bf-compare-intro .wp-block-heading,
.bf-what-we-do-intro .wp-block-heading,
.bf-labs-strip-intro .wp-block-heading,
.bf-insights-header .wp-block-heading {
  margin-top: 0;
}

/* Insights — full-width band below split columns (gutters match .bf-footer-inner) */
.bf-insights-band,
body.home .bf-insights-band {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}

.bf-insights-header {
  gap: var(--wp--preset--spacing--20, 0.5rem);
}

.bf-insights-header .wp-block-heading {
  flex: 1 1 auto;
  margin: 0;
}

.bf-insights-band .bf-insights,
.bf-insights-band .bf-insights-inner,
.bf-insights-band .alignwide.bf-insights {
  width: 100%;
  max-width: var(--wp--style--global--wide-size, 1300px);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  padding-left: var(--bf-hf-gutter-x, var(--wp--preset--spacing--40));
  padding-right: var(--bf-hf-gutter-x, var(--wp--preset--spacing--40));
}

.bf-insights-band .wp-block-query,
.bf-insights-band .bf-insights-grid,
.bf-insights-band .bf-insights-grid.wp-block-post-template {
  width: 100%;
  max-width: none;
}

/* DB template still nesting band inside main.alignwide */
body.home main.alignwide > .bf-insights-band {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.bf-insights-grid {
  width: 100%;
}

.bf-insights-grid.wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--wp--preset--spacing--30, 0.75rem) !important;
}

.bf-insight-card {
  height: 100%;
  overflow: hidden;
}

.bf-insight-card .wp-block-post-featured-image {
  margin: 0;
}

.bf-insight-card .wp-block-post-featured-image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.bf-insight-card .wp-block-post-excerpt {
  margin: 0;
}

.bf-insight-card .wp-block-post-excerpt p {
  margin: 0;
  line-height: 1.45;
}

@media (max-width: 1080px) {
  .bf-insights-grid.wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .bf-insights-grid.wp-block-post-template {
    grid-template-columns: 1fr;
  }
}

/* Insights index — left-rail category filter (dot + label) */
.bf-insights-page .bf-insights-category-nav {
  margin: var(--wp--preset--spacing--50, 1.25rem) 0 0;
}

.bf-insights-page .bf-insights-category-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.bf-insights-page .bf-insights-category-nav__row {
  margin: 0;
  padding: 0;
}

.bf-insights-page .bf-insights-category-nav__item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.35rem 0.5rem 0.35rem 0;
  border-radius: 6px;
  text-decoration: none;
  color: var(--wp--preset--color--secondary);
  font-family: 'Doto', monospace;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: color 0.2s ease;
}

.bf-insights-page .bf-insights-category-nav__item:hover,
.bf-insights-page .bf-insights-category-nav__item:focus {
  color: var(--wp--preset--color--primary);
}

.bf-insights-page .bf-insights-category-nav__item.is-active,
.bf-insights-page .bf-insights-category-nav__item[aria-current='page'] {
  color: var(--wp--preset--color--cm-text, var(--wp--preset--color--primary));
}

.bf-insights-page .bf-insights-category-nav__label {
  line-height: 1.3;
}

/* Single insight — smaller title, hero + meta in left column */
body.bf-insight-single .bf-single-post-intro .bf-hero-headline {
  font-size: clamp(1.5rem, 3.2vw, 2.25rem) !important;
  line-height: 1.2;
}

body.bf-insight-single .bf-single-post-hero {
  margin-top: var(--wp--preset--spacing--40, 1rem);
}

body.bf-insight-single .bf-single-post-hero img {
  width: 100%;
  height: auto;
  border-radius: 5px;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

body.bf-insight-single .bf-post-meta {
  margin-top: var(--wp--preset--spacing--30, 0.75rem);
}

body.bf-insight-single .bf-post-meta .wp-block-post-date,
body.bf-insight-single .bf-post-meta .wp-block-post-terms {
  margin: 0;
}

.bf-testimonial-context {
  margin-top: 0.35rem;
  opacity: 0.85;
}

/* Full-width footer — home + Page template (front end + Site Editor canvas) */
.bf-page-footer-band,
.bf-home-footer,
footer.bf-home-footer,
.wp-block-template-part.bf-home-footer {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}

.bf-page-footer-band {
  padding-left: 0;
  padding-right: 0;
}

/* Site Editor: root template canvas must not clip alignfull footer */
.editor-styles-wrapper .is-root-container > .bf-page-footer-band,
.block-editor-block-list__layout.is-root-container > .bf-page-footer-band,
.editor-styles-wrapper .is-root-container > .wp-block-template-part.bf-home-footer,
.block-editor-block-list__layout.is-root-container > .wp-block-template-part.bf-home-footer {
  max-width: none !important;
  width: 100% !important;
}

.bf-home-footer .bf-footer-shell {
  width: 100%;
  max-width: none;
}

/* Match header-fixed: alignwide inner box + spacing-40 horizontal gutter */
.reveal-after-scrolling > .stick-top.alignwide,
.bf-home-footer .bf-footer-inner,
.bf-footer-shell .bf-footer-inner {
  width: 100%;
  max-width: var(--wp--style--global--wide-size, 1300px);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.bf-home-footer .bf-footer-main,
.bf-footer-shell .bf-footer-main {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.bf-footer-main .wp-block-column {
  min-width: 0;
}

@media (min-width: 782px) {
  .bf-footer-main .wp-block-columns {
    flex-wrap: nowrap !important;
  }

  .bf-footer-legal {
    align-items: flex-start;
    text-align: left;
  }

  .bf-footer-legal-col {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
}

/* Tablet + mobile (≤781px): 2×2 — Brand | Explore / Contact | Legal */
@media (max-width: 781px) {
  .bf-footer-shell .bf-footer-inner .bf-footer-main.wp-block-columns,
  .bf-home-footer .bf-footer-shell .bf-footer-inner .bf-footer-main.wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--wp--preset--spacing--50, 1.25rem) var(--wp--preset--spacing--40, 1rem) !important;
    flex-wrap: unset !important;
  }

  .bf-footer-shell .bf-footer-inner .bf-footer-main.wp-block-columns > .wp-block-column,
  .bf-home-footer .bf-footer-shell .bf-footer-inner .bf-footer-main.wp-block-columns > .wp-block-column {
    flex-basis: auto !important;
    flex-grow: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .bf-footer-shell .bf-footer-inner .bf-footer-main.wp-block-columns > .wp-block-column[style*='flex-basis'] {
    flex-basis: auto !important;
  }
}

.bf-compare-tabs.wp-block-buttons {
  display: none;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 1rem;
  padding: 0.35rem;
  border: 1px solid var(--bf-compare-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--wp--preset--color--quaternary) 55%, transparent);
}

.bf-compare-tabs .wp-block-button.bf-compare-tabs__btn {
  margin: 0;
}

.bf-compare-tabs .wp-block-button.bf-compare-tabs__btn .wp-block-button__link {
  padding: 0.55rem 0.9rem;
  border: none;
  border-radius: 999px;
  background: transparent;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  color: var(--wp--preset--color--secondary);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.bf-compare-tabs .wp-block-button.bf-compare-tabs__btn .wp-block-button__link:hover,
.bf-compare-tabs .wp-block-button.bf-compare-tabs__btn .wp-block-button__link:focus {
  color: var(--wp--preset--color--primary);
  outline: none;
}

.bf-compare-tabs .wp-block-button.bf-compare-tabs__btn .wp-block-button__link:focus-visible {
  outline: 1px solid var(--bf-accent);
  outline-offset: 2px;
}

.bf-compare-tabs .wp-block-button.bf-compare-tabs__btn.is-active .wp-block-button__link {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  box-shadow: 0 4px 18px #00000040;
}

html[data-theme='light'] .bf-compare-tabs .wp-block-button.bf-compare-tabs__btn.is-active .wp-block-button__link {
  background: var(--bf-accent);
  color: #fff;
}

.bf-compare-table {
  padding: 0.35rem;
  border: 1px solid var(--bf-compare-border);
  border-radius: var(--bf-compare-radius);
  background: linear-gradient(
    165deg,
    color-mix(in srgb, var(--wp--preset--color--quaternary) 70%, transparent) 0%,
    transparent 55%
  );
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.bf-compare-table .wp-block-columns {
  margin-bottom: 0 !important;
}

.bf-compare-row {
  border-bottom: 1px solid var(--bf-compare-border);
  transition: background 0.22s ease;
}

.bf-compare-row:not(.bf-compare-row--head).is-visible {
  animation: bf-compare-rise 0.45s ease backwards;
  animation-delay: var(--bf-compare-delay, 0ms);
}

@keyframes bf-compare-rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-compare-row:not(.bf-compare-row--head).is-visible {
    animation: none;
  }
}

/* Site Editor: rows must not stay hidden (no scroll observer in canvas). */
.editor-styles-wrapper .bf-compare-row,
.block-editor-block-list__layout .bf-compare-row {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.bf-compare-row:last-child {
  border-bottom: none;
}

.bf-compare-row:not(.bf-compare-row--head):hover {
  background: color-mix(in srgb, var(--bf-accent) 6%, transparent);
}

.bf-compare-col {
  padding: 0.85rem 1rem !important;
  min-width: 0;
  transition: background 0.22s ease, box-shadow 0.22s ease;
}

.bf-compare-row--head .bf-compare-col {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.bf-compare-head,
.bf-compare-label,
.bf-compare-value {
  margin: 0;
}

.bf-compare-head {
  font-weight: 600;
  letter-spacing: 0.02em;
}

.bf-compare-head--hero {
  color: var(--wp--preset--color--primary);
}

.bf-compare-head--hero::after {
  content: 'Us';
  display: inline-block;
  margin-left: 0.45rem;
  padding: 0.12em 0.45em;
  border-radius: 4px;
  font-size: 0.72em;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  vertical-align: middle;
  background: var(--bf-accent);
  color: var(--wp--preset--color--base, #0b0a0f);
}

html[data-theme='light'] .bf-compare-head--hero::after {
  color: #fff;
}

.bf-compare-label {
  font-weight: 600;
  color: var(--wp--preset--color--primary);
}

.bf-compare-value {
  color: var(--wp--preset--color--secondary);
}

.bf-compare-value--win {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  font-weight: 500;
  color: var(--wp--preset--color--primary);
}

.bf-compare-mark {
  flex-shrink: 0;
  font-family: 'Doto', monospace;
  font-weight: 700;
  color: var(--bf-accent);
}

.bf-compare-col--bynry {
  background: var(--bf-compare-bynry-bg);
  box-shadow: inset 3px 0 0 var(--bf-accent);
}

.bf-compare-row--head .bf-compare-col--bynry {
  box-shadow: inset 3px 0 0 var(--bf-accent), 0 0 0 1px color-mix(in srgb, var(--bf-accent) 35%, transparent);
}

@media (max-width: 781px) {
  .bf-compare-tabs.wp-block-buttons {
    display: flex;
  }

  .bf-compare-table .wp-block-columns {
    display: grid !important;
    grid-template-columns: minmax(7.5rem, 38%) 1fr;
    gap: 0 !important;
  }

  .bf-compare-table[data-active-col='bynry'] .bf-compare-col--agency,
  .bf-compare-table[data-active-col='bynry'] .bf-compare-col--freelancer,
  .bf-compare-table[data-active-col='agency'] .bf-compare-col--bynry,
  .bf-compare-table[data-active-col='agency'] .bf-compare-col--freelancer,
  .bf-compare-table[data-active-col='freelancer'] .bf-compare-col--bynry,
  .bf-compare-table[data-active-col='freelancer'] .bf-compare-col--agency {
    display: none !important;
  }

  .bf-compare-row--head .bf-compare-col--feature {
    display: none !important;
  }

  .bf-compare-row--head .bf-compare-col--bynry,
  .bf-compare-row--head .bf-compare-col--agency,
  .bf-compare-row--head .bf-compare-col--freelancer {
    grid-column: 1 / -1;
    display: block !important;
  }

  .bf-compare-col--bynry {
    box-shadow: inset 0 3px 0 var(--bf-accent);
  }
}

/* ---------------------------------------------------------------------
 * BF Labs portfolio marquee (Built & running)
 * ------------------------------------------------------------------ */
/* Keep marquee inside the left content column (flex min-width + no alignwide bleed). */
.wp-block-columns > .wp-block-column:first-child,
.wp-block-columns > .wp-block-column:first-child .bf-labs-strip,
.wp-block-columns > .wp-block-column:first-child .bf-labs-marquee-card,
.bf-inner-split > .wp-block-column.bf-inner-right-col,
.bf-inner-split > .wp-block-column.bf-services-right-col {
  min-width: 0;
  max-width: 100%;
}

.bf-labs-strip,
.bf-labs-marquee-card {
  overflow: hidden;
  max-width: 100%;
}

.bf-labs-marquee-card.alignwide {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.bf-labs-marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  contain: layout paint;
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 8%,
    #000 92%,
    transparent 100%
  );
}

.bf-labs-marquee__track {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: max-content;
  max-width: none;
  gap: clamp(2rem, 5vw, 4rem);
  padding-inline: clamp(1rem, 3vw, 2rem);
  animation: bf-labs-marquee-scroll 90s linear infinite;
  will-change: transform;
}

.bf-labs-marquee:hover .bf-labs-marquee__track {
  animation-play-state: paused;
}

.bf-labs-marquee__item {
  flex-shrink: 0;
  font-family: 'Doto', monospace;
  font-size: clamp(0.9rem, 1.5vw, 1.05rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
  white-space: nowrap;
  color: var(--wp--preset--color--primary);
  opacity: 0.92;
}

.bf-labs-marquee__item::after {
  content: '//';
  margin-left: clamp(1.25rem, 3vw, 2rem);
  color: var(--bf-poe-yellow);
  font-weight: 700;
  opacity: 0.85;
}

@keyframes bf-labs-marquee-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-labs-marquee__track {
    animation: none;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    row-gap: 1rem;
  }

  .bf-labs-marquee {
    mask-image: none;
  }

  .bf-labs-marquee__item[aria-hidden='true'] {
    display: none;
  }
}

@media (min-width: 782px) {
  .bf-compare-table .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1.15fr 1fr 1fr 1fr;
    gap: 0 !important;
  }

  .bf-compare-table .wp-block-column {
    width: auto !important;
    flex-basis: auto !important;
  }

  .bf-compare-col--bynry {
    position: relative;
    z-index: 1;
  }

  .bf-compare-row:not(.bf-compare-row--head):hover .bf-compare-col--bynry {
    background: color-mix(in srgb, var(--bf-accent) 14%, var(--bf-compare-bynry-bg));
  }
}

/* ---------------------------------------------------------------------
 * Theme toggle (header, below Let's Talk)
 * ------------------------------------------------------------------ */
.bf-theme-toggle {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25em;
  margin-top: var(--wp--preset--spacing--30, 0.75rem);
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  line-height: 1.4;
}

.bf-theme-toggle__btn {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  color: var(--wp--preset--color--secondary);
  cursor: pointer;
  transition: color 0.15s ease;
}

.bf-theme-toggle__btn:hover,
.bf-theme-toggle__btn:focus {
  color: var(--bf-poe-yellow);
  outline: none;
}

.bf-theme-toggle__btn:focus-visible {
  outline: 1px solid var(--bf-poe-yellow);
  outline-offset: 2px;
}

.bf-theme-toggle__btn.is-active {
  color: var(--wp--preset--color--primary);
}

.bf-theme-toggle__sep {
  color: var(--wp--preset--color--secondary);
  opacity: 0.55;
  user-select: none;
}

/* ---------------------------------------------------------------------
 * Wordmark typography
 * ------------------------------------------------------------------ */

/* Scope: site-title block only (B Y N R Y / / F O U N D R Y). */
.wp-block-site-title,
.wp-block-site-title a.bf-wordmark {
  font-family: 'Doto', monospace !important;
  font-weight: 800 !important;
  text-decoration: none;
  transition: color 0.15s ease;
}

.wp-block-site-title a.bf-wordmark {
  color: var(--wp--preset--color--primary, #ffffff);
}

.wp-block-site-title .bf-wordmark-sep,
.bf-brand-sep {
  color: var(--bf-poe-yellow);
}

/* Keep // visible on active service nav pills (light theme pill is yellow). */
.bf-services-tabs__link.is-active .bf-brand-sep {
  color: var(--bf-poe-yellow);
}

html[data-theme='light'] .bf-services-tabs__link.is-active .bf-brand-sep {
  color: var(--wp--preset--color--primary, #1b1a1e);
}

.wp-block-site-title a.bf-wordmark:hover,
.wp-block-site-title a.bf-wordmark:focus,
.wp-block-site-title a.bf-wordmark:active {
  color: var(--bf-poe-yellow) !important;
}

.wp-block-site-title a.bf-wordmark:hover .bf-wordmark-sep,
.wp-block-site-title a.bf-wordmark:focus .bf-wordmark-sep,
.wp-block-site-title a.bf-wordmark:active .bf-wordmark-sep {
  color: inherit;
}

/* Footer wordmark — two lines */
.wp-block-site-title a.bf-wordmark--stacked {
  display: inline-block;
  line-height: 1.12;
  letter-spacing: 0.02em;
}

.wp-block-site-title .bf-wordmark-line2 {
  display: inline-block;
}

/* Header wordmark on phones: force "F O U N D R Y" to line 2. */
@media (max-width: 430px) {
  .reveal-after-scrolling .wp-block-site-title a.bf-wordmark:not(.bf-wordmark--stacked) .bf-wordmark-line2 {
    display: block;
  }
}

/* Service index numerals (Featuring + Grid) — left-aligned like LaunchIt Grid. */
.bf-feat-index {
  font-family: 'Doto', monospace !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin: 0 !important;
  text-align: left !important;
  color: var(--wp--preset--color--primary, #ffffff);
}

/* ---------------------------------------------------------------------
 * Header + footer nav links — Poe yellow on hover / focus / active
 * ------------------------------------------------------------------ */
.primary-nav .wp-block-navigation-item__content,
.bf-footer-nav .wp-block-navigation-item__content {
  transition: color 0.15s ease;
}

.primary-nav .wp-block-navigation-item__content:hover,
.primary-nav .wp-block-navigation-item__content:focus,
.primary-nav .wp-block-navigation-item__content:active,
.bf-footer-nav .wp-block-navigation-item__content:hover,
.bf-footer-nav .wp-block-navigation-item__content:focus,
.bf-footer-nav .wp-block-navigation-item__content:active {
  color: var(--bf-poe-yellow) !important;
}

/* Mobile overlay menu (header-fixed horizontal nav). */
.primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus,
.primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:active {
  color: var(--bf-poe-yellow) !important;
}

@media (max-width: 781px) {
  .primary-nav .wp-block-navigation__responsive-container.is-menu-open {
    overscroll-behavior: contain;
  }

  .primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child,
  .primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 0.35rem;
    row-gap: 0.2rem;
  }

  .primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-item__content,
  .primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content {
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
  }

  .primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
    min-width: 2.1rem;
    min-height: 2.1rem;
    border: 1px solid #ffffff1a;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.15s ease, background-color 0.15s ease, transform 0.15s ease;
  }

  .primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle:hover,
  .primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle:focus {
    border-color: var(--bf-poe-yellow);
    background-color: #ffffff14;
  }

  .primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle[aria-expanded='true'] svg {
    transform: rotate(180deg);
  }

  .primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    grid-column: 1 / -1;
    margin-top: 0.2rem;
    margin-left: 0.35rem;
    padding-left: 0.75rem;
    border-left: 1px solid #ffffff1f;
    background: transparent !important;
  }

  .primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    opacity: 0.94;
    font-size: 0.96em;
    line-height: 1.35;
  }
}

/* ---------------------------------------------------------------------
 * Home split — Hero Wrapper column
 * ≥782px: visible + sticky (desktop two-column scroll)
 * ≤781px: hidden (content column full width)
 * Insights band + footer are siblings of main.alignwide (full bleed + spacing-40 inner)
 * ------------------------------------------------------------------ */
@media (max-width: 781px) {
  .bf-home-split:not(.bf-services-split):not(.bf-inner-split) > .wp-block-column.sticky-col,
  .bf-home-split:not(.bf-services-split) .bf-hero-wrapper-panel,
  body.home main .wp-block-column.sticky-col,
  body.home main .bf-hero-wrapper-panel,
  .bf-services-split .bf-services-visual-panel {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .bf-home-split > .wp-block-column:first-child,
  body.home main .wp-block-columns > .wp-block-column:first-child,
  .bf-inner-split > .wp-block-column:first-child,
  .bf-inner-split > .wp-block-column.bf-inner-right-col,
  .bf-inner-split > .wp-block-column.bf-services-right-col {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (min-width: 782px) {
  .bf-home-split > .wp-block-column.sticky-col,
  body.home main .wp-block-column.sticky-col,
  .bf-services-split > .wp-block-column.sticky-col.bf-services-left-col,
  body.bf-work-page .bf-inner-split > .wp-block-column.sticky-col.bf-inner-left-col {
    display: block;
    visibility: visible;
    height: auto;
    min-height: 0;
    position: sticky;
    top: 0;
    align-self: flex-start;
    z-index: 5;
  }

  .bf-home-split .bf-hero-wrapper-panel,
  body.home main .bf-hero-wrapper-panel {
    display: flex;
    visibility: visible;
    min-height: 75dvh;
  }

  body.admin-bar .bf-home-split > .wp-block-column.sticky-col,
  body.admin-bar.home main .wp-block-column.sticky-col,
  body.admin-bar.bf-services-page .bf-services-split > .wp-block-column.sticky-col {
    top: 32px;
  }
}

/* ---------------------------------------------------------------------
 * WhatsApp CTAs — shared tokens (#25D366 brand green)
 * ------------------------------------------------------------------ */
body {
  --bf-wa-green: #25d366;
  --bf-wa-green-hover: #1ebe5d;
  --bf-wa-glyph-white: url('assets/images/whatsapp-glyph-white-2026.png');
  --bf-wa-icon-glyph-size: 1.1rem;
}

/* Header "Let's Talk" + in-content contact buttons */
.cta-lets-talk .wp-block-button__link,
.cta-lets-talk .wp-block-button__link:visited,
.bf-wa-cta .wp-block-button__link,
.bf-wa-cta .wp-block-button__link:visited {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  padding-inline: 1em !important;
  padding-block: var(--wp--preset--spacing--20, 0.5rem) !important;
  background-color: var(--bf-wa-green) !important;
  border-color: var(--bf-wa-green) !important;
  color: #ffffff !important;
  background-image: none !important;
  text-decoration: none;
}

.cta-lets-talk .wp-block-button__link::before,
.bf-wa-cta .wp-block-button__link::before {
  content: '';
  display: block;
  flex-shrink: 0;
  width: 1.15em;
  height: 1.15em;
  background: var(--bf-wa-glyph-white) center / contain no-repeat;
}

.cta-lets-talk .wp-block-button__link:hover,
.cta-lets-talk .wp-block-button__link:focus,
.bf-wa-cta .wp-block-button__link:hover,
.bf-wa-cta .wp-block-button__link:focus {
  background-color: var(--bf-wa-green-hover) !important;
  border-color: var(--bf-wa-green-hover) !important;
  color: #ffffff !important;
}

/* Paired CTAs (home hero, Services “What happens next”, etc.): matched height; WhatsApp green on primary */
.bf-hero-ctas {
  gap: var(--wp--preset--spacing--30, 0.75rem);
  align-items: stretch;
}

.bf-hero-ctas .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  min-height: 3.25rem;
  padding: var(--wp--preset--spacing--40, 1rem) var(--wp--preset--spacing--50, 1.25rem) !important;
  line-height: 1.25;
  box-sizing: border-box;
  white-space: nowrap;
}

.bf-hero-ctas .wp-block-button.bf-hero-cta--whatsapp .wp-block-button__link,
.bf-hero-ctas .wp-block-button.bf-hero-cta--whatsapp .wp-block-button__link:visited {
  background-color: var(--bf-wa-green) !important;
  border-color: var(--bf-wa-green) !important;
  color: #ffffff !important;
}

.bf-hero-ctas .wp-block-button.bf-hero-cta--whatsapp .wp-block-button__link::before {
  content: '';
  display: block;
  flex-shrink: 0;
  width: 1.1em;
  height: 1.1em;
  background: var(--bf-wa-glyph-white) center / contain no-repeat;
}

.bf-hero-ctas .wp-block-button.bf-hero-cta--whatsapp .wp-block-button__link:hover,
.bf-hero-ctas .wp-block-button.bf-hero-cta--whatsapp .wp-block-button__link:focus {
  background-color: var(--bf-wa-green-hover) !important;
  border-color: var(--bf-wa-green-hover) !important;
  color: #ffffff !important;
}

/* Standalone in-content WhatsApp buttons (closing CTA, Services, etc.) */
.bf-closing-cta .bf-wa-cta .wp-block-button__link,
.bf-inner-right-col .bf-wa-cta .wp-block-button__link {
  min-height: 3.25rem;
  padding: var(--wp--preset--spacing--40, 1rem) var(--wp--preset--spacing--50, 1.25rem) !important;
}

/* ---------------------------------------------------------------------
 * Footer icon links (WhatsApp + LinkedIn) — centered box, colored on hover
 * ------------------------------------------------------------------ */
.bf-footer-icons {
  align-items: center;
}

.bf-footer-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: content-box;
  padding: 0.35em;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.92;
  transition: opacity 0.15s ease, background-image 0.15s ease;
}

.bf-footer-icon-link:hover,
.bf-footer-icon-link:focus,
.bf-footer-icon-link:active {
  opacity: 1;
}

.bf-footer-icon-link--whatsapp {
  width: 1.75rem;
  height: 1.75rem;
  background-image: url('assets/images/whatsapp-glyph-white-2026.png');
}

.bf-footer-icon-link--whatsapp:hover,
.bf-footer-icon-link--whatsapp:focus,
.bf-footer-icon-link--whatsapp:active {
  background-image: url('assets/images/whatsapp-glyph-green-2026.png');
}

.bf-footer-icon-link--linkedin {
  width: 1.5rem;
  height: 1.5rem;
  background-image: url('assets/images/linkedin-inbug-white.png');
}

.bf-footer-icon-link--linkedin:hover,
.bf-footer-icon-link--linkedin:focus,
.bf-footer-icon-link--linkedin:active {
  background-image: url('assets/images/linkedin-inbug-color.png');
}

/* ---------------------------------------------------------------------
 * Services page (/services/)
 * ------------------------------------------------------------------ */
.bf-services-page {
  --bf-services-rail-top: 1.25rem;
  --bf-anchor-offset: 1.5rem;
  /* Set in header-reveal.js; fallback until measured */
  --bf-header-bottom: 5.5rem;
  /* Match header-fixed .stick-top inner padding */
  --bf-hf-gutter-x: var(--wp--preset--spacing--40);
}

/* Inner pages — header-fixed visible on load; offset content below chrome */
body.bf-inner-page {
  /* Measured in header-reveal.js; fallbacks until JS runs */
  --bf-fixed-header-offset: clamp(6.5rem, 17vh, 9.5rem);
  --bf-anchor-offset: clamp(7rem, 18vh, 10rem);
  --bf-services-sticky-top: clamp(5.5rem, 14vh, 7.5rem);
  --bf-hf-gutter-x: var(--wp--preset--spacing--40);
}

html:has(body.bf-inner-page) {
  scroll-padding-top: var(--bf-anchor-offset);
}

body.bf-inner-page .reveal-after-scrolling.bf-header-always,
body.bf-inner-page .reveal-after-scrolling.is-on {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.bf-inner-page .bf-services-main,
body.bf-inner-page .bf-inner-main {
  padding-top: var(--bf-fixed-header-offset);
}

body.bf-inner-page .bf-services-left-col,
body.bf-inner-page .bf-inner-left-col {
  padding-left: var(--bf-hf-gutter-x) !important;
}

body.bf-inner-page .bf-services-right-col,
body.bf-inner-page .bf-inner-right-col {
  padding-right: var(--bf-hf-gutter-x) !important;
}

body.bf-inner-page main.bf-services-main.alignwide,
body.bf-inner-page main.bf-inner-main.alignwide {
  width: 100%;
  max-width: var(--wp--style--global--wide-size, 1300px);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/*
 * Inner page split (page.html + page-services.html) — gutters on first/last column.
 * Main stays alignwide; column padding + --bf-hf-gutter-x match header .stick-top.
 */
body.bf-inner-page main.bf-inner-main.alignwide,
body.bf-services-page.bf-inner-page main.bf-services-main.alignwide {
  padding-left: 0;
  padding-right: 0;
  overflow-x: clip;
}

body.bf-inner-page .bf-inner-split {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  /* Must match columns blockGap (template: spacing-60). */
  --bf-inner-split-gap: var(--wp--preset--spacing--60, 1.5rem);
}

body.bf-inner-page .bf-inner-split > .wp-block-column {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

/*
 * Split flex % + blockGap must not exceed 100% (was clipping right column on Services).
 * Tablet 782–1079: 50:50 · Desktop ≥1080: 40:60 · Mobile ≤781: stack (home-split rules).
 */
@media (min-width: 782px) {
  body.bf-inner-page .bf-inner-split > .wp-block-column.bf-inner-left-col,
  body.bf-inner-page .bf-inner-split > .wp-block-column.bf-services-left-col {
    flex: 0 0 calc((100% - var(--bf-inner-split-gap)) * 0.5) !important;
    width: calc((100% - var(--bf-inner-split-gap)) * 0.5) !important;
    max-width: calc((100% - var(--bf-inner-split-gap)) * 0.5) !important;
  }

  body.bf-inner-page .bf-inner-split > .wp-block-column.bf-inner-right-col,
  body.bf-inner-page .bf-inner-split > .wp-block-column.bf-services-right-col {
    flex: 0 0 calc((100% - var(--bf-inner-split-gap)) * 0.5) !important;
    width: calc((100% - var(--bf-inner-split-gap)) * 0.5) !important;
    max-width: calc((100% - var(--bf-inner-split-gap)) * 0.5) !important;
  }
}

@media (min-width: 1080px) {
  body.bf-inner-page .bf-inner-split > .wp-block-column.bf-inner-left-col,
  body.bf-inner-page .bf-inner-split > .wp-block-column.bf-services-left-col {
    flex: 0 0 calc((100% - var(--bf-inner-split-gap)) * 0.4) !important;
    width: calc((100% - var(--bf-inner-split-gap)) * 0.4) !important;
    max-width: calc((100% - var(--bf-inner-split-gap)) * 0.4) !important;
  }

  body.bf-inner-page .bf-inner-split > .wp-block-column.bf-inner-right-col,
  body.bf-inner-page .bf-inner-split > .wp-block-column.bf-services-right-col {
    flex: 0 0 calc((100% - var(--bf-inner-split-gap)) * 0.6) !important;
    width: calc((100% - var(--bf-inner-split-gap)) * 0.6) !important;
    max-width: calc((100% - var(--bf-inner-split-gap)) * 0.6) !important;
  }
}

/* Default inner pages — right column content width (Work, Privacy, etc.). */
body.bf-inner-page:not(.bf-services-page) .bf-inner-right-col .wp-block-post-content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  overflow-x: clip;
}

/* Flex spacers from launchit_bf_render_spacer() (height via flexSize, not block gap). */
body.bf-inner-page:not(.bf-services-page) .bf-inner-right-col .wp-block-post-content > .wp-block-spacer {
  flex-shrink: 0;
}

body.bf-inner-page:not(.bf-services-page) .bf-inner-right-col .wp-block-post-content > .is-layout-constrained,
body.bf-inner-page:not(.bf-services-page) .bf-inner-right-col .wp-block-post-content > .bf-media-placeholder,
body.bf-inner-page:not(.bf-services-page) .bf-inner-right-col .wp-block-post-content > .bf-engage-section,
body.bf-inner-page:not(.bf-services-page) .bf-inner-right-col .wp-block-post-content > .bf-work-labs,
body.bf-inner-page:not(.bf-services-page) .bf-inner-right-col .wp-block-post-content > .bf-callout--next {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

body.bf-inner-page:not(.bf-services-page) .bf-inner-right-col .wp-block-post-content > .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 100%;
}

body.bf-inner-page:not(.bf-services-page) .bf-inner-right-col .wp-block-post-content > .has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.bf-inner-page:not(.bf-services-page) .bf-engage-section .bf-engage-grid {
  width: 100%;
  max-width: 100%;
}

body.bf-inner-page:not(.bf-services-page) .bf-engage-section .bf-engage-card {
  min-width: 0;
  max-width: 100%;
}

body.bf-services-page .bf-services-right-col .bf-services-body,
body.bf-services-page .bf-services-right-col .wp-block-post-content {
  overflow-x: clip;
}

body.bf-services-page .bf-services-body,
body.bf-services-page .bf-services-body .wp-block-post-content {
  min-width: 0;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

/*
 * Services right column — keep post-content blocks inside the column box
 * (same horizontal band as header-fixed inner edge). Does not touch main
 * overflow-x, column gutters, or split ratios.
 */
body.bf-services-page .bf-services-body .wp-block-post-content > .is-layout-constrained,
body.bf-services-page .bf-services-body .wp-block-post-content > .bf-media-placeholder,
body.bf-services-page .bf-services-body .wp-block-post-content > .bf-engage-section,
body.bf-services-page .bf-services-body .wp-block-post-content > .bf-callout--next {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

body.bf-services-page .bf-services-body .wp-block-post-content > .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 100%;
}

/* Gutter already on .bf-services-right-col — avoid has-global-padding widening blocks. */
body.bf-services-page .bf-services-body .wp-block-post-content > .has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.bf-services-page .bf-engage-section .bf-engage-grid {
  width: 100%;
  max-width: 100%;
}

body.bf-services-page .bf-engage-section .bf-engage-card {
  min-width: 0;
  max-width: 100%;
}

.bf-services-page .bf-services-sidebar .bf-hero-headline {
  margin-top: 0;
  margin-bottom: 0;
}

.bf-services-page .bf-services-rail {
  margin-top: var(--wp--preset--spacing--40, 1rem);
}

.bf-work-page .bf-work-sidebar .bf-hero-headline {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  max-width: none;
}

.bf-work-page .bf-work-intro {
  margin-top: var(--wp--preset--spacing--40, 1rem);
}

.bf-work-page .bf-work-rail {
  margin-top: var(--wp--preset--spacing--40, 1rem);
}

.bf-services-page .bf-services-body {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.bf-services-page .bf-services-body .wp-block-post-content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

/* Services visual scrolls away — never sticky (unlike home hero wrapper). */
.bf-services-page .bf-services-visual-panel {
  position: relative;
  top: auto;
  display: flex;
  min-height: 50vh;
}

@media (min-width: 782px) {
  body.bf-inner-page .bf-services-split > .wp-block-column.sticky-col.bf-services-left-col,
  body.bf-work-page .bf-inner-split > .wp-block-column.sticky-col.bf-inner-left-col {
    top: var(--bf-services-sticky-top, var(--bf-fixed-header-offset));
    z-index: 6;
    max-height: calc(100dvh - var(--bf-services-sticky-top, var(--bf-fixed-header-offset)) - 1.25rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }

  body.bf-work-page .bf-inner-split {
    overflow: visible;
  }

  body.bf-work-page .bf-inner-split > .wp-block-column {
    overflow: visible;
  }

  .bf-services-page .bf-services-split {
    overflow: visible;
  }

  .bf-services-page .bf-services-split > .wp-block-column {
    overflow: visible;
  }

  .bf-services-page .bf-services-main,
  .bf-services-page .bf-services-sidebar,
  .bf-services-page .bf-services-sidebar.is-layout-flow,
  .bf-services-page .bf-services-sidebar > .is-layout-flow {
    overflow: visible;
  }

  .bf-services-page .bf-services-body {
    margin-top: 0;
  }

  .bf-services-page .bf-services-sidebar .bf-section-eyebrow {
    margin-top: var(--wp--preset--spacing--40, 1rem);
  }

}

/* Mobile dock: #bf-services-mdock / #bf-work-mdock (PHP + critical CSS in functions.php). */
.bf-services-page .bf-services-mdock,
.bf-services-page .bf-services-anchor-dock,
.bf-work-page .bf-work-mdock,
.bf-about-page .bf-about-mdock {
  display: none;
}

@media (max-width: 781px) {
  /*
   * One horizontal inset for header, main (Work, Privacy, etc.), and Services dock (≤781px).
   * Header is position:fixed full-bleed; column padding zeroed so main gutter aligns with .stick-top.
   */
  body.bf-inner-page {
    --bf-mobile-gutter-x: var(--bf-hf-gutter-x);
  }

  body.bf-inner-page .wp-site-blocks {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.bf-inner-page .reveal-after-scrolling > .stick-top.alignwide {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--bf-mobile-gutter-x) !important;
    padding-right: var(--bf-mobile-gutter-x) !important;
    box-sizing: border-box !important;
  }

  body.bf-inner-page main.bf-inner-main.alignwide,
  body.bf-services-page main.bf-services-main.alignwide {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--bf-mobile-gutter-x) !important;
    padding-right: var(--bf-mobile-gutter-x) !important;
    box-sizing: border-box !important;
  }

  body.bf-inner-page .bf-inner-left-col,
  body.bf-inner-page .bf-inner-right-col,
  body.bf-services-page.bf-inner-page .bf-services-left-col,
  body.bf-services-page.bf-inner-page .bf-services-right-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /*
   * Section dock: inset to match header-fixed .stick-top gutters (not full-bleed bg).
   * Background lives on the inner rail; outer #bf-services-mdock is positioning only.
   */
  body.bf-services-page #bf-services-mdock {
    left: var(--bf-mobile-gutter-x);
    right: var(--bf-mobile-gutter-x);
    width: auto;
    max-width: none;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  body.bf-services-page #bf-services-mdock .bf-services-tabs--rail {
    margin: 0;
    padding-block: 0.4rem;
    padding-inline: 0;
    justify-content: center;
    border: none;
    border-bottom: 1px solid #ffffff0d;
    border-radius: 0 0 2px 2px;
    background: var(--wp--preset--color--quaternary, #e4e2dc);
    min-height: 2.75rem;
    box-sizing: border-box;
  }

  .bf-services-page .bf-services-split > .wp-block-column.sticky-col.bf-services-left-col,
  body.bf-work-page .bf-inner-split > .wp-block-column.sticky-col.bf-inner-left-col {
    position: relative;
    top: auto;
    max-height: none;
    overflow: visible;
  }

  .bf-services-page .bf-services-nav-in-rail {
    display: none !important;
  }

  body.bf-work-page #bf-work-mdock {
    left: var(--bf-mobile-gutter-x);
    right: var(--bf-mobile-gutter-x);
    width: auto;
    max-width: none;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  body.bf-work-page #bf-work-mdock .bf-services-tabs--rail {
    margin: 0;
    padding-block: 0.4rem;
    padding-inline: 0;
    justify-content: center;
    border: none;
    border-bottom: 1px solid #ffffff0d;
    border-radius: 0 0 2px 2px;
    background: var(--wp--preset--color--quaternary, #e4e2dc);
    min-height: 2.75rem;
    box-sizing: border-box;
  }

  .bf-work-page .bf-work-nav-in-rail {
    display: none !important;
  }

  body.bf-about-page #bf-about-mdock {
    left: var(--bf-mobile-gutter-x);
    right: var(--bf-mobile-gutter-x);
    width: auto;
    max-width: none;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  body.bf-about-page #bf-about-mdock .bf-services-tabs--rail {
    margin: 0;
    padding-block: 0.4rem;
    padding-inline: 0;
    justify-content: center;
    border: none;
    border-bottom: 1px solid #ffffff0d;
    border-radius: 0 0 2px 2px;
    background: var(--wp--preset--color--quaternary, #e4e2dc);
    min-height: 2.75rem;
    box-sizing: border-box;
  }

  .bf-about-page .bf-about-nav-in-rail {
    display: none !important;
  }

  /* Founders — side-by-side portraits, compact on mobile */
  .bf-about-page .bf-about-founders .wp-block-columns {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: var(--wp--preset--spacing--30, 0.75rem) !important;
  }

  .bf-about-page .bf-about-founders .wp-block-column {
    flex-basis: 50% !important;
    flex-grow: 0 !important;
    min-width: 0 !important;
  }

  .bf-about-page .bf-about-founder-image {
    width: 90%;
    max-width: 90%;
    margin: 0 auto 0.5rem;
  }

  .bf-about-page .bf-about-founder-image img {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 1 / 1;
  }

  .bf-about-page .bf-about-founders h3 {
    font-size: clamp(0.95rem, 3.5vw, 1.1rem);
    line-height: 1.2;
  }

  .bf-about-page .bf-about-founders .wp-block-column > p {
    font-size: var(--wp--preset--font-size--small, 0.8125rem);
    line-height: 1.4;
  }
}

@media (min-width: 782px) {
  .bf-services-page .bf-services-mdock,
  .bf-services-page .bf-services-anchor-dock,
  .bf-work-page .bf-work-mdock,
  .bf-about-page .bf-about-mdock {
    display: none !important;
  }
}

.bf-services-nav-in-rail .bf-services-tabs--rail,
.bf-work-nav-in-rail .bf-services-tabs--rail,
.bf-about-nav-in-rail .bf-services-tabs--rail {
  flex-direction: column;
  align-items: stretch;
  gap: 0.2rem;
  margin: 1rem 0 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.bf-services-nav-in-rail .bf-services-tabs--rail .bf-services-tabs__link,
.bf-work-nav-in-rail .bf-services-tabs--rail .bf-services-tabs__link,
.bf-about-nav-in-rail .bf-services-tabs--rail .bf-services-tabs__link {
  border-radius: 6px;
  text-align: left;
  font-weight: 600;
}

.bf-services-nav-in-rail .bf-services-tabs--rail .bf-services-tabs__link--meta,
.bf-work-nav-in-rail .bf-services-tabs--rail .bf-services-tabs__link--meta,
.bf-about-nav-in-rail .bf-services-tabs--rail .bf-services-tabs__link--meta {
  margin-top: 0.5rem;
  opacity: 0.88;
  font-weight: 500;
}

.bf-work-page .bf-work-rail-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
}

.bf-work-page .bf-work-rail-nav__group + .bf-work-rail-nav__group {
  margin-top: 1.15rem;
  padding-top: 1.15rem;
  border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 14%, transparent);
}

.bf-work-page .bf-work-rail-nav__heading {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.5rem;
  padding: 0;
  border: 0;
  font-family: 'Doto', monospace;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--wp--preset--color--secondary);
}

.bf-work-page .bf-work-nav-in-rail .bf-work-rail-nav__links.bf-services-tabs--rail {
  margin-top: 0;
}

.bf-about-page .bf-about-rail-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
}

.bf-about-page .bf-about-rail-nav__group + .bf-about-rail-nav__group {
  margin-top: 1.15rem;
  padding-top: 1.15rem;
  border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 14%, transparent);
}

.bf-about-page .bf-about-rail-nav__heading {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.5rem;
  padding: 0;
  border: 0;
  font-family: 'Doto', monospace;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--wp--preset--color--secondary);
}

.bf-about-page .bf-about-nav-in-rail .bf-about-rail-nav__links.bf-services-tabs--rail {
  margin-top: 0;
}

.bf-callout--rail {
  margin-top: 1.25rem;
}

.bf-media-placeholder--panel {
  width: 100%;
  height: 100%;
  min-height: 50vh;
  margin: 0;
  border: none;
  border-radius: inherit;
}

.bf-services-page .bf-media-placeholder--panel {
  min-height: 50vh;
}

.bf-services-visual-panel .bf-media-placeholder--panel::before {
  opacity: 0.65;
}

.bf-services-page .wp-block-post-content,
.bf-services-page .bf-services-body {
  scroll-margin-top: 1.5rem;
}

/* Default inner pages (Privacy, etc.) — title in left column */
.bf-page-hero-intro .bf-hero-headline,
.bf-inner-left-col .bf-hero-headline {
  margin-top: 0;
  margin-bottom: 0;
}

.bf-privacy-sidebar .bf-privacy-intro {
  margin-top: var(--wp--preset--spacing--40, 1rem);
}

.bf-privacy-sidebar .bf-privacy-updated {
  margin-top: var(--wp--preset--spacing--30, 0.75rem);
  margin-bottom: 0;
}

body.bf-inner-page .bf-service-block h3[id],
body.bf-inner-page #how-we-engage,
body.bf-inner-page .bf-page-hero-intro .bf-hero-headline {
  scroll-margin-top: var(--bf-anchor-offset);
}

body.bf-work-page .bf-work-card[id],
body.bf-work-page .bf-work-lab-card[id],
body.bf-work-page [id='01-case-studies'],
body.bf-work-page #bf-work-labs {
  scroll-margin-top: var(--bf-anchor-offset);
}

body.bf-about-page .bf-about-anchor[id],
body.bf-about-page .bf-about-section[id] {
  scroll-margin-top: var(--bf-anchor-offset);
}

.bf-media-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin: 1.25rem 0 1.75rem;
  padding: clamp(2rem, 6vw, 4rem) 1.25rem;
  border: 1px dashed color-mix(in srgb, var(--wp--preset--color--primary) 35%, transparent);
  border-radius: var(--bf-compare-radius, 8px);
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--wp--preset--color--quaternary) 80%, transparent),
    color-mix(in srgb, var(--wp--preset--color--base) 40%, transparent)
  );
  text-align: center;
}

.bf-media-placeholder--hero {
  aspect-ratio: 21 / 9;
  min-height: 10rem;
  overflow: hidden;
}

.bf-media-placeholder--ken-burns::before {
  content: '';
  position: absolute;
  inset: -8%;
  background: radial-gradient(
    ellipse at 30% 40%,
    color-mix(in srgb, var(--bf-accent) 22%, transparent),
    transparent 55%
  ),
    radial-gradient(
      ellipse at 70% 60%,
      color-mix(in srgb, var(--wp--preset--color--primary) 18%, transparent),
      transparent 50%
    );
  animation: bf-placeholder-ken-burns 18s ease-in-out infinite alternate;
  pointer-events: none;
}

.bf-media-placeholder--hero.bf-media-placeholder--ken-burns {
  position: relative;
}

.bf-media-placeholder--square {
  aspect-ratio: 1;
  max-width: 28rem;
  margin-inline: auto;
}

.bf-media-placeholder--interactive {
  min-height: 8rem;
  border-style: solid;
  border-color: color-mix(in srgb, var(--bf-accent) 40%, transparent);
}

.bf-media-placeholder__label,
.bf-media-placeholder__title {
  position: relative;
  z-index: 1;
  font-family: 'Doto', monospace;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--secondary);
}

.bf-media-placeholder__hint {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  color: var(--wp--preset--color--secondary);
  opacity: 0.85;
}

@keyframes bf-placeholder-ken-burns {
  from {
    transform: scale(1) translate(0, 0);
  }

  to {
    transform: scale(1.08) translate(-2%, 1%);
  }
}

.bf-callout {
  margin: 1.5rem 0 2rem;
  padding: 1.25rem 1.25rem 1.25rem 1rem;
  border-left: 4px solid var(--bf-accent);
  border-radius: 0 var(--bf-compare-radius, 8px) var(--bf-compare-radius, 8px) 0;
}

.bf-callout .wp-block-heading {
  margin-top: 0;
}

/* The first build — sidebar pull quote */
.bf-quote.bf-quote--rail,
.bf-quote.bf-quote--rail.wp-block-quote {
  margin: 1.25rem 0 0;
  padding: 0 0 0 1rem;
  border: none;
  border-left: 3px solid color-mix(in srgb, var(--wp--preset--color--secondary) 55%, transparent);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-style: italic;
  color: var(--wp--preset--color--secondary);
}

.bf-quote.bf-quote--rail p {
  margin: 0 0 0.65rem;
  line-height: 1.55;
}

.bf-quote.bf-quote--rail p:last-child {
  margin-bottom: 0;
}

.bf-quote.bf-quote--rail .bf-quote__kicker {
  font-style: italic;
  font-weight: 600;
  color: var(--wp--preset--color--primary);
}

html[data-theme='light'] .bf-quote.bf-quote--rail .bf-quote__kicker {
  color: #0b0a0f;
}

/* How we engage — 2×2 grid */
.bf-engage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin: 0.5rem 0 0.75rem;
}

.bf-services-body > .wp-block-heading {
  margin-top: 0;
}

.bf-engage-card {
  margin: 0;
  padding: 1rem 1rem 1.05rem;
  border: 1px solid var(--bf-compare-border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--wp--preset--color--quaternary) 70%, transparent);
}

.bf-engage-card .wp-block-heading {
  margin: 0 0 0.4rem;
  line-height: 1.2;
}

.bf-engage-card p {
  margin: 0;
  line-height: 1.45;
}

.bf-engage-grid__note {
  margin: 0;
}

/*
 * How we engage — callout on tablet + mobile only (≤1023px).
 * Nav: .bf-services-tabs__link--engage · body: .bf-engage-section
 */
@media (max-width: 1023px) {
  body.bf-services-page .bf-services-tabs__link--engage {
    border: 1px solid color-mix(in srgb, var(--bf-accent) 50%, var(--bf-compare-border));
    background: color-mix(in srgb, var(--bf-accent) 16%, var(--wp--preset--color--quaternary));
    color: var(--wp--preset--color--primary);
    box-shadow: 0 4px 18px color-mix(in srgb, var(--bf-accent) 14%, transparent);
  }

  body.bf-services-page .bf-services-tabs__link--engage:hover,
  body.bf-services-page .bf-services-tabs__link--engage:focus {
    color: var(--wp--preset--color--primary);
    border-color: color-mix(in srgb, var(--bf-accent) 65%, var(--bf-compare-border));
  }

  body.bf-services-page .bf-services-tabs__link--engage.is-active {
    border-color: var(--bf-accent);
    background: var(--bf-accent);
    color: #fff;
    box-shadow: 0 4px 18px color-mix(in srgb, var(--bf-accent) 35%, transparent);
  }

  html[data-theme='light'] body.bf-services-page .bf-services-tabs__link--engage.is-active {
    color: #fff;
  }

  body.bf-services-page .bf-services-nav-in-rail .bf-services-tabs__link--engage {
    margin-top: 0.65rem;
    padding: 0.65rem 0.85rem;
    font-weight: 600;
  }

  body.bf-services-page #bf-services-mdock .bf-services-tabs__link--engage {
    font-weight: 700;
  }

  body.bf-services-page .bf-engage-section {
    margin-top: 0.25rem;
    padding: 1.15rem 1rem 1.2rem;
    border: 1px solid color-mix(in srgb, var(--bf-accent) 45%, var(--bf-compare-border));
    border-radius: 14px;
    background: linear-gradient(
      145deg,
      color-mix(in srgb, var(--wp--preset--color--quaternary) 92%, var(--bf-accent) 8%),
      color-mix(in srgb, var(--wp--preset--color--base) 88%, transparent)
    );
    box-shadow: 0 10px 32px #00000028;
  }

  body.bf-services-page .bf-engage-section > .wp-block-heading,
  body.bf-services-page .bf-engage-section #how-we-engage {
    margin-top: 0;
  }

  html[data-theme='light'] body.bf-services-page .bf-engage-section {
    background: linear-gradient(
      145deg,
      color-mix(in srgb, var(--wp--preset--color--quaternary) 88%, var(--bf-accent) 12%),
      #f5f4f0
    );
    box-shadow: 0 10px 28px #00000012;
  }
}

/* What happens next / Work closing CTA — highlight box (not .bf-callout left-rail style). */
.bf-callout.bf-callout--next {
  margin: 0 0 1rem;
  padding: 1.5rem 1.5rem 1.35rem;
  border: 1px solid color-mix(in srgb, var(--bf-accent) 45%, var(--bf-compare-border));
  border-left: none;
  border-radius: 14px;
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--wp--preset--color--quaternary) 92%, var(--bf-accent) 8%),
    color-mix(in srgb, var(--wp--preset--color--base) 88%, transparent)
  );
  box-shadow: 0 12px 40px #00000035;
}

.bf-callout.bf-callout--next .wp-block-heading {
  margin-top: 0;
}

.bf-callout--next .wp-block-heading {
  margin: 0 0 0.65rem;
  font-size: clamp(1.35rem, 3vw, 1.65rem);
}

.bf-callout--next p {
  margin: 0 0 1.1rem;
  max-width: 42em;
}

.bf-callout--next .wp-block-buttons {
  gap: 0.65rem;
}

@media (max-width: 600px) {
  .bf-engage-grid {
    grid-template-columns: 1fr;
  }
}

.bf-services-marquee-card {
  margin: 1.25rem 0 1.75rem;
}

.bf-services-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 1.5rem;
  padding: 0.35rem;
  border: 1px solid var(--bf-compare-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--wp--preset--color--quaternary) 55%, transparent);
}

.bf-services-tabs__link {
  display: inline-block;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  color: var(--wp--preset--color--secondary);
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.bf-services-tabs__link:hover,
.bf-services-tabs__link:focus {
  color: var(--wp--preset--color--primary);
  outline: none;
}

.bf-services-tabs__link:focus-visible {
  outline: 1px solid var(--bf-accent);
  outline-offset: 2px;
}

.bf-services-tabs__link.is-active {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  box-shadow: 0 4px 18px #00000040;
}

html[data-theme='light'] .bf-services-tabs__link.is-active {
  background: var(--bf-accent);
  color: #fff;
}

.bf-service-block {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.bf-services-body .wp-block-post-content > .wp-block-spacer,
.bf-inner-right-col .wp-block-post-content > .wp-block-spacer {
  flex-shrink: 0;
}

.bf-screenshot-scroller {
  position: relative;
  overflow: hidden;
  margin: 1rem 0 0;
  border-radius: var(--bf-compare-radius, 8px);
  border: 1px solid var(--bf-compare-border);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.bf-screenshot-scroller__track {
  display: flex;
  gap: 1rem;
  width: max-content;
  padding: 1rem;
  animation: bf-screenshot-scroll 28s linear infinite;
}

.bf-screenshot-scroller:hover .bf-screenshot-scroller__track {
  animation-play-state: paused;
}

.bf-screenshot-scroller__frame {
  flex: 0 0 min(72vw, 18rem);
  aspect-ratio: 16 / 10;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem;
  border-radius: 6px;
  background: color-mix(in srgb, var(--wp--preset--color--quaternary) 90%, transparent);
  font-family: 'Doto', monospace;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.03em;
  color: var(--wp--preset--color--secondary);
}

@keyframes bf-screenshot-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-media-placeholder--ken-burns::before,
  .bf-screenshot-scroller__track {
    animation: none;
  }

  .bf-screenshot-scroller__track {
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
  }

  .bf-screenshot-scroller__frame[aria-hidden='true'] {
    display: none;
  }
}

/* ---------------------------------------------------------------------
 * Work page (/work/) — IA 2026-05-21 (case grid + Labs band)
 * ------------------------------------------------------------------ */
.bf-work-grid,
.bf-work-grid.is-layout-flow,
.bf-work-grid.wp-block-group {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: var(--wp--preset--spacing--50, 1.5rem);
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.bf-work-grid > *,
.bf-work-grid.is-layout-flow > * {
  margin: 0 !important;
  margin-block: 0 !important;
}

@media (min-width: 782px) {
  .bf-work-grid,
  .bf-work-grid.is-layout-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--wp--preset--spacing--50, clamp(1rem, 2vw, 2rem));
  }
}

@media (min-width: 1080px) {
  .bf-work-grid,
  .bf-work-grid.is-layout-flow {
    gap: var(--wp--preset--spacing--60, 2rem);
  }
}

.bf-work-page .bf-numbered-section-heading {
  margin-top: 0;
  margin-bottom: var(--wp--preset--spacing--50, 1rem);
  font-size: var(--wp--preset--font-size--xx-large, clamp(1.75rem, 3vw, 2.25rem));
  line-height: 1.15;
  scroll-margin-top: var(--bf-anchor-offset);
}

.bf-about-page .bf-about-sidebar .bf-hero-headline {
  margin-top: 0;
  margin-bottom: 0;
}

.bf-about-page .bf-about-intro {
  margin-top: var(--wp--preset--spacing--40, 1rem);
}

.bf-about-page .bf-about-rail {
  margin-top: var(--wp--preset--spacing--40, 1rem);
}

.bf-about-page .bf-about-compare {
  margin-top: var(--wp--preset--spacing--40, 1rem);
  padding: 1rem 1rem 0.9rem;
  border: 1px solid var(--bf-compare-border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--wp--preset--color--quaternary) 58%, transparent);
}

.bf-about-page .bf-about-compare .wp-block-columns {
  margin: 0;
}

.bf-about-page .bf-about-compare__title {
  margin: 0 0 0.35rem;
  font-family: 'Doto', monospace;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--secondary);
}

.bf-about-page .bf-about-founders .wp-block-columns {
  margin-top: 0;
  margin-bottom: 0;
}

.bf-about-founder-image {
  margin: 0 0 0.75rem;
}

.bf-about-founder-links {
  margin-top: 0.75rem;
  margin-bottom: 0;
}

.bf-about-founder-image img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: 1px solid var(--bf-compare-border);
  border-radius: 10px;
  image-rendering: pixelated;
}

/* Utility shells (404, search, archive, single) — match inner split */
.bf-page-hero-intro .bf-error-code {
  margin: 0 0 0.15rem;
  font-family: 'Doto', monospace;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--wp--preset--color--secondary);
}

.bf-inner-right-col .bf-error-404-body,
.bf-inner-right-col .bf-posts-query,
.bf-inner-right-col .bf-single-post-body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.bf-inner-right-col .bf-error-404-body .wp-block-search,
.bf-inner-left-col .bf-page-hero-intro .wp-block-search {
  max-width: 100%;
}

body.bf-inner-page .bf-inner-split > .wp-block-column.sticky-col.bf-inner-left-col {
  position: sticky;
}

@media (max-width: 781px) {
  body.bf-inner-page .bf-inner-split > .wp-block-column.sticky-col.bf-inner-left-col {
    position: relative;
    top: auto;
    max-height: none;
    overflow: visible;
  }
}

@media (min-width: 782px) {
  body.bf-inner-page:not(.bf-work-page) .bf-inner-split > .wp-block-column.sticky-col.bf-inner-left-col {
    top: var(--bf-services-sticky-top, var(--bf-fixed-header-offset));
    z-index: 6;
    max-height: calc(100dvh - var(--bf-services-sticky-top, var(--bf-fixed-header-offset)) - 1.25rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
}

.bf-work-card {
  margin: 0;
  min-width: 0;
}

.bf-work-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  border: 1px solid var(--bf-compare-border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--wp--preset--color--quaternary) 65%, transparent);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

a.bf-work-card__link:hover,
a.bf-work-card__link:focus {
  border-color: color-mix(in srgb, var(--bf-accent) 45%, var(--bf-compare-border));
  box-shadow: 0 10px 28px #00000028;
}

.bf-work-card__link:focus-visible {
  outline: 1px solid var(--bf-accent);
  outline-offset: 2px;
}

.bf-work-card__media {
  margin: 0;
  min-height: 10rem;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid var(--bf-compare-border);
}

.bf-work-card__sector {
  margin: 0.85rem 1rem 0.25rem;
  font-family: 'Doto', monospace;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--secondary);
}

.bf-work-card__title {
  margin: 0 1rem 0.45rem;
  font-size: var(--wp--preset--font-size--large, 1.5rem);
  line-height: 1.15;
}

.bf-work-card__problem {
  margin: 0 1rem 0.65rem;
  line-height: 1.45;
  color: var(--wp--preset--color--secondary);
}

.bf-work-card__metric {
  margin: 0 1rem 0.5rem;
  line-height: 1.45;
  color: var(--wp--preset--color--primary);
}

.bf-work-card__meta {
  margin: 0 1rem 1rem;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
  color: var(--wp--preset--color--secondary);
}

/* Labs band on /work/ — flex column so inner spacers + grid stack correctly. */
.bf-work-labs {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.bf-work-labs > .wp-block-spacer {
  flex-shrink: 0;
}

.bf-work-labs > .wp-block-buttons {
  flex-shrink: 0;
  margin-top: var(--wp--preset--spacing--50, clamp(1rem, 2vw, 2rem));
}

/* WP group layout flow overrides display:grid — force grid on labs cards wrapper. */
.bf-work-labs .bf-work-labs-grid,
.bf-work-labs .bf-work-labs-grid.is-layout-flow,
.bf-work-labs .bf-work-labs-grid.wp-block-group {
  display: grid !important;
  align-items: stretch;
  /* Fit columns to right-column width (avoids 2-col overlap on tablet 50% split). */
  grid-template-columns: 1fr;
  row-gap: var(--wp--preset--spacing--50, clamp(1rem, 2vw, 2rem));
  column-gap: var(--wp--preset--spacing--40, clamp(0.75rem, 1.5vw, 1.5rem));
  width: 100%;
  max-width: 100%;
  margin: 0;
}

/* WP is-layout-flow adds margin-block-start on grid children — zero all direct children. */
.bf-work-labs .bf-work-labs-grid > *,
.bf-work-labs .bf-work-labs-grid.is-layout-flow > * {
  margin: 0 !important;
  margin-block: 0 !important;
}

.bf-work-labs .bf-work-labs-grid > .bf-work-lab-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

/* Labs product cards — 2 columns (mobile + desktop right column). */
@media (max-width: 781px) {
  .bf-work-labs .bf-work-labs-grid,
  .bf-work-labs .bf-work-labs-grid.is-layout-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    row-gap: 1rem;
    column-gap: var(--wp--preset--spacing--30, 0.75rem);
  }
}

/* Case studies + Labs — 2 columns in the right rail (tablet/desktop split). */
@media (min-width: 782px) {
  .bf-work-labs .bf-work-labs-grid,
  .bf-work-labs .bf-work-labs-grid.is-layout-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    row-gap: 1.35rem;
    column-gap: var(--wp--preset--spacing--40, clamp(0.75rem, 1.5vw, 1.5rem));
  }
}

@media (min-width: 1080px) {
  .bf-work-labs .bf-work-labs-grid,
  .bf-work-labs .bf-work-labs-grid.is-layout-flow {
    row-gap: var(--wp--preset--spacing--60, clamp(1.5rem, 3vw, 3rem));
    column-gap: var(--wp--preset--spacing--50, clamp(1rem, 2vw, 2rem));
  }
}

.bf-work-lab-card {
  display: flex;
  flex-direction: column;
  margin: 0;
  min-width: 0;
  height: 100%;
  align-self: stretch;
}

.bf-work-lab-card__link {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
  padding: 0.8rem 0.85rem 1rem;
  border: 1px solid var(--bf-compare-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--wp--preset--color--quaternary) 50%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bf-work-lab-card__link :where(h3, p) {
  margin-block: 0;
}

.bf-work-lab-card--featured .bf-work-lab-card__link {
  border-color: color-mix(in srgb, var(--bf-accent) 40%, var(--bf-compare-border));
}

.bf-work-lab-card__link:hover,
.bf-work-lab-card__link:focus {
  border-color: color-mix(in srgb, var(--bf-accent) 45%, var(--bf-compare-border));
  /* Inset shadow avoids 1–2px bleed into the row below. */
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bf-accent) 35%, transparent);
}

.bf-work-lab-card__status {
  display: inline-block;
  margin: 0 0 0.35rem;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  font-family: 'Doto', monospace;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.bf-work-lab-card__status--live {
  background: color-mix(in srgb, var(--bf-accent) 22%, transparent);
  color: var(--wp--preset--color--primary);
}

.bf-work-lab-card__status--poc,
.bf-work-lab-card__status--rd {
  background: color-mix(in srgb, var(--wp--preset--color--secondary) 18%, transparent);
  color: var(--wp--preset--color--secondary);
}

.bf-work-lab-card__title {
  flex-shrink: 0;
  margin: 0 0 0.25rem;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
  line-height: 1.2;
}

.bf-work-lab-card__desc {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--wp--preset--color--secondary);
  overflow: hidden;
}

.bf-work-lab-card__tags {
  flex-shrink: 0;
  margin: auto 0 0;
  padding-top: 0.35rem;
  font-size: 0.6875rem;
  line-height: 1.3;
  color: var(--wp--preset--color--text-3, var(--wp--preset--color--secondary));
}

/* Tablet 2-col — fixed 2-line desc height avoids line-clamp subpixel bleed between rows. */
@media (min-width: 782px) and (max-width: 1079px) {
  .bf-work-lab-card__link {
    padding: 0.65rem 0.7rem 0.9rem;
  }

  .bf-work-lab-card__desc {
    max-height: calc(0.75rem * 1.35 * 2);
  }
}

@media (min-width: 1080px) {
  .bf-work-lab-card__title {
    font-size: var(--wp--preset--font-size--medium, 1.125rem);
  }

  .bf-work-lab-card__desc {
    font-size: var(--wp--preset--font-size--small, 0.8125rem);
  }
}

/* ---------------------------------------------------------------------
 * Contact page — Problem-first adventure quest
 * ------------------------------------------------------------------ */
.bf-contact-page .bf-contact-tagline {
  margin: 0.5rem 0 1rem;
  line-height: 1.15;
}

.bf-contact-intro-list {
  margin: 0 0 1.25rem;
  padding-left: 1.1rem;
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--40, 1rem);
}

.bf-contact-quest__buffer {
  padding: var(--wp--preset--spacing--30, 0.75rem) var(--wp--preset--spacing--40, 1rem);
  border: 1px solid var(--bf-compare-border, #ffffff12);
  border-radius: var(--bf-compare-radius, 10px);
  background: color-mix(in srgb, var(--wp--preset--color--quaternary) 60%, transparent);
}

.bf-contact-quest__buffer-title {
  margin: 0 0 0.65rem;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.bf-contact-quest__buffer-cols {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--wp--preset--spacing--40, 1rem);
  align-items: start;
}

.bf-contact-quest__buffer-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  line-height: 1.45;
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__buffer-list li {
  margin: 0 0 0.35rem;
}

.bf-contact-quest__buffer-list li.is-done {
  color: var(--wp--preset--color--primary);
}

.bf-contact-quest__buffer-build {
  margin-top: 0.75rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--bf-compare-border, #ffffff12);
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
}

.bf-contact-quest__buffer-build.is-pending span {
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__buffer-build.is-ready span {
  color: var(--bf-accent);
}

.bf-contact-quest__stack-diagram {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 5.5rem;
}

.bf-contact-quest__layer-ai,
.bf-contact-quest__layer-workflow {
  padding: 0.35rem 0.5rem;
  font-size: 0.65rem;
  text-align: center;
  border-radius: 4px;
  border: 1px solid var(--bf-compare-border, #ffffff12);
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__layer-workflow.is-active {
  border-color: color-mix(in srgb, var(--bf-accent) 50%, transparent);
  color: var(--wp--preset--color--primary);
  background: color-mix(in srgb, var(--bf-accent) 8%, transparent);
}

.bf-contact-quest__layer-ai.is-active {
  border-color: var(--bf-accent);
  color: var(--wp--preset--color--primary);
  background: color-mix(in srgb, var(--bf-accent) 12%, transparent);
}

.bf-contact-quest__layer-ai.is-dashed {
  border-style: dashed;
  opacity: 0.75;
}

.bf-contact-quest__layer-ai.is-warning {
  border-color: color-mix(in srgb, #e85d5d 60%, transparent);
  background: color-mix(in srgb, #e85d5d 10%, transparent);
}

.bf-contact-quest__layer-ai.is-empty {
  opacity: 0.45;
}

.bf-contact-quest__progress {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.bf-contact-quest__phases {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
}

.bf-contact-quest__phase.is-current {
  color: var(--bf-accent);
}

.bf-contact-quest__phase.is-done {
  color: var(--wp--preset--color--primary);
}

.bf-contact-quest__phase-track {
  flex: 1;
  height: 3px;
  background: var(--bf-compare-border, #ffffff12);
  border-radius: 2px;
  overflow: hidden;
}

.bf-contact-quest__phase-fill {
  display: block;
  height: 100%;
  background: var(--bf-accent);
  transition: width 0.25s ease;
}

.bf-contact-quest__step-label {
  margin: 0;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__bits {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.65rem;
  font-family: ui-monospace, monospace;
  color: var(--wp--preset--color--text-3, var(--wp--preset--color--secondary));
}

.bf-contact-quest__bits-track {
  flex: 1;
  height: 1px;
  background: var(--bf-compare-border, #ffffff12);
}

.bf-contact-quest__stage {
  padding: var(--wp--preset--spacing--40, 1rem);
  border: 1px solid var(--bf-compare-border, #ffffff12);
  border-radius: var(--bf-compare-radius, 10px);
  background: var(--wp--preset--color--quaternary);
}

.bf-contact-quest__scene-eyebrow {
  margin: 0 0 0.5rem;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__scene-title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.25rem, 2.5vw, 1.65rem);
  line-height: 1.2;
}

.bf-contact-quest__scene-foreman {
  margin: 0 0 1.25rem;
  max-width: 38em;
  color: var(--wp--preset--color--secondary);
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
}

.bf-contact-quest__choices {
  display: grid;
  gap: 0.65rem;
}

@media (min-width: 600px) {
  .bf-contact-quest__choices:not(.bf-contact-quest__choices--priority) {
    grid-template-columns: repeat(2, 1fr);
  }
}

.bf-contact-quest__choice {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  width: 100%;
  margin: 0;
  padding: var(--wp--preset--spacing--30, 0.75rem) var(--wp--preset--spacing--40, 1rem);
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
  border: 1px solid var(--bf-compare-border, #ffffff12);
  border-radius: 6px;
  background: color-mix(in srgb, var(--wp--preset--color--base) 40%, transparent);
  transition: border-color 0.15s ease, background 0.15s ease;
}

.bf-contact-quest__choice:hover,
.bf-contact-quest__choice:focus {
  border-color: color-mix(in srgb, var(--bf-accent) 40%, transparent);
  background: color-mix(in srgb, var(--bf-accent) 6%, transparent);
}

.bf-contact-quest__choice:focus-visible {
  outline: 1px solid var(--bf-accent);
  outline-offset: 2px;
}

.bf-contact-quest__choice.is-selected {
  border-color: var(--bf-accent);
  background: color-mix(in srgb, var(--bf-accent) 10%, transparent);
}

.bf-contact-quest__choices--multi .bf-contact-quest__choice.is-selected .bf-contact-quest__choice-label::before {
  content: '✓ ';
  color: var(--bf-accent);
}

.bf-contact-quest__choice-label {
  font-weight: 600;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  line-height: 1.3;
}

.bf-contact-quest__choice-sub,
.bf-contact-quest__choice-hint {
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__choice-hint {
  color: var(--bf-accent);
}

.bf-contact-quest__tapeout .bf-contact-quest__field-label {
  margin: 0 0 0.5rem;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
}

.bf-contact-quest__textarea {
  width: 100%;
  margin: 0 0 0.5rem;
  padding: 0.75rem;
  font: inherit;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  line-height: 1.45;
  color: inherit;
  border: 1px solid var(--bf-compare-border, #ffffff12);
  border-radius: 6px;
  background: color-mix(in srgb, var(--wp--preset--color--base) 50%, transparent);
  resize: vertical;
  min-height: 7rem;
  box-sizing: border-box;
}

.bf-contact-quest__char-count {
  margin: 0 0 1rem;
  font-size: 0.75rem;
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__char-count.is-ready {
  color: var(--bf-accent);
}

.bf-contact-quest__checkbox {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  cursor: pointer;
}

.bf-contact-quest__contact {
  display: grid;
  gap: 1rem;
}

.bf-contact-quest__field {
  margin: 0;
}

.bf-contact-quest__label {
  display: block;
  margin: 0 0 0.35rem;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
}

.bf-contact-quest__req {
  color: var(--bf-accent);
}

.bf-contact-quest__text-input {
  display: block;
  width: 100%;
  max-width: 28rem;
  padding: 0.55rem 0.65rem;
  font: inherit;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  line-height: 1.4;
  color: inherit;
  border: 1px solid var(--bf-compare-border, #ffffff12);
  border-radius: 4px;
  background: color-mix(in srgb, var(--wp--preset--color--base) 50%, transparent);
  box-sizing: border-box;
}

/* Prevent "bidi" (RTL) rendering from visually flipping emails on some systems/copy/paste. */
.bf-contact-quest__text-input[type="email"],
.bf-contact-quest__text-input#bf-contact-company {
  direction: ltr;
  unicode-bidi: plaintext;
}

.bf-contact-quest__text-input.is-locked,
.bf-contact-quest__text-input:read-only {
  opacity: 0.72;
  cursor: not-allowed;
  background: color-mix(in srgb, var(--wp--preset--color--quaternary) 40%, transparent);
}

.bf-contact-quest__checkbox--llm {
  max-width: 36rem;
}

.bf-contact-quest__llm-hint,
.bf-contact-quest__llm-note {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__lookup-btn {
  align-self: flex-start;
}

.bf-contact-quest__lookup-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.bf-contact-quest__lookup-result {
  margin: 0;
  padding: 0.75rem 1rem;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  line-height: 1.45;
  border: 1px solid var(--bf-compare-border, #ffffff12);
  border-radius: 6px;
  background: color-mix(in srgb, var(--wp--preset--color--quaternary) 60%, transparent);
  color: var(--wp--preset--color--primary);
}

.bf-contact-quest__lookup-placeholder {
  margin: 0;
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__lookup-result.is-filled {
  border-color: color-mix(in srgb, var(--bf-accent) 45%, var(--bf-compare-border, #ffffff12));
  background: color-mix(in srgb, var(--bf-accent) 8%, var(--wp--preset--color--quaternary));
}

.bf-contact-quest__lookup-result.is-error {
  border-color: color-mix(in srgb, #e85d5d 50%, transparent);
}

.bf-contact-quest__lookup-kicker {
  margin: 0 0 0.35rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--bf-accent);
}

.bf-contact-quest__lookup-oneliner {
  margin: 0;
  font-size: var(--wp--preset--font-size--small, 0.875rem);
  line-height: 1.45;
}

.bf-contact-quest__lookup-edit-hint {
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__lookup-limit {
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__lookup-result.is-limit {
  border-color: color-mix(in srgb, var(--wp--preset--color--secondary) 35%, var(--bf-compare-border, #ffffff12));
}

.bf-contact-quest__contact-required {
  margin: 0 0 0.75rem;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  color: #e85d5d;
}

.bf-contact-quest__handoff-buttons .is-disabled .wp-block-button__link,
.bf-contact-quest__handoff-buttons .wp-block-button__link:disabled {
  opacity: 0.45;
  pointer-events: none;
  cursor: not-allowed;
}

.bf-contact-quest__nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: var(--wp--preset--spacing--40, 1rem);
  padding-top: var(--wp--preset--spacing--40, 1rem);
  border-top: 1px solid var(--bf-compare-border, #ffffff12);
}

.bf-contact-quest__back,
.bf-contact-quest__next {
  font: inherit;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  cursor: pointer;
  border: none;
  background: transparent;
  color: var(--wp--preset--color--primary);
  padding: 0.5rem 0;
}

.bf-contact-quest__next {
  font-weight: 600;
  color: var(--bf-accent);
}

.bf-contact-quest__next:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.bf-contact-quest__ending--sent {
  padding: var(--wp--preset--spacing--50, 1.25rem) 0;
}

.bf-contact-quest__ending-sent {
  margin: 0 0 1.25rem;
  font-size: clamp(1.1rem, 2.2vw, 1.35rem);
  line-height: 1.45;
  font-weight: 600;
  color: var(--bf-accent);
}

.bf-contact-quest__ending-title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

.bf-contact-quest__ending-lead {
  margin: 0 0 1rem;
  color: var(--wp--preset--color--secondary);
}

/* Full-contrast brief preview (not muted / disabled) */
.bf-contact-quest__summary {
  margin: 0 0 1.25rem;
  padding: 1rem;
  overflow-x: auto;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--wp--preset--color--cm-text, var(--wp--preset--color--primary));
  opacity: 1;
  border: 1px solid var(--bf-compare-border, #ffffff12);
  border-radius: 6px;
  background: color-mix(in srgb, var(--wp--preset--color--quaternary) 88%, var(--wp--preset--color--base));
}

.bf-contact-quest__handoff-label {
  margin: 0 0 0.75rem;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  font-weight: 600;
}

.bf-contact-quest__handoff-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--40, 1rem);
  align-items: stretch;
  margin-bottom: 1rem;
}

.bf-contact-quest__handoff-buttons > .wp-block-button {
  flex: 1 1 11.5rem;
  min-width: min(100%, 11.5rem);
  margin: 0;
}

.bf-contact-quest__handoff-buttons .wp-block-button__link {
  width: 100%;
  min-height: 3.25rem;
  white-space: normal;
  text-align: center;
  line-height: 1.25;
}

.bf-contact-quest__handoff-buttons .bf-contact-quest__email-btn-wrap .wp-block-button__link {
  cursor: pointer;
}

.bf-contact-quest__email-panel {
  margin-top: 0.5rem;
  padding: 1rem;
  border: 1px solid var(--bf-compare-border, #ffffff12);
  border-radius: 6px;
}

.bf-contact-quest__email-panel.is-hidden {
  display: none;
}

.bf-contact-quest__email-hint {
  margin: 0 0 0.75rem;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__email-input {
  display: block;
  width: 100%;
  max-width: 24rem;
  margin: 0 0 0.75rem;
  padding: 0.5rem 0.65rem;
  font: inherit;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  border: 1px solid var(--bf-compare-border, #ffffff12);
  border-radius: 4px;
  background: transparent;
  color: inherit;
  box-sizing: border-box;
}

.bf-contact-quest__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.bf-contact-quest__email-send {
  cursor: pointer;
}

.bf-contact-quest__email-send.is-sending {
  opacity: 0.45;
  pointer-events: none;
  cursor: not-allowed;
}

.bf-contact-quest__email-status {
  margin: 0.75rem 0 0;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
}

.bf-contact-quest__email-status.is-success {
  color: var(--bf-accent);
}

.bf-contact-quest__email-status.is-error {
  color: #e85d5d;
}

.bf-contact-quest__email-disabled {
  margin: 0;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__ending-meta {
  margin: 0;
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
  color: var(--wp--preset--color--secondary);
}

.bf-contact-quest__edit {
  font: inherit;
  font-size: inherit;
  color: inherit;
  cursor: pointer;
  border: none;
  background: none;
  text-decoration: underline;
  padding: 0;
}

.bf-contact-faq-band {
  padding-block: var(--wp--preset--spacing--70, 3rem) var(--wp--preset--spacing--80, 4rem);
  border-top: 1px solid var(--bf-compare-border, #ffffff12);
}

.bf-contact-faq {
  padding-inline: var(--bf-hf-gutter-x, var(--wp--preset--spacing--40));
}

.bf-contact-faq__item {
  border-bottom: 1px solid var(--bf-compare-border, #ffffff12);
}

.bf-contact-faq__q {
  padding: 1rem 0;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--medium, 1.125rem);
  cursor: pointer;
  list-style: none;
}

.bf-contact-faq__q::-webkit-details-marker {
  display: none;
}

.bf-contact-faq__a {
  padding: 0 0 1rem;
  color: var(--wp--preset--color--secondary);
  font-size: var(--wp--preset--font-size--small, 0.8125rem);
}

.bf-contact-faq__a p {
  margin: 0;
  max-width: 52em;
}

@media (max-width: 781px) {
  .bf-contact-quest__buffer-cols {
    grid-template-columns: 1fr;
  }

  .bf-contact-quest__stack-diagram {
    flex-direction: row;
    min-width: 0;
  }

  .bf-contact-quest__layer-ai,
  .bf-contact-quest__layer-workflow {
    flex: 1;
  }

  body.bf-contact-page .bf-contact-faq {
    padding-inline: var(--bf-mobile-gutter-x, var(--wp--preset--spacing--40));
  }
}
