/* ==========================================================================
   BriefDesk design system
   Scoped component layer on top of theme.json global styles.
   Order: foundations, layout, header, hero, sections, components, footer.
   ========================================================================== */

/* --- Foundations -------------------------------------------------------- */

:root {
  --bd-rule: 1px solid var(--wp--preset--color--line);
  --bd-rule-dark: 1px solid rgba(255, 255, 255, 0.14);
  --bd-ease: 220ms cubic-bezier(0.2, 0.6, 0.2, 1);
  --bd-header-h: 76px;
}

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; overflow-x: clip; }

/* A visible, high-contrast focus ring everywhere, including inside dark sections. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--wp--preset--color--teal);
  outline-offset: 3px;
  border-radius: 4px;
}
.bd-dark :where(a, button, input, textarea, summary):focus-visible {
  outline-color: var(--wp--preset--color--teal-light);
}

.bd-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 200;
  padding: 0.85rem 1.4rem;
  background: var(--wp--preset--color--navy);
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 10px 0;
}
.bd-skip-link:focus { left: 0; }

::selection { background: var(--wp--preset--color--teal-wash); color: var(--wp--preset--color--navy); }

/* --- Type utilities ----------------------------------------------------- */

/* Eyebrow: mono, uppercase, tracked, preceded by a short rule. */
.is-style-eyebrow,
.bd-eyebrow {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wp--preset--color--teal-dark);
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}
.is-style-eyebrow::before,
.bd-eyebrow::before {
  content: "";
  width: 30px;
  height: 1px;
  background: currentColor;
  flex: none;
  opacity: 0.75;
}
.bd-dark .is-style-eyebrow,
.bd-dark .bd-eyebrow { color: var(--wp--preset--color--teal-light); }

.is-style-lead,
.bd-lead {
  font-size: var(--wp--preset--font-size--lead);
  line-height: 1.55;
  color: var(--wp--preset--color--muted);
  max-width: 62ch;
}
.bd-dark .is-style-lead,
.bd-dark .bd-lead { color: rgba(255, 255, 255, 0.74); }

.bd-measure { max-width: 68ch; }
.bd-balance { text-wrap: balance; }

/* Dark sections: invert text colours without hand-setting every block. */
.bd-dark { color: rgba(255, 255, 255, 0.82); background-color: var(--wp--preset--color--navy); }
.bd-dark :where(h1, h2, h3, h4, h5) { color: #fff; }
.bd-dark :where(p, li) { color: rgba(255, 255, 255, 0.78); }
.bd-dark a:not(.wp-block-button__link) { color: var(--wp--preset--color--teal-light); }
.bd-dark a:not(.wp-block-button__link):hover { color: #fff; }
.bd-dark hr { border-color: rgba(255, 255, 255, 0.14); }

/* --- Section rhythm ----------------------------------------------------- */

.bd-section { padding-block: clamp(4.5rem, 8vw, 7.5rem); }
.bd-section--tight { padding-block: clamp(3rem, 5vw, 4.5rem); }
.bd-section--flush-top { padding-top: 0; }

.bd-section-head { max-width: 46rem; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.bd-section-head h2 { margin: 0 0 1.1rem; }
.bd-section-head > :last-child { margin-bottom: 0; }

hr.wp-block-separator.is-style-hairline,
.bd-hairline {
  border: 0;
  border-top: var(--bd-rule);
  height: 0;
  margin: 0;
  opacity: 1;
  width: 100%;
}
.bd-dark hr.wp-block-separator.is-style-hairline { border-top-color: rgba(255, 255, 255, 0.14); }

/* --- Header ------------------------------------------------------------- */

.bd-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: saturate(150%) blur(14px);
  -webkit-backdrop-filter: saturate(150%) blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color var(--bd-ease), background var(--bd-ease), box-shadow var(--bd-ease);
}
.bd-header.is-stuck {
  border-bottom-color: var(--wp--preset--color--line);
  box-shadow: 0 1px 20px rgba(11, 31, 58, 0.05);
}
.bd-header__inner {
  max-width: 1220px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 5vw, 3rem);
  min-height: var(--bd-header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.bd-header .custom-logo-link,
.bd-brand { display: inline-flex; align-items: center; text-decoration: none; flex: none; }
.bd-header .custom-logo { max-height: 44px; width: auto; display: block; }

.bd-brand__text { display: flex; flex-direction: column; line-height: 1; text-decoration: none; }
.bd-brand__name {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--wp--preset--color--navy);
}
.bd-brand__name em { font-style: normal; color: var(--wp--preset--color--teal-dark); }
.bd-brand__tag {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.5rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  margin-top: 5px;
}

.bd-nav { display: flex; align-items: center; gap: clamp(1rem, 2.2vw, 2.1rem); }
.bd-nav a {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  position: relative;
  padding-block: 0.4rem;
  transition: color var(--bd-ease);
}
.bd-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.5px;
  background: var(--wp--preset--color--teal);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--bd-ease);
}
.bd-nav a:hover { color: var(--wp--preset--color--teal-dark); }
.bd-nav a:hover::after,
.bd-nav a[aria-current="page"]::after { transform: scaleX(1); }
.bd-nav a[aria-current="page"] { color: var(--wp--preset--color--teal-dark); }

.bd-header__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.7rem 1.5rem;
  border-radius: 999px;
  background: var(--wp--preset--color--navy);
  color: #fff !important;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid var(--wp--preset--color--navy);
  transition: background var(--bd-ease), border-color var(--bd-ease), transform var(--bd-ease);
  white-space: nowrap;
}
.bd-header__cta:hover {
  background: var(--wp--preset--color--teal-dark);
  border-color: var(--wp--preset--color--teal-dark);
  transform: translateY(-1px);
}

.bd-burger {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 10px;
  background: transparent;
  cursor: pointer;
  padding: 0;
  align-items: center;
  justify-content: center;
}
.bd-burger span {
  display: block;
  width: 18px;
  height: 1.5px;
  background: var(--wp--preset--color--navy);
  position: relative;
  transition: background var(--bd-ease);
}
.bd-burger span::before,
.bd-burger span::after {
  content: "";
  position: absolute;
  left: 0;
  width: 18px;
  height: 1.5px;
  background: var(--wp--preset--color--navy);
  transition: transform var(--bd-ease), top var(--bd-ease);
}
.bd-burger span::before { top: -6px; }
.bd-burger span::after { top: 6px; }
.bd-burger[aria-expanded="true"] span { background: transparent; }
.bd-burger[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.bd-burger[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }

@media (max-width: 900px) {
  .bd-burger { display: inline-flex; }
  .bd-nav-wrap {
    position: fixed;
    inset: var(--bd-header-h) 0 0;
    background: #fff;
    padding: 2rem clamp(1.25rem, 5vw, 3rem) 3rem;
    display: none;
    overflow-y: auto;
    border-top: var(--bd-rule);
  }
  .bd-nav-wrap.is-open { display: block; }
  .bd-nav { flex-direction: column; align-items: stretch; gap: 0; }
  .bd-nav a {
    font-family: var(--wp--preset--font-family--serif);
    font-size: 1.55rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    padding-block: 1.05rem;
    border-bottom: var(--bd-rule);
  }
  .bd-nav a::after { display: none; }
  .bd-header__cta { display: none; }
  .bd-nav-wrap .bd-header__cta { display: inline-flex; margin-top: 2rem; justify-content: center; }
  body.bd-nav-open { overflow: hidden; }
}

/* --- Hero --------------------------------------------------------------- */

.bd-hero {
  position: relative;
  background: linear-gradient(160deg, #0B1F3A 0%, #12294A 48%, #081527 100%);
  color: #fff;
  overflow: hidden;
  isolation: isolate;
}
.bd-hero__grid {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.5;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 90% 70% at 70% 15%, #000 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 90% 70% at 70% 15%, #000 20%, transparent 78%);
}
.bd-hero__art {
  position: absolute;
  top: 0;
  right: 0;
  width: min(58%, 760px);
  height: 100%;
  z-index: -1;
  opacity: 0.9;
  pointer-events: none;
}
.bd-hero__inner {
  max-width: 1220px;
  margin-inline: auto;
  padding: clamp(6rem, 13vh, 9.5rem) clamp(1.25rem, 5vw, 3rem) clamp(4.5rem, 9vh, 7rem);
}
.bd-hero h1 {
  font-size: var(--wp--preset--font-size--display);
  line-height: 1.02;
  letter-spacing: -0.035em;
  margin: 0 0 1.6rem;
  max-width: 17ch;
  color: #fff;
}
.bd-hero h1 em {
  display: block;
  font-style: italic;
  color: var(--wp--preset--color--teal-light);
  font-weight: 400;
}
.bd-hero__lede {
  font-size: clamp(1.0625rem, 1.4vw, 1.1875rem);
  line-height: 1.66;
  color: rgba(255, 255, 255, 0.76);
  max-width: 56ch;
  margin: 0 0 2.6rem;
}
.bd-hero__actions { display: flex; flex-wrap: wrap; gap: 0.9rem; }

.bd-credentials {
  border-top: var(--bd-rule-dark);
  margin-top: clamp(3.5rem, 7vw, 5.5rem);
  padding-top: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 2.4rem;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.48);
}

/* --- Buttons ------------------------------------------------------------ */

.bd-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.95rem 1.9rem;
  border-radius: 999px;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background var(--bd-ease), color var(--bd-ease), border-color var(--bd-ease), transform var(--bd-ease);
  line-height: 1.2;
}
.bd-btn svg { flex: none; transition: transform var(--bd-ease); }
.bd-btn:hover svg { transform: translateX(3px); }

.bd-btn--primary { background: var(--wp--preset--color--teal); border-color: var(--wp--preset--color--teal); color: #04231f; }
.bd-btn--primary:hover { background: var(--wp--preset--color--teal-light); border-color: var(--wp--preset--color--teal-light); transform: translateY(-1px); }

.bd-btn--navy { background: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); color: #fff; }
.bd-btn--navy:hover { background: var(--wp--preset--color--teal-dark); border-color: var(--wp--preset--color--teal-dark); transform: translateY(-1px); }

.bd-btn--ghost-light { border-color: rgba(255, 255, 255, 0.34); color: #fff; background: transparent; }
.bd-btn--ghost-light:hover { border-color: #fff; background: rgba(255, 255, 255, 0.08); }

.bd-btn--ghost-dark { border-color: var(--wp--preset--color--line); color: var(--wp--preset--color--navy); background: transparent; }
.bd-btn--ghost-dark:hover { border-color: var(--wp--preset--color--navy); background: var(--wp--preset--color--bone); }

/* Editor-facing equivalents so core buttons match. */
.wp-block-button.is-style-outline-light .wp-block-button__link {
  background: transparent; border-color: rgba(255, 255, 255, 0.34); color: #fff;
}
.wp-block-button.is-style-outline-light .wp-block-button__link:hover {
  background: rgba(255, 255, 255, 0.08); border-color: #fff; color: #fff;
}
.wp-block-button.is-style-outline-dark .wp-block-button__link {
  background: transparent; border-color: var(--wp--preset--color--line); color: var(--wp--preset--color--navy);
}
.wp-block-button.is-style-outline-dark .wp-block-button__link:hover {
  background: var(--wp--preset--color--bone); border-color: var(--wp--preset--color--navy); color: var(--wp--preset--color--navy);
}
.wp-block-button.is-style-text-link .wp-block-button__link {
  background: transparent; border: 0; padding: 0.2rem 0; color: var(--wp--preset--color--teal-dark);
  border-bottom: 1px solid currentColor; border-radius: 0;
}
.wp-block-button.is-style-text-link .wp-block-button__link:hover { color: var(--wp--preset--color--navy); }

/* Inline arrow link used across sections. */
.bd-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--wp--preset--color--teal-dark);
  text-decoration: none;
  border-bottom: 1px solid rgba(27, 156, 142, 0.35);
  padding-bottom: 2px;
  transition: color var(--bd-ease), border-color var(--bd-ease);
}
.bd-arrow::after { content: "\2192"; transition: transform var(--bd-ease); }
.bd-arrow:hover { color: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); }
.bd-arrow:hover::after { transform: translateX(4px); }
.bd-dark .bd-arrow { color: var(--wp--preset--color--teal-light); border-color: rgba(95, 201, 188, 0.4); }
.bd-dark .bd-arrow:hover { color: #fff; border-color: #fff; }

/* --- Disciplines (editorial numbered rows, not boxes) ------------------- */

.bd-disciplines { border-top: var(--bd-rule); }
.bd-discipline {
  border-bottom: var(--bd-rule);
  padding-block: clamp(2.5rem, 5vw, 3.75rem);
  transition: background var(--bd-ease);
  scroll-margin-top: calc(var(--bd-header-h) + 1.5rem);
}
.bd-discipline:hover { background: var(--wp--preset--color--bone); }
.bd-discipline .wp-block-columns { gap: clamp(1.25rem, 4vw, 3.25rem); margin-bottom: 0; }
.bd-discipline__num {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--wp--preset--color--teal-dark);
  margin: 0.35rem 0 0.9rem;
}
.bd-discipline__flag {
  display: inline-block;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.5625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--navy);
  background: var(--wp--preset--color--teal-wash);
  border-radius: 999px;
  padding: 0.35rem 0.7rem;
  margin: 0;
  white-space: nowrap;
}
.bd-discipline h3 { margin: 0 0 0.9rem; }
.bd-discipline__desc { margin: 0 0 1.4rem; color: var(--wp--preset--color--muted); max-width: 46ch; }
.bd-discipline__cap {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  margin: 0.5rem 0 1rem;
}

/* --- Tick lists --------------------------------------------------------- */

.bd-ticks,
ul.is-style-ticks { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.7rem; }
.bd-ticks li,
ul.is-style-ticks li {
  position: relative;
  padding-left: 1.7rem;
  font-size: 0.9688rem;
  line-height: 1.55;
  color: var(--wp--preset--color--muted);
}
.bd-ticks li::before,
ul.is-style-ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.52em;
  width: 9px;
  height: 5px;
  border-left: 1.75px solid var(--wp--preset--color--teal);
  border-bottom: 1.75px solid var(--wp--preset--color--teal);
  transform: rotate(-45deg);
}
.bd-dark .bd-ticks li,
.bd-dark ul.is-style-ticks li { color: rgba(255, 255, 255, 0.76); }
.bd-dark .bd-ticks li::before,
.bd-dark ul.is-style-ticks li::before { border-color: var(--wp--preset--color--teal-light); }

ul.is-style-plain { list-style: none; padding-left: 0; }

/* --- Grids and cards ---------------------------------------------------- */

.bd-grid { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); }
.bd-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.bd-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.bd-grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }

.bd-card,
.wp-block-group.is-style-card {
  background: var(--wp--preset--color--paper);
  border: var(--bd-rule);
  border-radius: 14px;
  padding: clamp(1.6rem, 3vw, 2.2rem);
  transition: border-color var(--bd-ease), box-shadow var(--bd-ease), transform var(--bd-ease);
}
.bd-card:hover,
.wp-block-group.is-style-card:hover {
  border-color: rgba(27, 156, 142, 0.4);
  box-shadow: 0 2px 6px rgba(11, 31, 58, 0.05), 0 14px 36px rgba(11, 31, 58, 0.07);
}
.bd-card h3, .bd-card h4 { margin-top: 0; }
.bd-card > :last-child { margin-bottom: 0; }
.bd-dark .bd-card {
  background: rgba(255, 255, 255, 0.035);
  border-color: rgba(255, 255, 255, 0.12);
}
.bd-dark .bd-card:hover { border-color: rgba(95, 201, 188, 0.42); box-shadow: none; }

/* Numbered belief / principle cards, no box. */
.bd-numbered { display: grid; gap: clamp(1.75rem, 3.5vw, 2.75rem); }
.bd-numbered__item { border-top: var(--bd-rule); padding-top: 1.4rem; }
.bd-dark .bd-numbered__item { border-top-color: rgba(255, 255, 255, 0.14); }
.bd-numbered__n {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: var(--wp--preset--color--teal-dark);
  display: block;
  margin-bottom: 0.85rem;
}
.bd-dark .bd-numbered__n { color: var(--wp--preset--color--teal-light); }
.bd-numbered__item h3 { font-size: 1.1875rem; margin: 0 0 0.6rem; letter-spacing: -0.015em; }
.bd-numbered__item p { margin: 0; font-size: 0.9688rem; color: var(--wp--preset--color--muted); }

/* --- Statistics --------------------------------------------------------- */

.bd-stats { display: grid; gap: clamp(1.75rem, 3.5vw, 2.5rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
.bd-stat { border-top: 2px solid var(--wp--preset--color--teal); padding-top: 1.2rem; }
.bd-dark .bd-stat { border-top-color: var(--wp--preset--color--teal-light); }
.bd-stat__fig {
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(2.4rem, 5vw, 3.4rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.035em;
  color: var(--wp--preset--color--navy);
  display: block;
  margin-bottom: 0.7rem;
}
.bd-dark .bd-stat__fig { color: #fff; }
.bd-stat__label { font-weight: 600; font-size: 0.9688rem; display: block; margin-bottom: 0.35rem; color: var(--wp--preset--color--ink); }
.bd-dark .bd-stat__label { color: #fff; }
.bd-stat__note { font-size: 0.875rem; line-height: 1.5; color: var(--wp--preset--color--muted); margin: 0; }
.bd-dark .bd-stat__note { color: rgba(255, 255, 255, 0.6); }

/* --- The Invisible Architecture diagram --------------------------------- */

.bd-ia { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 0; border: var(--bd-rule-dark); border-radius: 16px; overflow: hidden; }
.bd-ia__layer { padding: clamp(1.75rem, 3.5vw, 2.5rem); position: relative; }
.bd-ia__layer + .bd-ia__layer { border-left: var(--bd-rule-dark); }
.bd-ia__layer--visible { background: rgba(255, 255, 255, 0.05); }
.bd-ia__layer--hidden { background: rgba(27, 156, 142, 0.08); }
.bd-ia__cap {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0 0 1.1rem;
  color: rgba(255, 255, 255, 0.5);
}
.bd-ia__layer--hidden .bd-ia__cap { color: var(--wp--preset--color--teal-light); }
.bd-ia__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.55rem; }
.bd-ia__list li {
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.8);
  padding-left: 1.1rem;
  position: relative;
}
.bd-ia__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
}
.bd-ia__layer--hidden .bd-ia__list li::before { background: var(--wp--preset--color--teal-light); }
@media (max-width: 720px) {
  .bd-ia__layer + .bd-ia__layer { border-left: 0; border-top: var(--bd-rule-dark); }
}

/* --- Tables ------------------------------------------------------------- */

.bd-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-top: var(--bd-rule); }
.bd-table { width: 100%; border-collapse: collapse; min-width: 34rem; font-size: 0.9375rem; }
.bd-table th, .bd-table td { text-align: left; padding: 1.15rem 1.25rem 1.15rem 0; border-bottom: var(--bd-rule); vertical-align: top; }
.bd-table thead th {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  padding-bottom: 0.9rem;
}
.bd-table tbody th { font-weight: 600; color: var(--wp--preset--color--navy); }
.bd-table td { color: var(--wp--preset--color--muted); }
.bd-table .bd-fig { font-weight: 600; color: var(--wp--preset--color--navy); white-space: nowrap; }
.bd-table .bd-sub { display: block; font-size: 0.8125rem; color: var(--wp--preset--color--muted); font-weight: 400; margin-top: 0.2rem; }
.wp-block-table.is-style-editorial table { border-collapse: collapse; font-size: 0.9375rem; }
.wp-block-table.is-style-editorial :where(td, th) { border: 0; border-bottom: var(--bd-rule); padding: 1.05rem 1.25rem 1.05rem 0; }
.wp-block-table.is-style-editorial thead th {
  font-family: var(--wp--preset--font-family--mono); font-size: 0.6875rem; letter-spacing: 0.13em;
  text-transform: uppercase; color: var(--wp--preset--color--muted); font-weight: 500;
}

/* --- FAQ / details ------------------------------------------------------ */

.bd-faq { border-top: var(--bd-rule); }
.bd-faq details { border-bottom: var(--bd-rule); }
.bd-faq summary,
.wp-block-details.is-style-faq summary {
  cursor: pointer;
  list-style: none;
  padding: 1.4rem 3rem 1.4rem 0;
  font-weight: 600;
  font-size: 1.0625rem;
  color: var(--wp--preset--color--navy);
  position: relative;
  transition: color var(--bd-ease);
}
.bd-faq summary::-webkit-details-marker,
.wp-block-details.is-style-faq summary::-webkit-details-marker { display: none; }
.bd-faq summary::after,
.wp-block-details.is-style-faq summary::after {
  content: "";
  position: absolute;
  right: 0.35rem;
  top: 50%;
  width: 11px;
  height: 11px;
  margin-top: -6px;
  border-right: 1.75px solid var(--wp--preset--color--teal);
  border-bottom: 1.75px solid var(--wp--preset--color--teal);
  transform: rotate(45deg);
  transition: transform var(--bd-ease);
}
.bd-faq details[open] summary::after,
.wp-block-details.is-style-faq[open] summary::after { transform: rotate(-135deg); }
.bd-faq summary:hover { color: var(--wp--preset--color--teal-dark); }
.bd-faq__body { padding: 0 3rem 1.6rem 0; color: var(--wp--preset--color--muted); max-width: 62ch; }
.bd-faq__body p:last-child { margin-bottom: 0; }

/* --- Callout / CTA band ------------------------------------------------- */

.bd-cta {
  background: linear-gradient(160deg, #0B1F3A 0%, #12294A 55%, #081527 100%);
  color: #fff;
  border-radius: 22px;
  padding: clamp(2.5rem, 6vw, 4.5rem);
  position: relative;
  overflow: hidden;
}
.bd-cta h2 { color: #fff; margin: 0 0 1.1rem; max-width: 20ch; }
.bd-cta h2 em { font-style: italic; color: var(--wp--preset--color--teal-light); font-weight: 400; }
.bd-cta p { color: rgba(255, 255, 255, 0.76); max-width: 54ch; margin: 0 0 2rem; }
.bd-cta__actions { display: flex; flex-wrap: wrap; gap: 0.9rem; }
.bd-cta__note { margin-top: 1.6rem; font-size: 0.875rem; color: rgba(255, 255, 255, 0.5); }

.bd-quote {
  border-left: 2px solid var(--wp--preset--color--teal);
  padding-left: clamp(1.25rem, 3vw, 2rem);
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(1.3rem, 2.6vw, 1.75rem);
  line-height: 1.36;
  letter-spacing: -0.02em;
  color: var(--wp--preset--color--navy);
  max-width: 30ch;
}
.bd-dark .bd-quote { color: #fff; border-left-color: var(--wp--preset--color--teal-light); }
.bd-quote cite {
  display: block;
  margin-top: 1.2rem;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.6875rem;
  font-style: normal;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
}
.bd-dark .bd-quote cite { color: rgba(255, 255, 255, 0.5); }

/* --- People ------------------------------------------------------------- */

.bd-person { border-top: var(--bd-rule); padding-top: 1.6rem; }
.bd-person__name { font-family: var(--wp--preset--font-family--serif); font-size: 1.375rem; font-weight: 600; letter-spacing: -0.02em; margin: 0 0 0.4rem; color: var(--wp--preset--color--navy); }
.bd-person__role {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--teal-dark);
  margin: 0 0 1.1rem;
}
.bd-person p { font-size: 0.9688rem; color: var(--wp--preset--color--muted); }

/* --- Case studies ------------------------------------------------------- */

.bd-case { border-top: var(--bd-rule); padding-block: clamp(2.25rem, 4.5vw, 3.25rem); }
.bd-case__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.75rem 1.5rem; margin-bottom: 1.4rem; }
.bd-case__sector {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--teal-dark);
}
.bd-case__status {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.5625rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  background: var(--wp--preset--color--sand);
  color: var(--wp--preset--color--muted);
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
}
.bd-case h3 { margin: 0 0 1rem; max-width: 26ch; }
.bd-case__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); margin-top: 1.75rem; }
.bd-case__col h4 {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  margin: 0 0 0.9rem;
}
.bd-case__col p, .bd-case__col li { font-size: 0.9375rem; color: var(--wp--preset--color--muted); }

/* --- Forms -------------------------------------------------------------- */

.bd-form { display: grid; gap: 1.5rem; max-width: 40rem; }
.bd-field { display: grid; gap: 0.5rem; }
.bd-field label { font-size: 0.875rem; font-weight: 600; color: var(--wp--preset--color--navy); }
.bd-field .bd-opt { font-weight: 400; color: var(--wp--preset--color--muted); }
.bd-field input,
.bd-field textarea,
.bd-field select {
  font: inherit;
  font-size: 1rem;
  width: 100%;
  padding: 0.85rem 1rem;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 10px;
  background: var(--wp--preset--color--paper);
  color: var(--wp--preset--color--ink);
  transition: border-color var(--bd-ease), box-shadow var(--bd-ease);
}
.bd-field textarea { min-height: 8.5rem; resize: vertical; }
.bd-field input:focus,
.bd-field textarea:focus,
.bd-field select:focus {
  border-color: var(--wp--preset--color--teal);
  box-shadow: 0 0 0 3px rgba(27, 156, 142, 0.14);
  outline: none;
}
.bd-field input::placeholder, .bd-field textarea::placeholder { color: #98a1ad; }

.bd-radios { display: grid; gap: 0.6rem; }
.bd-radio { display: flex; align-items: center; gap: 0.7rem; padding: 0.8rem 1rem; border: 1px solid var(--wp--preset--color--line); border-radius: 10px; cursor: pointer; transition: border-color var(--bd-ease), background var(--bd-ease); font-size: 0.9375rem; }
.bd-radio:hover { border-color: var(--wp--preset--color--teal-light); background: var(--wp--preset--color--bone); }
.bd-radio input { width: auto; accent-color: var(--wp--preset--color--teal); flex: none; }
.bd-radio:has(input:checked) { border-color: var(--wp--preset--color--teal); background: var(--wp--preset--color--teal-wash); }
.bd-hp { position: absolute; left: -9999px; opacity: 0; height: 0; width: 0; overflow: hidden; }
.bd-form__note { font-size: 0.875rem; color: var(--wp--preset--color--muted); margin: 0; }

/* --- Footer ------------------------------------------------------------- */

.bd-footer { background: var(--wp--preset--color--navy-deep); color: rgba(255, 255, 255, 0.72); }
.bd-footer__inner { max-width: 1220px; margin-inline: auto; padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 3rem) 2.5rem; }
.bd-footer__top { display: grid; grid-template-columns: minmax(0, 1.25fr) repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr)); gap: clamp(2rem, 4vw, 3.5rem); padding-bottom: clamp(2.5rem, 5vw, 3.5rem); border-bottom: var(--bd-rule-dark); }
.bd-footer__strap { font-family: var(--wp--preset--font-family--serif); font-size: 1.375rem; font-weight: 600; letter-spacing: -0.02em; color: #fff; margin: 0 0 1.1rem; max-width: 16ch; }
.bd-footer__meta { font-size: 0.875rem; line-height: 1.7; color: rgba(255, 255, 255, 0.55); margin: 0; }
.bd-footer h2 {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.42);
  margin: 0 0 1.1rem;
}
.bd-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.65rem; }
.bd-footer a { color: rgba(255, 255, 255, 0.78); text-decoration: none; font-size: 0.9375rem; transition: color var(--bd-ease); }
.bd-footer a:hover { color: var(--wp--preset--color--teal-light); }
.bd-footer__bottom { display: flex; flex-wrap: wrap; gap: 0.75rem 2rem; justify-content: space-between; padding-top: 2rem; font-size: 0.8125rem; color: rgba(255, 255, 255, 0.42); }

/* --- Insights ----------------------------------------------------------- */

.bd-posts { display: grid; gap: 0; border-top: var(--bd-rule); }
.bd-post { padding-block: clamp(1.75rem, 3.5vw, 2.5rem); border-bottom: var(--bd-rule); display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: clamp(1rem, 3vw, 2.5rem); }
.bd-post__date { font-family: var(--wp--preset--font-family--mono); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--muted); padding-top: 0.35rem; }
.bd-post h3 { margin: 0 0 0.6rem; }
.bd-post h3 a { text-decoration: none; color: var(--wp--preset--color--navy); }
.bd-post h3 a:hover { color: var(--wp--preset--color--teal-dark); }
.bd-post p { margin: 0; color: var(--wp--preset--color--muted); font-size: 0.9688rem; max-width: 62ch; }
@media (max-width: 700px) { .bd-post { grid-template-columns: 1fr; gap: 0.6rem; } .bd-post__date { padding-top: 0; } }

/* --- Motion ------------------------------------------------------------- */

.bd-reveal { opacity: 0; transform: translateY(18px); }
.bd-reveal.is-in {
  opacity: 1;
  transform: none;
  transition: opacity 620ms cubic-bezier(0.2, 0.6, 0.2, 1), transform 620ms cubic-bezier(0.2, 0.6, 0.2, 1);
}
.bd-reveal.is-in.d1 { transition-delay: 80ms; }
.bd-reveal.is-in.d2 { transition-delay: 160ms; }
.bd-reveal.is-in.d3 { transition-delay: 240ms; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .bd-reveal, .bd-reveal.is-in { opacity: 1 !important; transform: none !important; transition: none !important; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* --- Print -------------------------------------------------------------- */

@media print {
  .bd-header, .bd-footer, .bd-cta, .bd-hero__art, .bd-hero__grid { display: none !important; }
  body { color: #000; background: #fff; }
  a::after { content: " (" attr(href) ")"; font-size: 0.75em; color: #555; }
}

/* ==========================================================================
   Core block bindings
   The header and footer are built from native blocks so menus stay editable
   in WordPress. These rules dress those blocks in the BriefDesk system.
   ========================================================================== */

.bd-header .bd-header__inner {
  max-width: 1220px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 5vw, 3rem);
  min-height: var(--bd-header-h);
}
.bd-header .bd-header__right { gap: clamp(1rem, 2.4vw, 2.25rem); }
.bd-header .wp-block-site-logo img { max-height: 46px; width: auto; }

/* Navigation */
.bd-header .wp-block-navigation { gap: clamp(0.9rem, 2.1vw, 2rem); }
.bd-header .wp-block-navigation .wp-block-navigation-item__content {
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  position: relative;
  padding-block: 0.4rem;
  transition: color var(--bd-ease);
}
.bd-header .wp-block-navigation .wp-block-navigation-item__content::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.5px;
  background: var(--wp--preset--color--teal);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--bd-ease);
}
.bd-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--teal-dark); }
.bd-header .wp-block-navigation-item__content:hover::after,
.bd-header .current-menu-item .wp-block-navigation-item__content::after { transform: scaleX(1); }
.bd-header .current-menu-item .wp-block-navigation-item__content { color: var(--wp--preset--color--teal-dark); }

/* Header CTA button */
.bd-header .bd-header__cta-btn .wp-block-button__link {
  padding: 0.72rem 1.55rem;
  font-size: 0.9rem;
  white-space: nowrap;
}

/* Mobile overlay */
.bd-header .wp-block-navigation__responsive-container-open,
.bd-header .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--navy); }
.bd-header .wp-block-navigation__responsive-container.is-menu-open {
  padding: clamp(1.25rem, 5vw, 3rem);
}
.bd-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #fff;
}
.bd-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { display: none; }
.bd-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0.35rem; }

@media (max-width: 700px) {
  .bd-header .bd-header__cta-wrap { display: none; }
  .bd-header .wp-block-site-logo img { max-height: 38px; }
}

/* Footer built from columns */
.bd-footer .bd-footer__top { align-items: start; }
.bd-footer .bd-footer__top .wp-block-column { min-width: 9rem; }
.bd-footer .wp-block-list.is-style-plain { list-style: none; padding-left: 0; display: grid; gap: 0.65rem; }
.bd-footer .wp-block-list.is-style-plain li { color: rgba(255, 255, 255, 0.62); font-size: 0.9375rem; }
.bd-footer .bd-footer__bottom p { margin: 0; }

@media (max-width: 900px) {
  .bd-footer .bd-footer__top { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
  .bd-footer .bd-footer__top .wp-block-column { flex-basis: auto !important; }
}

/* Content width helper for hand-built patterns */
.bd-wrap { max-width: 1220px; margin-inline: auto; padding-inline: clamp(1.25rem, 5vw, 3rem); }
.bd-wrap--narrow { max-width: 860px; }

/* Post content sensible defaults */
.bd-prose > * + * { margin-top: 1.35em; }
.bd-prose h2 { margin-top: 2.4em; }
.bd-prose h3 { margin-top: 1.9em; }

/* Columns inside disciplines stack early, because three narrow columns of
   body copy are unreadable below roughly 860px. */
@media (max-width: 860px) {
  .bd-discipline .wp-block-columns { flex-wrap: wrap !important; }
  .bd-discipline .wp-block-column { flex-basis: 100% !important; }
  .bd-discipline .wp-block-column:first-child {
    display: flex; align-items: center; gap: 0.9rem;
  }
  .bd-discipline__num { margin: 0; }
}

/* Fieldset reset for the enquiry form */
.bd-form fieldset { border: 0; padding: 0; margin: 0; }
.bd-form legend { padding: 0; margin-bottom: 0.5rem; font-size: 0.875rem; font-weight: 600; color: var(--wp--preset--color--navy); }

/* --- Page-level components --------------------------------------------- */

.bd-visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap; border: 0;
}

/* Jump links under a page hero */
.bd-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: clamp(2rem, 4vw, 3rem);
  border-top: var(--bd-rule);
  padding-top: 1.75rem;
}
.bd-jump a {
  display: inline-flex;
  align-items: baseline;
  gap: 0.6rem;
  padding: 0.65rem 1.15rem;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--wp--preset--color--navy);
  text-decoration: none;
  transition: border-color var(--bd-ease), background var(--bd-ease), color var(--bd-ease);
}
.bd-jump a span {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.6875rem;
  color: var(--wp--preset--color--teal-dark);
}
.bd-jump a:hover { border-color: var(--wp--preset--color--teal); background: var(--wp--preset--color--teal-wash); }

/* Full pillar block on the services page */
.bd-pillar {
  border-bottom: var(--bd-rule);
  padding-block: clamp(3rem, 6vw, 5rem);
  scroll-margin-top: calc(var(--bd-header-h) + 1.5rem);
}
.bd-pillar:first-child { border-top: var(--bd-rule); }
.bd-pillar .bd-discipline__num { margin: 0 0 0.5rem; }
.bd-pillar .bd-discipline__flag { margin-bottom: 1.1rem; }
.bd-pillar h2 { margin: 0 0 0.9rem; }
.bd-pillar .is-style-lead { margin-bottom: 2rem; font-size: 1.1875rem; color: var(--wp--preset--color--navy); }

/* Price highlight card */
.bd-price-card {
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  padding: clamp(1.75rem, 3.5vw, 2.5rem);
  background: rgba(255, 255, 255, 0.04);
}
.bd-price-card__cap {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wp--preset--color--teal-light);
  margin: 0 0 1rem;
}
.bd-price-card__fig {
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(1.75rem, 3.4vw, 2.35rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 0.5rem;
}
.bd-price-card__sub { font-size: 0.875rem; color: rgba(255, 255, 255, 0.62); margin: 0 0 1.25rem; }
.bd-price-card__note {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  padding-top: 1.1rem;
}

/* Contact sidebar */
.bd-contact-side { display: grid; gap: clamp(1.75rem, 3.5vw, 2.5rem); }
.bd-contact-side .bd-numbered__item h3 { font-size: 1.0625rem; }
.bd-contact-side p { font-size: 0.9375rem; color: var(--wp--preset--color--muted); margin: 0 0 0.75rem; line-height: 1.7; }
.bd-contact-side p:last-child { margin-bottom: 0; }

/* Numbered items inside a plain grid need their own top rule */
.bd-grid .bd-numbered__item { border-top: var(--bd-rule); padding-top: 1.4rem; }
.bd-dark .bd-grid .bd-numbered__item { border-top-color: rgba(255, 255, 255, 0.14); }
.bd-dark .bd-numbered__item h3 { color: #fff; }
.bd-dark .bd-numbered__item p { color: rgba(255, 255, 255, 0.72); }

/* Tables inside dark sections */
.bd-dark .bd-table-wrap { border-top-color: rgba(255, 255, 255, 0.14); }
.bd-dark .bd-table :where(th, td) { border-bottom-color: rgba(255, 255, 255, 0.12); color: rgba(255, 255, 255, 0.74); }
.bd-dark .bd-table tbody th, .bd-dark .bd-table .bd-fig { color: #fff; }

/* Cards used as columns keep even heights */
.wp-block-columns .wp-block-column.is-style-card { display: flex; flex-direction: column; }
.wp-block-columns .wp-block-column.is-style-card > :last-child { margin-top: auto; }

/* Anchor offset for every in-page target */
:where([id]) { scroll-margin-top: calc(var(--bd-header-h) + 1.25rem); }

/* ==========================================================================
   QA pass: brand fallback, touch targets, form sizing, footer rhythm
   ========================================================================== */

/* Brand lockup. The site title acts as the wordmark until a logo is uploaded,
   then it steps aside automatically. */
.bd-header .bd-brand { gap: 0.85rem; }
.bd-header .bd-brandmark { margin: 0; }
.bd-header .bd-brandmark a {
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(1.15rem, 2.4vw, 1.375rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  color: var(--wp--preset--color--navy);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--bd-ease);
}
.bd-header .bd-brandmark a:hover { color: var(--wp--preset--color--teal-dark); }
/* Once a real logo exists, the text wordmark is redundant. */
.bd-header .bd-brand:has(.wp-block-site-logo img) .bd-brandmark { display: none; }
.bd-header .wp-block-site-logo:not(:has(img)) { display: none; }

/* Touch targets. WCAG 2.5.8 wants at least 24px; on touch widths we go to 44. */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}
@media (max-width: 900px) {
  .bd-arrow { padding-block: 0.65rem; }
  .bd-jump a { min-height: 44px; }
  .bd-faq summary, .wp-block-details.is-style-faq summary { padding-block: 1.15rem; }
}

/* Form controls must include padding and border in their width. */
.bd-form :where(input, textarea, select, button, fieldset) { box-sizing: border-box; max-width: 100%; }
.bd-form button { min-height: 48px; }
.bd-radio { min-height: 48px; }

/* Footer: give the link columns room so service names stop wrapping mid-phrase. */
.bd-footer .bd-footer__top .wp-block-column { min-width: 11rem; }
.bd-footer .wp-block-list.is-style-plain li { line-height: 1.45; }
.bd-footer .wp-block-list.is-style-plain { gap: 0.8rem; }
.bd-footer a { text-wrap: pretty; }

/* Hero headline: the second sentence is its own line, so give it breathing room. */
.bd-hero h1 em { margin-top: 0.12em; }

/* Insights archive */
.bd-posts .wp-block-post-title { margin: 0 0 0.6rem; font-size: var(--wp--preset--font-size--large); }
.bd-posts .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--navy); }
.bd-posts .wp-block-post-title a:hover { color: var(--wp--preset--color--teal-dark); }
.wp-block-query-pagination { font-size: 0.9375rem; }

/* Never let a long word or URL force a horizontal scrollbar. */
:where(h1, h2, h3, h4, p, li, td, th, summary) { overflow-wrap: break-word; }

/* Case study headlines are display type, so they need a measure like any
   other headline rather than running the full grid width. */
.bd-case h2 { max-width: 24ch; }
.bd-case > .bd-measure { max-width: 62ch; }

/* ==========================================================================
   Version 1.1 components
   Six-pillar routing layer, the three-layer architecture diagram,
   audience blocks, named client entries.
   ========================================================================== */

/* --- Six pillars: plain-language routes into the four disciplines -------- */

.bd-pillars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr));
  gap: 0;
  border-top: var(--bd-rule);
  border-left: var(--bd-rule);
}
.bd-pillars__item {
  border-right: var(--bd-rule);
  border-bottom: var(--bd-rule);
  padding: clamp(1.6rem, 3vw, 2.25rem);
  display: flex;
  flex-direction: column;
  transition: background var(--bd-ease);
}
.bd-pillars__item:hover { background: var(--wp--preset--color--paper); }
.bd-pillars__n {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: var(--wp--preset--color--teal-dark);
  margin: 0 0 1rem;
}
.bd-pillars__item h3 {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.3125rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--wp--preset--color--navy);
  margin: 0 0 0.55rem;
}
.bd-pillars__say {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--wp--preset--color--muted);
  margin: 0 0 1.1rem;
}
.bd-pillars__item .bd-ticks { margin-bottom: 1.4rem; }
.bd-pillars__item .bd-ticks li { font-size: 0.875rem; }
.bd-pillars__route {
  margin-top: auto;
  padding-top: 1.1rem;
  border-top: var(--bd-rule);
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.625rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
}
.bd-pillars__route a { color: var(--wp--preset--color--teal-dark); text-decoration: none; border-bottom: 1px solid rgba(27,156,142,.35); }
.bd-pillars__route a:hover { color: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); }

/* --- Three-layer architecture diagram ----------------------------------- */

.bd-stack { display: grid; gap: 0; }
.bd-stack__layer {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  padding: clamp(1.25rem, 2.6vw, 1.75rem);
  background: rgba(255, 255, 255, 0.04);
}
.bd-stack__layer--hidden {
  background: rgba(27, 156, 142, 0.1);
  border-color: rgba(95, 201, 188, 0.34);
}
.bd-stack__layer--enables {
  background: rgba(255, 255, 255, 0.02);
  border-style: dashed;
}
.bd-stack__cap {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  margin: 0 0 1rem;
}
.bd-stack__layer--hidden .bd-stack__cap { color: var(--wp--preset--color--teal-light); }
.bd-stack__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.bd-stack__chips li {
  font-size: 0.8125rem;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  padding: 0.4rem 0.8rem;
  background: rgba(255, 255, 255, 0.03);
}
.bd-stack__layer--hidden .bd-stack__chips li {
  border-color: rgba(95, 201, 188, 0.42);
  color: #fff;
  background: rgba(27, 156, 142, 0.12);
}
.bd-stack__arrow {
  height: 34px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bd-stack__arrow::before {
  content: "";
  width: 1px;
  height: 100%;
  background: linear-gradient(rgba(95, 201, 188, 0.15), rgba(95, 201, 188, 0.6));
}
.bd-stack__arrow::after {
  content: "";
  position: absolute;
  bottom: 4px;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid rgba(95, 201, 188, 0.75);
  border-bottom: 1.5px solid rgba(95, 201, 188, 0.75);
  transform: rotate(45deg);
}

/* Light-background variant, used on the Invisible Architecture page */
.bd-stack--light .bd-stack__layer { border-color: var(--wp--preset--color--line); background: var(--wp--preset--color--paper); }
.bd-stack--light .bd-stack__layer--hidden { background: var(--wp--preset--color--teal-wash); border-color: rgba(27,156,142,.32); }
.bd-stack--light .bd-stack__cap { color: var(--wp--preset--color--muted); }
.bd-stack--light .bd-stack__layer--hidden .bd-stack__cap { color: var(--wp--preset--color--teal-dark); }
.bd-stack--light .bd-stack__chips li { color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--line); background: var(--wp--preset--color--bone); }
.bd-stack--light .bd-stack__layer--hidden .bd-stack__chips li { background: #fff; border-color: rgba(27,156,142,.35); }

/* --- Who we work with --------------------------------------------------- */

.bd-audience { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); }
.bd-audience__item { border-top: 2px solid var(--wp--preset--color--teal); padding-top: 1.2rem; }
.bd-audience__item h3 {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.1875rem; font-weight: 600; letter-spacing: -0.02em;
  color: var(--wp--preset--color--navy); margin: 0 0 0.55rem;
}
.bd-audience__item p { font-size: 0.9375rem; color: var(--wp--preset--color--muted); margin: 0; line-height: 1.6; }

/* --- Named client entries ----------------------------------------------- */

.bd-clients { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 0; border-top: var(--bd-rule); border-left: var(--bd-rule); }
.bd-client { border-right: var(--bd-rule); border-bottom: var(--bd-rule); padding: clamp(1.6rem, 3vw, 2.25rem); }
.bd-client__name {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.5rem; font-weight: 600; letter-spacing: -0.025em;
  color: var(--wp--preset--color--navy); margin: 0 0 0.4rem;
}
.bd-client__sector {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.625rem; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--wp--preset--color--teal-dark); margin: 0 0 1.1rem;
}
.bd-client p { font-size: 0.9375rem; color: var(--wp--preset--color--muted); margin: 0 0 0.9rem; line-height: 1.6; }
.bd-client p:last-child { margin-bottom: 0; }

/* --- Record split: founder experience versus the firm's own work -------- */

.bd-record { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: clamp(2rem, 5vw, 4rem); }
.bd-record__col h3 {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.375rem; font-weight: 600; letter-spacing: -0.02em;
  color: var(--wp--preset--color--navy); margin: 0 0 0.7rem;
}
.bd-record__note { font-size: 0.9375rem; color: var(--wp--preset--color--muted); margin: 0 0 1.9rem; max-width: 44ch; line-height: 1.6; }
.bd-record .bd-stats { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 1.75rem; }
.bd-record .bd-stat__fig { font-size: clamp(2rem, 4vw, 2.6rem); }

/* --- Highlighted offering block (strategic planning) -------------------- */

.bd-feature {
  border: var(--bd-rule);
  border-radius: 18px;
  overflow: hidden;
  background: var(--wp--preset--color--paper);
}
.bd-feature__head {
  padding: clamp(1.75rem, 3.5vw, 2.5rem);
  border-bottom: var(--bd-rule);
  background: var(--wp--preset--color--bone);
}
.bd-feature__head h2 { margin: 0 0 0.7rem; }
.bd-feature__head p { margin: 0; color: var(--wp--preset--color--muted); max-width: 58ch; }
.bd-feature__body {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 0;
}
.bd-feature__col { padding: clamp(1.6rem, 3vw, 2.25rem); }
.bd-feature__col + .bd-feature__col { border-left: var(--bd-rule); }
.bd-feature__col h3 {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--wp--preset--color--muted); margin: 0 0 1rem;
}
@media (max-width: 720px) {
  .bd-feature__col + .bd-feature__col { border-left: 0; border-top: var(--bd-rule); }
}

/* Hero sub-headline: carries the managed-operations line under the main claim */
.bd-hero__sub {
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.28;
  letter-spacing: -0.02em;
  color: var(--wp--preset--color--teal-light);
  margin: 0 0 1.5rem;
  max-width: 22ch;
}

/* Named organisation on a case study */
.bd-case__org {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: -0.025em;
  color: var(--wp--preset--color--navy);
  margin: 0;
  line-height: 1;
}
.bd-case__head { align-items: center; }

/* --- Header navigation breakpoint ---------------------------------------
   Core hands the menu over to its overlay at 600px. With five items,
   including "The Invisible Architecture", this navigation needs roughly
   1100px before it wraps onto a second line, so we take control of the
   switch rather than letting it break between those two widths. */

@media (max-width: 1099px) {
  .bd-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .bd-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
}

@media (min-width: 1100px) {
  .bd-header .wp-block-navigation__responsive-container-open { display: none !important; }
  .bd-header .wp-block-navigation__container {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
  }
}

/* The overlay itself is untouched by the above and stays full screen. */
.bd-header .wp-block-navigation__responsive-container.is-menu-open { display: flex !important; }
.bd-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-start;
}

/* Columns carrying the card style read as units without becoming boxes.
   The site's language is hairlines, not containers. */
.wp-block-column.is-style-card {
  border-top: 2px solid var(--wp--preset--color--teal);
  padding-top: 1.4rem;
  background: transparent;
  border-radius: 0;
}
.wp-block-column.is-style-card:hover { box-shadow: none; border-color: var(--wp--preset--color--teal); }
.wp-block-column.is-style-card h3 { margin-top: 0.35rem; }

/* BD-CONCIERGE-START */

/* Dock */
.bd-dock{position:fixed;right:20px;bottom:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:9997;display:flex;flex-direction:column;align-items:flex-end;gap:10px;transition:transform .32s cubic-bezier(.2,.6,.2,1),opacity .32s}
.bd-dock[data-tuck="true"]{transform:translateY(180%);opacity:0;pointer-events:none}
.bd-dock a,.bd-dock button{font-family:var(--wp--preset--font-family--sans,Inter,system-ui,sans-serif)}
.bd-wa{display:inline-flex;align-items:center;gap:0;height:50px;padding:0 13px;border-radius:999px;background:#25D366;color:#fff;text-decoration:none;box-shadow:0 6px 20px rgba(11,31,58,.16);transition:box-shadow .22s,transform .22s,gap .26s,padding .26s}
.bd-wa svg{width:24px;height:24px;flex:0 0 24px;fill:currentColor;display:block}
.bd-wa .bd-wa-l{max-width:0;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:600;letter-spacing:.01em;transition:max-width .26s cubic-bezier(.2,.6,.2,1)}
.bd-wa:focus-visible,.bd-ask:focus-visible,.bd-chip:focus-visible,.bd-b:focus-visible,.bd-x:focus-visible,.bd-send:focus-visible{outline:2px solid var(--wp--preset--color--teal,#1B9C8E);outline-offset:2px}
@media (hover:hover) and (min-width:781px){
.bd-wa:hover,.bd-wa:focus-visible{gap:9px;padding:0 19px 0 13px;transform:translateY(-1px);box-shadow:0 10px 26px rgba(11,31,58,.22)}
.bd-wa:hover .bd-wa-l,.bd-wa:focus-visible .bd-wa-l{max-width:180px}
}
.bd-ask{display:inline-flex;align-items:center;gap:9px;height:50px;padding:0 18px;border:0;border-radius:999px;cursor:pointer;background:var(--wp--preset--color--navy,#0B1F3A);color:#fff;font-size:14px;font-weight:600;letter-spacing:.01em;box-shadow:0 6px 20px rgba(11,31,58,.18);transition:transform .22s,box-shadow .22s,background .22s}
.bd-ask:hover{transform:translateY(-1px);background:var(--wp--preset--color--navy-2,#12294A);box-shadow:0 10px 26px rgba(11,31,58,.24)}
.bd-ask svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;display:block}
.bd-ask .bd-ask-d{width:7px;height:7px;border-radius:50%;background:var(--wp--preset--color--teal-light,#5FC9BC);flex:0 0 7px}
@media (max-width:780px){
.bd-dock{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));gap:9px}
.bd-wa,.bd-ask{width:52px;height:52px;padding:0;justify-content:center}
.bd-ask .bd-ask-t,.bd-ask .bd-ask-d{display:none}
.bd-ask svg{width:22px;height:22px}
}

/* Panel */
.bd-panel{position:fixed;right:20px;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:min(392px,calc(100vw - 40px));max-height:min(648px,calc(100vh - 130px));z-index:9998;display:flex;flex-direction:column;overflow:hidden;background:var(--wp--preset--color--bone,#FAF9F6);border:1px solid var(--wp--preset--color--line,#E6E3DC);border-radius:16px;box-shadow:0 2px 8px rgba(11,31,58,.06),0 26px 64px rgba(11,31,58,.18);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(10px) scale(.99);transition:opacity .24s cubic-bezier(.2,.6,.2,1),transform .24s cubic-bezier(.2,.6,.2,1),visibility 0s .24s}
.bd-panel[data-open="true"]{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition:opacity .24s cubic-bezier(.2,.6,.2,1),transform .24s cubic-bezier(.2,.6,.2,1)}
.bd-panel *{box-sizing:border-box;font-family:var(--wp--preset--font-family--sans,Inter,system-ui,sans-serif)}
.bd-ph{display:flex;align-items:flex-start;gap:12px;padding:15px 15px 13px;background:var(--wp--preset--color--navy,#0B1F3A);color:#fff;flex:0 0 auto}
.bd-ph h2{margin:0;font-family:var(--wp--preset--font-family--serif,Fraunces,Georgia,serif)!important;font-size:17px;line-height:1.25;font-weight:500;color:#fff;letter-spacing:0}
.bd-ph p{margin:4px 0 0;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-family:var(--wp--preset--font-family--mono,ui-monospace,monospace)!important;color:rgba(255,255,255,.58)}
.bd-x{margin-left:auto;background:transparent;border:0;color:rgba(255,255,255,.72);cursor:pointer;padding:5px;border-radius:8px;line-height:0;flex:0 0 auto}
.bd-x:hover{color:#fff;background:rgba(255,255,255,.1)}
.bd-x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;display:block}
.bd-log{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:11px}
.bd-a,.bd-u{max-width:88%;font-size:14.5px;line-height:1.62;color:var(--wp--preset--color--ink,#16213D)}
.bd-a{align-self:flex-start;background:#fff;border:1px solid var(--wp--preset--color--line,#E6E3DC);border-radius:14px 14px 14px 5px;padding:11px 13px}
.bd-u{align-self:flex-end;background:var(--wp--preset--color--teal-wash,#EAF6F4);border:1px solid rgba(27,156,142,.2);border-radius:14px 14px 5px 14px;padding:10px 13px}
.bd-a p{margin:0 0 8px;font-size:inherit;line-height:inherit;color:inherit}
.bd-a p:last-child{margin:0}
.bd-a ul{margin:7px 0 0;padding-left:17px}
.bd-a li{margin:0 0 4px;font-size:inherit;line-height:1.55}
.bd-a a{color:var(--wp--preset--color--teal-dark,#15837A);text-underline-offset:2px}
.bd-a em{font-style:normal;color:var(--wp--preset--color--muted,#5B6472);font-size:13px}

/* Chips, actions, form, composer */
.bd-chips{display:flex;flex-wrap:wrap;gap:7px;align-self:flex-start;max-width:100%}
.bd-chip{font-size:13.2px;line-height:1.3;padding:8px 13px;border-radius:999px;border:1px solid var(--wp--preset--color--line,#E6E3DC);background:#fff;color:var(--wp--preset--color--ink,#16213D);cursor:pointer;text-align:left;transition:border-color .18s,background .18s,transform .12s}
.bd-chip:hover{border-color:var(--wp--preset--color--teal,#1B9C8E);background:var(--wp--preset--color--teal-wash,#EAF6F4)}
.bd-chip:active{transform:translateY(1px)}
.bd-acts{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;max-width:100%}
.bd-b{font-size:13.4px;font-weight:600;padding:9px 15px;border-radius:999px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px;line-height:1.3;transition:background .18s,border-color .18s,color .18s}
.bd-b svg{width:15px;height:15px;flex:0 0 15px;fill:currentColor}
.bd-b-p{background:var(--wp--preset--color--navy,#0B1F3A);color:#fff;border:1px solid var(--wp--preset--color--navy,#0B1F3A)}
.bd-b-p:hover{background:var(--wp--preset--color--navy-2,#12294A);color:#fff}
.bd-b-w{background:#25D366;border:1px solid #25D366;color:#fff}
.bd-b-w:hover{background:#1eb857;color:#fff}
.bd-b-s{background:transparent;border:1px solid var(--wp--preset--color--line,#E6E3DC);color:var(--wp--preset--color--muted,#5B6472)}
.bd-b-s:hover{border-color:var(--wp--preset--color--teal,#1B9C8E);color:var(--wp--preset--color--teal-dark,#15837A)}
.bd-card{align-self:stretch;background:#fff;border:1px solid var(--wp--preset--color--line,#E6E3DC);border-radius:14px;padding:13px}
.bd-card label{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-family:var(--wp--preset--font-family--mono,ui-monospace,monospace)!important;color:var(--wp--preset--color--muted,#5B6472);margin:0 0 4px}
.bd-r{margin:0 0 9px}
.bd-card input{width:100%;font-size:14px;padding:9px 11px;border:1px solid var(--wp--preset--color--line,#E6E3DC);border-radius:10px;background:var(--wp--preset--color--bone,#FAF9F6);color:var(--wp--preset--color--ink,#16213D)}
.bd-card input:focus{outline:0;border-color:var(--wp--preset--color--teal,#1B9C8E);box-shadow:0 0 0 3px rgba(27,156,142,.14)}
.bd-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.bd-note{font-size:11.5px;line-height:1.5;color:var(--wp--preset--color--muted,#5B6472);margin:0 0 10px}
.bd-c{display:flex;align-items:flex-end;gap:8px;padding:10px 11px;border-top:1px solid var(--wp--preset--color--line,#E6E3DC);background:#fff;flex:0 0 auto}
.bd-c textarea{flex:1 1 auto;resize:none;font-size:14px;line-height:1.5;max-height:92px;padding:9px 12px;border:1px solid var(--wp--preset--color--line,#E6E3DC);border-radius:12px;background:var(--wp--preset--color--bone,#FAF9F6);color:var(--wp--preset--color--ink,#16213D)}
.bd-c textarea:focus{outline:0;border-color:var(--wp--preset--color--teal,#1B9C8E);box-shadow:0 0 0 3px rgba(27,156,142,.14)}
.bd-send{flex:0 0 38px;width:38px;height:38px;border:0;border-radius:50%;background:var(--wp--preset--color--teal,#1B9C8E);color:#fff;cursor:pointer;display:grid;place-items:center}
.bd-send:hover{background:var(--wp--preset--color--teal-dark,#15837A)}
.bd-send svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;display:block}
.bd-foot{flex:0 0 auto;background:#fff;padding:0 12px 9px;text-align:center;font-size:10.5px;letter-spacing:.04em;color:var(--wp--preset--color--muted,#5B6472)}
.bd-typ{align-self:flex-start;display:flex;gap:4px;align-items:center;padding:13px 14px;background:#fff;border:1px solid var(--wp--preset--color--line,#E6E3DC);border-radius:14px 14px 14px 5px}
.bd-typ i{width:5px;height:5px;border-radius:50%;background:#9AA3AF;animation:bdBounce 1.1s infinite ease-in-out}
.bd-typ i:nth-child(2){animation-delay:.15s}
.bd-typ i:nth-child(3){animation-delay:.3s}
@keyframes bdBounce{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (max-width:600px){
.bd-panel{right:0;left:0;top:0;bottom:0;width:100%;max-height:none;border:0;border-radius:0;transform:translateY(14px)}
.bd-ph{padding-top:calc(15px + env(safe-area-inset-top,0px))}
.bd-c{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.bd-a,.bd-u{max-width:92%}
}
html.bd-lock,html.bd-lock body{overflow:hidden!important}
@media (prefers-reduced-motion:reduce){.bd-dock,.bd-panel,.bd-wa,.bd-ask,.bd-chip,.bd-b{transition:none!important}.bd-typ i{animation:none}}
@media print{.bd-dock,.bd-panel{display:none!important}}

/* BD-CONCIERGE-END */


/* ==== BD-QA-PASS (05 Sep 2026) ============================================ */
:root{ --bd-teal-text:#0F6E66; }
/* Brand marks */
.bd-header .wp-block-site-logo img{ width:190px; height:auto; }
@media (max-width:720px){ .bd-header .wp-block-site-logo img{ width:150px; } }
.bd-footer__logo{ margin:0 0 1.35rem; }
.bd-footer__logo img{ width:200px; max-width:70%; height:auto; display:block; }
/* Contrast: brand teal is 3.4:1 on light grounds, teal-dark 4.4:1. Both fail AA
   for small text, so label-scale text uses a deepened teal at 6.1:1. */
.bd-eyebrow, .is-style-eyebrow, .bd-arrow, .bd-discipline__num, .bd-pillars__n{ color:var(--bd-teal-text); }
.bd-dark .bd-eyebrow, .bd-dark .is-style-eyebrow, .bd-hero .bd-eyebrow,
.bd-footer .bd-eyebrow, .bd-dark .bd-arrow{ color:var(--wp--preset--color--teal-light); }
/* Hero: long headline has to stay readable on a phone */
@media (max-width:720px){
  .bd-hero h1{ font-size:clamp(2rem,8.2vw,2.55rem); line-height:1.1; letter-spacing:-0.02em; max-width:20ch; }
  .bd-hero__sub{ font-size:1.2rem; }
  .bd-hero__lede{ font-size:1rem; }
}
@media (max-width:420px){ .bd-hero h1{ font-size:1.95rem; } }
/* ==== /BD-QA-PASS ======================================================== */
