@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/manrope-latin.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}
/*
 * LABARBAV4 · BLOQUES
 * Aspecto compartido por Gutenberg y la web. Los sangrados de página
 * y la colocación de cabecera/footer viven en style.css.
 */
:root {
  --brb-accent: #252525;
  --brb-accent-ink: #ffffff;
  --brb-ink: #252525;
  --brb-paper: #ffffff;
  --brb-surface: #f0f1f3;
  --brb-width: 1200px;
  --brb-section-base: clamp(80px, 7vw, calc(var(--brb-width) * 0.08));
  --brb-space-scale: 1;
  --brb-section-space: calc(var(--brb-section-base) * var(--brb-space-scale));
  --brb-font-body: "Manrope", ui-sans-serif, system-ui, sans-serif;
  --brb-font-heading: inherit;
  --brb-text-size: 17px;
  --brb-heading-scale: 1;
  --brb-button-radius: 8px;
  --brb-button-padding: 14px;
  --brb-button-hover-y: 0px;
  --brb-button-hover-contrast: 1;
  --brb-button-hover-shadow: none;
  --brb-button-hover-fill: 0%;
  --brb-interaction-motion: 1;
  --brb-glass-blur: 14px;
  --brb-glass-opacity: 82%;
  --brb-slider-columns: 3;
  --brb-slider-gap: 24px;
  --brb-slider-mobile-width: 88%;
  --brb-line: color-mix(in srgb, var(--brb-ink) 17%, transparent);
  --brb-panel: color-mix(in srgb, var(--brb-paper) 91%, var(--brb-surface));
  --brb-muted: color-mix(in srgb, var(--brb-ink) 72%, var(--brb-paper));
  --brb-on-photo: #fff;
  --brb-duration: 400ms;
  --brb-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --brb-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E");
  --brb-hover-duration: min(var(--brb-duration), 180ms);
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
body,
.editor-styles-wrapper {
  font-family: var(--brb-font-body);
  font-size: var(--brb-text-size);
  line-height: 1.65;
  color: var(--brb-ink);
  background-color: var(--brb-paper);
  color-scheme: var(--brb-color-scheme, light);
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--brb-font-heading);
  margin: 0 0 1.25rem;
  line-height: 1.1;
  letter-spacing: -0.045em;
  font-weight: 600;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
h1,
.has-hero-font-size {
  font-size: clamp(
    calc(42px * var(--brb-heading-scale)),
    calc(5.6vw * var(--brb-heading-scale)),
    calc(80px * var(--brb-heading-scale))
  );
}
h2,
.has-x-large-font-size {
  font-size: clamp(
    calc(30px * var(--brb-heading-scale)),
    calc(3.6vw * var(--brb-heading-scale)),
    calc(52px * var(--brb-heading-scale))
  );
}
h3 {
  font-size: clamp(
    calc(21px * var(--brb-heading-scale)),
    calc(2vw * var(--brb-heading-scale)),
    calc(28px * var(--brb-heading-scale))
  );
}
h4 {
  font-size: clamp(20px, 1.7vw, 24px);
}
h5 {
  font-size: clamp(18px, 1.4vw, 20px);
}
h6 {
  font-size: max(16px, var(--brb-text-size));
}
:is(h4, h5, h6) {
  line-height: 1.3;
  letter-spacing: -0.025em;
}
.has-small-font-size {
  font-size: 14px;
}
.has-medium-font-size {
  font-size: var(--brb-text-size);
}
.has-large-font-size {
  font-size: 24px;
}
p {
  margin: 0 0 1.25rem;
}
/* El flujo de WordPress pone el margen final a cero. Definimos el ritmo del
 * contenido antes de los componentes, que pueden ajustar su propio espacio. */
.brb-section :is(h1, h2) {
  margin-block-end: 20px;
  line-height: 1.15;
}
.brb-section :is(h3, h4, h5, h6) {
  margin-block-end: 12px;
  line-height: 1.28;
  letter-spacing: -0.025em;
}
.brb-section p {
  margin-block-end: 1em;
}
.brb-section :where(.wp-block-group__inner-container) > :last-child {
  margin-block-end: 0;
}
a {
  color: inherit;
  text-underline-offset: 0.22em;
}
img {
  max-width: 100%;
  height: auto;
}
figure {
  margin-inline: 0;
}
button,
input,
select,
textarea {
  font: inherit;
}
button {
  cursor: pointer;
  color: inherit;
}
:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}
svg {
  flex-shrink: 0;
  vertical-align: middle;
}
[hidden] {
  display: none !important;
}
.has-accent-color {
  color: var(--brb-accent);
}
.has-accent-background-color {
  background-color: var(--brb-accent);
}
.has-accent-ink-color {
  color: var(--brb-accent-ink);
}
.has-accent-ink-background-color {
  background-color: var(--brb-accent-ink);
}
.has-ink-color {
  color: var(--brb-ink);
}
.has-ink-background-color {
  background-color: var(--brb-ink);
}
.has-paper-color {
  color: var(--brb-paper);
}
.has-paper-background-color {
  background-color: var(--brb-paper);
}
.has-surface-color {
  color: var(--brb-surface);
}
.has-surface-background-color {
  background-color: var(--brb-surface);
}
.has-white-color {
  color: #fff;
}
.has-white-background-color {
  background-color: #fff;
}

/* Botones: el color, la flecha y el movimiento se comparten con el editor. */
.wp-block-button,
.brb-button {
  --brb-button-fill: var(--brb-accent);
  --brb-button-ink: var(--brb-accent-ink);
  --brb-button-outline: var(--brb-button-fill);
}
.wp-block-button.brb-button-color-ink {
  --brb-button-fill: var(--brb-ink);
  --brb-button-ink: var(--brb-paper);
}
.wp-block-button.brb-button-color-light {
  --brb-button-fill: #fff;
  --brb-button-ink: #151515;
}
.wp-block-button.brb-button-color-dark {
  --brb-button-fill: #151515;
  --brb-button-ink: #fff;
}
.brb-button,
.wp-block-button__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: var(--brb-button-padding) 24px;
  min-height: 48px;
  border: 1px solid var(--brb-button-fill);
  border-radius: var(--brb-button-radius);
  background-color: var(--brb-button-fill);
  color: var(--brb-button-ink);
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  transition:
    background-color var(--brb-hover-duration) ease,
    border-color var(--brb-hover-duration) ease,
    color var(--brb-hover-duration) ease,
    transform var(--brb-hover-duration) var(--brb-ease),
    filter var(--brb-hover-duration) ease,
    box-shadow var(--brb-hover-duration) ease;
}
.brb-button:is(:hover, :focus-visible),
.wp-block-button__link:is(:hover, :focus-visible) {
  /* Native Gutenberg colors may be inline or !important preset utilities. */
  background: color-mix(
    in srgb,
    var(--brb-button-fill) var(--brb-button-hover-fill),
    transparent
  ) !important;
  color: color-mix(
    in srgb,
    var(--brb-button-ink) var(--brb-button-hover-fill),
    var(--brb-button-outline)
  ) !important;
  border-color: color-mix(in srgb, var(--brb-button-fill) var(--brb-button-hover-fill), var(--brb-button-outline));
}
.wp-block-button[class*="brb-button-color-"] .wp-block-button__link {
  background: var(--brb-button-fill);
  color: var(--brb-button-ink);
}
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 1px solid var(--brb-button-outline);
  color: var(--brb-button-outline) !important;
}
.wp-block-button.is-style-outline
  .wp-block-button__link:is(:hover, :focus-visible) {
  background: var(--brb-button-fill) !important;
  color: var(--brb-button-ink) !important;
  border-color: var(--brb-button-fill);
}
/* El foco se distingue también cuando el botón cambia a texto oscuro. */
:is(.brb-button, .wp-block-button__link, .brb-slider-control):focus-visible,
.brb-cta .brb-contact-list a:focus-visible {
  outline: 2px solid var(--brb-ink);
  outline-offset: 4px;
  box-shadow: 0 0 0 4px var(--brb-paper);
}
.wp-block-button.brb-button-color-light .wp-block-button__link:focus-visible {
  outline-color: #fff;
  box-shadow: 0 0 0 4px #151515;
}
.wp-block-button:is(.is-style-brb-arrow, .brb-button-arrow)
  .wp-block-button__link {
  padding-inline: 24px;
}
.brb-button-icon,
.wp-block-button:is(.is-style-brb-arrow, .brb-button-arrow)
  .wp-block-button__link::after {
  content: "";
  display: inline-block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: currentColor;
  mask: var(--brb-arrow) center/contain no-repeat;
  transition: transform var(--brb-hover-duration) cubic-bezier(0.2, 0.7, 0.2, 1);
}
.brb-button:is(:hover, :focus-visible) .brb-button-icon,
.wp-block-button:is(.is-style-brb-arrow, .brb-button-arrow)
  .wp-block-button__link:is(:hover, :focus-visible)::after {
  transform: translateX(3px);
}
.wp-block-buttons {
  gap: 12px;
}
/* Hover behavior is independent of the native fill, outline, arrow or text style. */
.brb-hover-soft {
  --brb-button-hover-fill: 0%;
  --brb-button-hover-y: 0px;
  --brb-button-hover-contrast: 1;
  --brb-button-hover-shadow: none;
}
.brb-hover-contrast {
  --brb-button-hover-fill: 100%;
  --brb-button-hover-y: 0px;
  --brb-button-hover-contrast: 1.2;
  --brb-button-hover-shadow: none;
}
.brb-hover-lift {
  --brb-button-hover-fill: 0%;
  --brb-button-hover-y: -2px;
  --brb-button-hover-contrast: 1;
  --brb-button-hover-shadow: 0 6px 16px rgb(0 0 0 / 18%);
}
@media (hover: hover) {
  :is(
      .brb-button,
      .wp-block-button__link,
      .brb-article-cta-link,
      .brb-cta .brb-contact-list a,
      .brb-blog-search button
    ):not(.brb-card-target):hover {
    transform: translateY(
      calc(var(--brb-button-hover-y) * var(--brb-interaction-motion))
    );
    filter: contrast(var(--brb-button-hover-contrast));
  }
  :is(
      .brb-button,
      .wp-block-button__link,
      .brb-article-cta-link,
      .brb-cta .brb-contact-list a,
      .brb-blog-search button
    ):not(.brb-card-target):hover:not(:focus-visible) {
    box-shadow: var(--brb-button-hover-shadow);
  }
}
@media (prefers-reduced-motion: reduce) {
  :root,
  .editor-styles-wrapper {
    --brb-interaction-motion: 0 !important;
  }
}

/* Contenedores de bloque: ritmo vertical, sin calc() de página. */
.brb-section,
.is-style-brb-section {
  --brb-section-gutter: 24px;
  padding-block: var(--brb-section-space);
  padding-inline: var(--brb-section-gutter);
  margin-block: 0;
}
/* Una sección completa dentro de otra conserva el fondo hasta el borde local.
 * El contenedor cede su margen a los hijos, sin escapar de columnas o tarjetas. */
:is(.brb-section, .is-style-brb-section):has(> .alignfull:is(.brb-section, .is-style-brb-section), > .wp-block-group__inner-container > .alignfull:is(.brb-section, .is-style-brb-section)) {
  padding-inline: 0;
}
:is(.brb-section, .is-style-brb-section):has(> .alignfull:is(.brb-section, .is-style-brb-section)) > :not(.alignfull:is(.brb-section, .is-style-brb-section), .brb-logos--full),
:is(.brb-section, .is-style-brb-section):has(> .wp-block-group__inner-container > .alignfull:is(.brb-section, .is-style-brb-section)) > .wp-block-group__inner-container > :not(.alignfull:is(.brb-section, .is-style-brb-section), .brb-logos--full) {
  margin-inline: var(--brb-section-gutter);
}
@media (max-width: 640px) {
  :is(.brb-section, .is-style-brb-section) { --brb-section-gutter: 18px; }
}
/* A full-width divider reaches the local section edges, including in columns.
 * Other children keep the section gutter; no viewport-width breakout is used. */
:is(.brb-section, .is-style-brb-section):has(> .brb-section-divider.alignfull, > .wp-block-group__inner-container > .brb-section-divider.alignfull) {
  padding-inline: 0;
}
:where(:is(.brb-section, .is-style-brb-section):has(> .brb-section-divider.alignfull)) > :where(:not(.brb-section-divider.alignfull, .wp-block-group__inner-container)),
:where(:is(.brb-section, .is-style-brb-section):has(> .wp-block-group__inner-container > .brb-section-divider.alignfull)) > .wp-block-group__inner-container > :where(:not(.brb-section-divider.alignfull)) {
  margin-inline: var(--brb-section-gutter);
}
:is(.brb-section, .is-style-brb-section):has(> .brb-section-divider.alignfull:last-child, > .wp-block-group__inner-container > .brb-section-divider.alignfull:last-child) {
  padding-block-end: 0;
}
.brb-eyebrow {
  margin-bottom: 22px;
  font: 600 13px/1.5 var(--brb-font-body);
  letter-spacing: 0;
  text-transform: none;
  color: var(--brb-muted);
}
.brb-lead {
  max-width: 54ch;
  font-size: clamp(17px, 1.5vw, 19px);
  line-height: 1.65;
  color: var(--brb-muted);
}
.brb-hero {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 64px;
  align-items: center;
}
.brb-hero .wp-block-buttons {
  margin-top: 30px;
}
.brb-hero-note {
  margin: 28px 0 0;
  font-size: 12px;
}
.brb-hero-visual {
  min-height: 440px;
  background: var(--brb-surface);
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}
.brb-visual-label {
  font:
    500 10px/1.5 ui-monospace,
    monospace;
  letter-spacing: 0.1em;
  margin: 0;
}
.brb-orbit {
  width: 260px;
  height: 260px;
  border: 1px solid var(--brb-line);
  border-radius: 50%;
  align-self: center;
  display: grid;
  place-items: center;
  position: relative;
}
.brb-orbit::before,
.brb-orbit::after {
  content: "";
  position: absolute;
  inset: 24px;
  border: 1px solid var(--brb-line);
  border-radius: 50%;
}
.brb-orbit::after {
  inset: 48px;
  background: var(--brb-accent);
  border: 0;
}
.brb-orbit p {
  position: relative;
  z-index: 1;
  font-size: 100px;
  line-height: 1;
  margin: 0;
  color: var(--brb-accent-ink);
  transition: transform var(--brb-duration) var(--brb-ease);
}
.brb-hero-visual:hover .brb-orbit p {
  transform: translate(8px, -8px);
}
.brb-visual-foot {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  border-top: 1px solid var(--brb-line);
  padding-top: 18px;
  font-size: 11px;
}
.brb-visual-foot span {
  font-family: ui-monospace, monospace;
  font-size: 10px;
}
.brb-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 48px;
}
.is-style-brb-card {
  position: relative;
  padding: clamp(26px, 3vw, 44px);
  border: 1px solid var(--brb-line);
  background: var(--brb-panel);
  border-radius: var(--brb-radius);
  transition:
    border-color var(--brb-hover-duration),
    background-color var(--brb-hover-duration);
}
.is-style-brb-card:has(a[href]):is(:hover, :focus-within) {
  transform: none;
  border-color: color-mix(in srgb, var(--brb-ink) 40%, transparent);
}
.is-style-brb-card:not(.is-style-brb-glass, .is-style-brb-glass-dark):has(a[href]):is(:hover, :focus-within) {
  background: color-mix(in srgb, var(--brb-paper) 85%, var(--brb-surface));
}
.is-style-brb-card h3 {
  font-size: calc(26px * var(--brb-heading-scale));
  max-width: 16ch;
}
.is-style-brb-card p {
  font-size: 15px;
}
.is-style-brb-card p:last-child {
  margin-bottom: 0;
}
.brb-card-number {
  margin: 0 0 32px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--brb-line);
  color: var(--brb-muted);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
.brb-process {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  background: var(--brb-panel);
}
.brb-process-steps h3 {
  font-size: calc(19px * var(--brb-heading-scale));
  letter-spacing: -0.02em;
}
.brb-process-steps p {
  font-size: 15px;
  border-bottom: 1px solid var(--brb-line);
  padding-bottom: 24px;
  margin-bottom: 24px;
}
.brb-cta {
  position: relative;
  background: var(--brb-panel);
  color: var(--brb-ink);
  border-top: 1px solid var(--brb-line);
}
.brb-cta p:not(.brb-eyebrow) {
  max-width: 52ch;
  color: var(--brb-muted);
}
.brb-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}
.brb-contact-list a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  max-width: 100%;
  font-size: 14px;
}
.brb-contact-list span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.brb-contact-list a:hover {
  text-decoration: underline;
}
.brb-cta .brb-contact-list {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 28px;
}
.brb-cta .brb-contact-list a {
  --brb-button-fill: var(--brb-accent);
  --brb-button-ink: var(--brb-accent-ink);
  background: var(--brb-accent);
  color: var(--brb-accent-ink);
  border: 1px solid var(--brb-accent);
  padding: var(--brb-button-padding) 24px;
  border-radius: var(--brb-button-radius);
  min-height: 48px;
  font-weight: 700;
  transition:
    background var(--brb-hover-duration),
    color var(--brb-hover-duration),
    transform var(--brb-hover-duration),
    filter var(--brb-hover-duration),
    box-shadow var(--brb-hover-duration);
}
.brb-cta .brb-contact-list a:is(:hover, :focus-visible) {
  background: color-mix(
    in srgb,
    var(--brb-accent) var(--brb-button-hover-fill),
    transparent
  );
  color: color-mix(
    in srgb,
    var(--brb-accent-ink) var(--brb-button-hover-fill),
    var(--brb-accent)
  );
  text-decoration: none;
}

/* Banner: bloque Cover nativo, fondo editable y contenido legible. */
.brb-banner {
  min-height: 580px;
  position: relative;
}
.brb-banner .wp-block-cover__inner-container {
  position: relative;
  z-index: 1;
}
.brb-banner h2 {
  max-width: 20ch;
  font-size: clamp(
    calc(36px * var(--brb-heading-scale)),
    calc(4.8vw * var(--brb-heading-scale)),
    calc(68px * var(--brb-heading-scale))
  );
}
.brb-banner p:not(.brb-eyebrow) {
  max-width: 54ch;
  opacity: 1;
}
.brb-banner .wp-block-buttons {
  margin-top: 32px;
}

/* FAQ: Details nativo con filas abiertas y una señal discreta de interacción. */
.brb-faq-layout {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 80px;
  align-items: start;
}
.brb-faq-intro p:not(.brb-eyebrow) {
  font-size: 16px;
  max-width: 36ch;
  color: var(--brb-muted);
}
:is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) {
  border: 0;
  border-bottom: 1px solid var(--brb-line);
  background: transparent;
  border-radius: 0;
  margin: 0;
  transition: border-color var(--brb-hover-duration);
}
:is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary {
  position: relative;
  padding: 27px 48px 27px 0;
  list-style: none;
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
  transition: text-decoration-color var(--brb-hover-duration) ease;
}
:is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary:is(:hover, :focus-visible) {
  text-decoration-color: currentColor;
}
:is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary:focus-visible {
  outline-offset: 4px;
  border-radius: 4px;
}
:is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary::-webkit-details-marker {
  display: none;
}
:is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary::before,
:is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary::after {
  content: "";
  position: absolute;
  right: 8px;
  top: calc(50% - 1px);
  width: 14px;
  height: 1px;
  background: currentColor;
  transition: transform var(--brb-hover-duration) var(--brb-ease);
}
:is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary::after {
  transform: rotate(90deg);
}
:is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure)[open] > summary::after {
  transform: rotate(0);
}
:is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > :not(summary) {
  margin: 0 48px 28px 0;
  font-size: max(16px, calc(var(--brb-text-size) - 1px));
  line-height: 1.65;
  color: var(--brb-muted);
  max-width: 60ch;
}

/* Slider: bloques Group normales. Las tarjetas se editan y duplican en Gutenberg. */
.brb-slider {
  position: relative;
}
.brb-slider-track {
  display: flex;
  gap: var(--brb-slider-gap);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: none;
  scrollbar-width: thin;
  padding: 8px 0 24px;
}
:is(.brb-slider-track, .brb-layout-strip, .brb-layout-strip > .wp-block-group__inner-container).is-draggable {
  cursor: grab;
  scroll-snap-type: none;
}
.brb-slider-track:focus-visible {
  outline-offset: -3px;
  border-radius: 4px;
}
:is(.brb-slider-track, .brb-layout-strip, .brb-layout-strip > .wp-block-group__inner-container).is-dragging {
  cursor: grabbing;
  user-select: none;
  scroll-snap-type: none;
  scroll-behavior: auto;
}
:is(.brb-slider-track, .brb-layout-strip, .brb-layout-strip > .wp-block-group__inner-container).is-dragging * {
  cursor: grabbing !important;
}
.brb-slider.is-enhanced .brb-slider-track,
.wp-block-group.brb-layout-strip.is-enhanced,
.brb-layout-strip.is-enhanced > .wp-block-group__inner-container {
  scrollbar-width: none;
}
.brb-slider.is-enhanced .brb-slider-track::-webkit-scrollbar,
.brb-layout-strip.is-enhanced::-webkit-scrollbar,
.brb-layout-strip.is-enhanced > .wp-block-group__inner-container::-webkit-scrollbar {
  display: none;
}
.brb-slide {
  flex: 0 0
    calc(
      (100% - (var(--brb-slider-columns) - 1) * var(--brb-slider-gap)) /
        var(--brb-slider-columns)
    );
  min-width: 0;
  scroll-snap-align: none;
  padding: 32px;
  border: 1px solid var(--brb-line);
  background: var(--brb-panel);
  border-radius: var(--brb-radius);
}
.brb-slide .brb-eyebrow {
  font-size: 10px;
}
.brb-slide h3 {
  font-size: calc(25px * var(--brb-heading-scale));
}
.brb-slide p:last-child {
  margin-bottom: 0;
  font-size: 15px;
}
.brb-slider-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 26px;
}
.brb-strip-controls { grid-column: 1 / -1; }
.brb-strip-controls[hidden] { display: none; }
.brb-slider-control {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid var(--brb-line);
  border-radius: 50%;
  background: transparent;
  transition:
    background var(--brb-hover-duration),
    color var(--brb-hover-duration);
}
.brb-slider-control:is(:hover, :focus-visible):not(:disabled) {
  background: var(--brb-ink);
  color: var(--brb-paper);
}
.brb-slider-control:disabled {
  opacity: 0.3;
  cursor: default;
}
.brb-slider-pause {
  width: auto;
  padding-inline: 16px;
  border-radius: 99px;
  font-size: 12px;
}

/* Elementos globales: apariencia de los bloques, sin posición de la página. */
.brb-identity {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.2;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.brb-logo {
  width: auto;
  max-width: var(--brb-logo-width, 220px);
  max-height: 56px;
  display: block;
}
.brb-header-inner,
.brb-header-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.brb-footer-top {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 48px;
}
.brb-footer-top > * {
  min-width: 0;
}
.brb-footer-brand p {
  font-size: 14px;
  margin-top: 20px;
}
.brb-copyright {
  margin: 0;
  padding-top: 24px;
  border-top: 1px solid color-mix(in srgb, currentColor 25%, transparent);
  font-size: 11px;
}
.brb-global-block-preview {
  min-width: 40px;
}
.brb-block-caption {
  display: block;
  font-size: 10px;
  color: #646970;
  margin-top: 6px;
  letter-spacing: 0;
}

/* Compatibilidad con el contenedor que imprime Group en temas clásicos. */
:is(
    .brb-hero,
    .brb-hero-visual,
    .brb-orbit,
    .brb-card-grid,
    .brb-process,
    .brb-faq-layout,
    .brb-header-inner,
    .brb-header-actions,
    .brb-footer-top,
    .brb-slider-track
  )
  > .wp-block-group__inner-container {
  display: contents;
}

@media (max-width: 1100px) {
  :root {
    --brb-section-base: 80px;
  }
  .brb-hero {
    gap: 40px;
  }
  .brb-process,
  .brb-faq-layout {
    gap: 48px;
  }
  .brb-card-grid {
    gap: 18px;
  }
  .brb-slide {
    flex-basis: calc((100% - var(--brb-slider-gap)) / 2);
  }
}
@media (max-width: 781px) {
  :root {
    --brb-section-base: 64px;
  }
  .brb-hero,
  .brb-process,
  .brb-faq-layout {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .brb-hero-visual {
    min-height: 380px;
  }
  .brb-card-grid {
    grid-template-columns: 1fr;
  }
  .brb-footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
  .brb-footer-brand {
    grid-column: 1/-1;
  }
  .brb-card-number {
    margin-bottom: 28px;
  }
}
@media (max-width: 500px) {
  :root {
    --brb-section-base: 48px;
  }
  .brb-slide {
    flex-basis: var(--brb-slider-mobile-width);
    padding: 26px;
  }
  .brb-hero-visual {
    padding: 24px;
  }
  .brb-orbit {
    width: 220px;
    height: 220px;
  }
  .brb-orbit p {
    font-size: 80px;
  }
  .brb-footer-top {
    grid-template-columns: 1fr;
  }
  :is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary {
    padding: 20px 58px 20px 20px;
    font-size: 16px;
  }
  :is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary::before,
  :is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary::after {
    right: 22px;
  }
  .brb-banner {
    min-height: 420px;
  }
}
.editor-styles-wrapper .brb-footer-inner {
  padding: 24px;
  background: var(--brb-ink);
  color: var(--brb-paper);
}
.editor-styles-wrapper .brb-menu {
  list-style: none;
  padding: 0;
  font-size: 13px;
}
.editor-styles-wrapper .brb-menu .sub-menu,
.editor-styles-wrapper .brb-mobile-dialog,
.editor-styles-wrapper .brb-menu-toggle,
.editor-styles-wrapper .brb-submenu-toggle {
  display: none;
}
.editor-styles-wrapper .brb-slider-track {
  scroll-snap-type: none;
}
.editor-styles-wrapper .brb-contact-list:empty::after {
  content: "Añade contactos en Apariencia → Opciones del tema";
  font-size: 12px;
}
.editor-styles-wrapper * {
  transition: none !important;
  animation: none !important;
}

/* Los gaps de nuestras rejillas sustituyen el margen automático de WordPress.
 * También afecta a cabecera y carrusel: ningún segundo elemento baja 24px. */
:is(
    .brb-hero,
    .brb-hero-visual,
    .brb-orbit,
    .brb-card-grid,
    .brb-process,
    .brb-faq-layout,
    .brb-header-inner,
    .brb-header-actions,
    .brb-footer-top,
    .brb-slider-track,
    .brb-split,
    .brb-feature-row,
    .brb-feature,
    .brb-phase-list,
    .brb-phase,
    .brb-service-grid,
    .brb-check-grid,
    .brb-check-item,
    .brb-gallery,
    .brb-sector-grid,
    .brb-proof-grid,
    .brb-catalog,
    .brb-catalog-item,
    .brb-step-grid,
    .brb-benefit-grid,
    .brb-logo-grid
  )
  > :not(.wp-block-group__inner-container),
:is(
    .brb-hero,
    .brb-hero-visual,
    .brb-orbit,
    .brb-card-grid,
    .brb-process,
    .brb-faq-layout,
    .brb-header-inner,
    .brb-header-actions,
    .brb-footer-top,
    .brb-slider-track,
    .brb-split,
    .brb-feature-row,
    .brb-feature,
    .brb-phase-list,
    .brb-phase,
    .brb-service-grid,
    .brb-check-grid,
    .brb-check-item,
    .brb-gallery,
    .brb-sector-grid,
    .brb-proof-grid,
    .brb-catalog,
    .brb-catalog-item,
    .brb-step-grid,
    .brb-benefit-grid,
    .brb-logo-grid
  )
  > .wp-block-group__inner-container
  > * {
  margin-block: 0;
}

/* Composiciones: una paleta editable y tratamientos según el tipo de contenido. */
.brb-section :is(h1, h2, h3, h4, p, figure) {
  margin-block-start: 0;
}
.brb-section .brb-card-link {
  margin-block-start: auto;
}
.brb-slide--photo > .wp-block-group__inner-container > .brb-slide-body {
  margin-block-start: 0;
}
:root {
  --brb-radius: 12px;
  --brb-gap: 24px;
}
.brb-section-intro {
  max-width: 60ch;
  font-size: var(--brb-text-size);
  line-height: 1.7;
  color: var(--brb-muted);
  margin-bottom: 0;
}
.brb-section h2 {
  max-width: 24ch;
  text-wrap: pretty;
}
.brb-section h3 {
  text-wrap: pretty;
}
.brb-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(36px, 5vw, 80px);
  align-items: center;
}
.brb-split > *,
.brb-copy {
  min-width: 0;
}
.brb-copy > :last-child,
.brb-copy > .wp-block-group__inner-container > :last-child {
  margin-bottom: 0;
}
.brb-copy .wp-block-buttons {
  margin-top: 30px;
}
.brb-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 0;
  background: transparent;
  color: var(--brb-ink);
  margin: 0 0 28px;
}
.brb-icon .igb-iconos__shape {
  background-color: var(--igb-icon-color, currentColor);
}
.brb-icon > .wp-block-group__inner-container {
  width: auto;
}
/* Let the native icon size establish an intrinsic width, including classic wrappers. */
.brb-icon:has(.igb-iconos) {
  width: fit-content;
  height: auto;
  min-width: 40px;
  min-height: 40px;
  max-width: 100%;
  flex: 0 0 auto;
}
.brb-icon .igb-iconos {
  width: var(--igb-icon-size, 24px);
  max-width: 100%;
}

/* Las filas se igualan por su contenido mayor, sin alturas fijas ni recortes. */
.brb-card-grid,
.brb-service-grid,
.brb-sector-grid,
.brb-benefit-grid {
  grid-auto-rows: 1fr;
  align-items: stretch;
}
.brb-benefit-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 32px;
  margin-top: 48px;
}
.is-style-brb-card,
.brb-service-card,
.brb-benefit,
.brb-slide {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-radius: var(--brb-radius);
}
:is(
    .is-style-brb-card,
    .brb-service-card,
    .brb-benefit,
    .brb-slide,
    .brb-slide-body
  )
  > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
:is(.is-style-brb-card, .brb-service-card, .brb-slide-body) h3 {
  min-block-size: 0;
  margin-bottom: 16px;
  line-height: 1.25;
}
.brb-card-description {
  flex: 1;
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--brb-muted);
}
/* Align descriptions in service grids, while long titles can still grow. */
@media (min-width: 782px) {
  .brb-card-grid > .is-style-brb-card > h3,
  .brb-card-grid > .wp-block-group__inner-container > .is-style-brb-card > h3,
  .brb-card-grid .is-style-brb-card > .wp-block-group__inner-container > h3 {
    min-block-size: 2.5em;
  }
}
.brb-card-link {
  margin: auto 0 0;
  padding-top: 32px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
}
.brb-card-link a {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 44px;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 5px;
  transition: text-decoration-color var(--brb-hover-duration);
}
.brb-card-link a::after {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background: currentColor;
  mask: var(--brb-arrow) center/contain no-repeat;
  transition: transform var(--brb-hover-duration) ease;
}
.brb-card-link a:is(:hover, :focus-visible)::after {
  transform: translateX(3px);
}
.brb-card-link a:is(:hover, :focus-visible) {
  text-decoration: underline;
}

/* Portada fotográfica y presentación con tarjeta superpuesta. */
.brb-photo-hero .brb-split {
  grid-template-columns: 1.14fr 1fr;
}
.brb-photo-hero h1 {
  font-size: clamp(
    calc(36px * var(--brb-heading-scale)),
    calc(4.3vw * var(--brb-heading-scale)),
    calc(60px * var(--brb-heading-scale))
  );
}
.brb-photo-stack {
  position: relative;
  padding: 24px 0 40px 44px;
}
.brb-photo-stack::before {
  content: "";
  position: absolute;
  inset: 10px 12px 54px 30px;
  border: 1px solid var(--brb-line);
  border-radius: var(--brb-radius);
}
.brb-photo-main {
  margin: 0;
}
.brb-photo-main img {
  display: block;
  width: 100%;
  aspect-ratio: 4/4.4;
  object-fit: cover;
  border-radius: var(--brb-radius);
}
.brb-photo-detail {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 48%;
  margin: 0;
}
.brb-photo-detail img {
  display: block;
  width: 100%;
  aspect-ratio: 1.4;
  object-fit: cover;
  border: 7px solid var(--brb-paper);
  border-radius: var(--brb-radius);
  box-shadow: 0 16px 30px #0000001a;
}
.brb-photo-chip {
  position: absolute;
  top: 0;
  right: 16px;
  padding: 18px 22px;
  background: var(--brb-ink);
  color: var(--brb-paper);
  border-radius: 6px;
}
.brb-photo-chip .brb-eyebrow {
  font-size: 9px;
  margin-bottom: 5px;
}
.brb-photo-chip p:last-child {
  font-size: 14px;
  margin: 0;
  font-weight: 600;
}
.brb-feature-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 32px;
  padding-top: 0;
  border-top: 0;
}
.brb-feature {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.brb-feature .brb-icon {
  margin: 0;
  min-width: 0;
  min-height: 0;
  width: 24px;
  height: 24px;
  flex-basis: 24px;
  color: var(--brb-muted);
}
.brb-feature p {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
}
.brb-story {
  background: var(--brb-panel);
}
.brb-story-media {
  position: relative;
  padding: 0;
}
.brb-story-media figure {
  margin: 0;
}
.brb-story-media img {
  display: block;
  width: 100%;
  aspect-ratio: 1.12;
  object-fit: cover;
  border-radius: var(--brb-radius);
}
.brb-media-caption {
  position: relative;
  right: auto;
  bottom: auto;
  width: 100%;
  margin-top: 20px;
  padding: 0 0 0 18px;
  border-left: 2px solid var(--brb-accent);
  border-radius: 0;
  background: transparent;
  color: inherit;
}
.brb-media-caption .brb-eyebrow {
  font-size: 12px;
  margin-bottom: 6px;
}
.brb-media-caption p:last-child {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  margin: 0;
  max-width: 36ch;
}

/* Lista de fases y rejilla de servicios sobre Cover. */
.brb-phase-list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--brb-line);
}
.brb-phase {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 24px;
  padding: 26px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--brb-line);
  border-radius: 0;
}
.brb-phase .brb-icon {
  margin: 0;
}
.brb-phase .brb-eyebrow {
  margin-bottom: 6px;
  font-size: 12px;
}
.brb-phase h3 {
  font-size: calc(20px * var(--brb-heading-scale));
  margin-bottom: 8px;
}
.brb-phase p:last-child {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}
:is(.brb-banner, .brb-services-background, .brb-assurance, .brb-sector-card) {
  --brb-muted: #e2e2e2;
  color: var(--brb-on-photo);
}
.brb-services-background .brb-section-intro {
  opacity: 0.85;
}
.brb-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 48px;
}
.brb-service-card {
  position: relative;
  padding: 32px;
  background: var(--brb-paper);
  color: var(--brb-ink);
  --brb-muted: var(--brb-ink);
  border: 1px solid var(--brb-line);
  transition: border-color var(--brb-hover-duration);
}
.brb-service-card:has(a[href]):is(:hover, :focus-within) {
  transform: none;
  border-color: var(--brb-ink);
}
.brb-service-card h3 {
  font-size: calc(23px * var(--brb-heading-scale));
}

/* Capacidades, galería y tarjetas de fotografía con enlaces alineados. */
.brb-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
  margin: 36px 0;
}
.brb-check-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 0;
  border: 0;
  border-bottom: 1px solid var(--brb-line);
  border-radius: 0;
  background: transparent;
}
.brb-check-item .brb-icon {
  margin: 0;
  min-width: 0;
  min-height: 0;
  width: 24px;
  height: 24px;
  flex-basis: 24px;
  color: var(--brb-ink);
}
.brb-check-item p {
  font-size: 15px;
  margin: 0;
}
.brb-gallery {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  grid-template-rows: repeat(2, clamp(180px, 18vw, 260px));
  gap: 16px;
  margin-top: 44px;
}
.brb-gallery figure {
  margin: 0;
  height: 100%;
  overflow: hidden;
  border-radius: min(var(--brb-radius), 8px);
}
.brb-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--brb-duration) var(--brb-ease);
}
.brb-gallery figure.brb-has-lightbox:is(:hover, :focus-within) img {
  transform: scale(1.02);
}
.brb-gallery-tall {
  grid-row: span 2;
}
.brb-sector-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 40px;
}
.brb-sector-card {
  position: relative;
  padding: 30px;
  min-height: 440px;
  border-radius: var(--brb-radius);
  overflow: hidden;
}
.brb-sector-card .wp-block-cover__inner-container {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex: 1;
  align-self: stretch;
}
.brb-sector-card h3 {
  font-size: calc(28px * var(--brb-heading-scale));
  min-block-size: 2.36em;
  margin-bottom: 16px;
}
.brb-sector-card .brb-eyebrow {
  font-size: 9px;
  margin-bottom: 32px;
}
.brb-sector-card .wp-block-cover__image-background {
  transition: transform var(--brb-duration) var(--brb-ease);
}
.brb-sector-card:has(a[href]):is(:hover, :focus-within)
  .wp-block-cover__image-background {
  transform: scale(1.04);
}
.brb-sector-card .brb-card-link {
  border-top: 1px solid #ffffff40;
  padding-top: 18px;
  margin-top: 24px;
}

/* Opt-in photo treatments, also available on existing Cover patterns. */
.wp-block-cover.brb-card-tilt-left { rotate: -2deg; }
.wp-block-cover.brb-card-tilt-right { rotate: 2deg; }
.wp-block-cover.brb-cover-shade-bottom > .wp-block-cover__background {
  mask-image: linear-gradient(to bottom, transparent 15%, #000 100%);
}
.brb-cover-title-link-hover .wp-block-heading a {
  text-decoration-color: transparent;
  transition: text-decoration-color var(--brb-hover-duration) ease;
}
.brb-cover-title-link-hover:is(:hover, :focus-within) .wp-block-heading a {
  text-decoration-color: currentColor;
}

/* Destacados, catálogo numerado, proceso y ventajas. */
.brb-proof-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.brb-proof {
  padding: 30px;
  background: var(--brb-paper);
  color: var(--brb-ink);
  border-radius: var(--brb-radius);
  --brb-muted: var(--brb-ink);
}
.brb-proof--accent {
  background: var(--brb-accent);
  color: var(--brb-accent-ink);
  --brb-muted: currentColor;
}
.brb-proof--wide {
  grid-column: 1/-1;
}
.brb-proof-value {
  font-size: clamp(
    calc(25px * var(--brb-heading-scale)),
    calc(3vw * var(--brb-heading-scale)),
    calc(38px * var(--brb-heading-scale))
  );
  line-height: 1.1;
  letter-spacing: -0.04em;
  font-weight: 600;
}
.brb-proof p:last-child {
  margin: 0;
  font-size: 14px;
}
.brb-proof h3 {
  font-size: calc(24px * var(--brb-heading-scale));
}
.brb-catalog-section {
  background: var(--brb-panel);
}
.brb-catalog {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--brb-line);
}
.brb-catalog-item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 20px;
  padding: 30px 0;
  border: 0;
  border-bottom: 1px solid var(--brb-line);
  border-radius: 0;
  background: transparent;
}
.brb-catalog-number {
  grid-column: 2;
  grid-row: 1 / span 2;
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  color: var(--brb-muted);
  margin: 0;
  align-self: center;
  font-variant-numeric: tabular-nums;
}
.brb-catalog-item h3 {
  grid-column: 1;
  font-size: 23px;
  margin: 0;
}
.brb-catalog-item .brb-card-link {
  grid-column: 1;
  padding-top: 12px;
}
.brb-step-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 44px 40px;
  margin-top: 48px;
}
.brb-step-number {
  display: block;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  font: 500 14px/1.5 var(--brb-font-body);
  font-variant-numeric: tabular-nums;
  color: var(--brb-muted);
  margin-bottom: 30px;
}
.brb-step h3 {
  font-size: calc(23px * var(--brb-heading-scale));
  line-height: 1.2;
  margin-bottom: 12px;
}
.brb-step p:last-child {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 0;
  max-width: 34ch;
  color: var(--brb-muted);
}
.brb-benefits-section {
  background: var(--brb-panel);
}

.brb-benefit:where(:not(.is-style-brb-card, .is-style-brb-glass, .is-style-brb-glass-dark)) {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.brb-benefit h3 {
  font-size: calc(21px * var(--brb-heading-scale));
}
.brb-benefit p:last-child {
  font-size: 14px;
  margin: 0;
  line-height: 1.7;
  color: var(--brb-muted);
}
.brb-logo-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px;
  margin-top: 48px;
}
.brb-logo-grid figure {
  display: grid;
  place-items: center;
  padding: 20px;
  margin: 0;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: min(var(--brb-radius), 8px);
  min-height: 112px;
}
.brb-logo-grid img {
  width: 100%;
  height: 60px;
  object-fit: contain;
}

/* Carrusel fotográfico: imagen uniforme, cuerpo flexible y enlace al pie. */
.brb-slide--photo {
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.brb-slide--photo:has(a[href]):is(:hover, :focus-within) {
  border-color: var(--brb-ink);
}
.brb-slide--photo figure {
  margin: 0;
}
.brb-slide--photo img {
  display: block;
  width: 100%;
  aspect-ratio: 1.35;
  object-fit: cover;
  border-radius: var(--brb-radius);
  transition: filter var(--brb-hover-duration);
}
.brb-slide-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 26px 4px 0;
}
.brb-slide-body h3 {
  font-size: calc(26px * var(--brb-heading-scale));
}
.brb-slide-body .brb-card-link {
  font-size: 14px;
  padding-top: 22px;
}

/* Group clásico y envoltorios de edición conservan la misma rejilla. */
:is(
    .brb-split,
    .brb-feature-row,
    .brb-feature,
    .brb-phase-list,
    .brb-phase,
    .brb-service-grid,
    .brb-check-grid,
    .brb-check-item,
    .brb-gallery,
    .brb-sector-grid,
    .brb-proof-grid,
    .brb-catalog,
    .brb-catalog-item,
    .brb-step-grid,
    .brb-benefit-grid,
    .brb-logo-grid
  )
  > .wp-block-group__inner-container {
  display: contents;
}
.editor-styles-wrapper
  :is(
    .brb-split,
    .brb-feature-row,
    .brb-feature,
    .brb-phase-list,
    .brb-phase,
    .brb-service-grid,
    .brb-check-grid,
    .brb-check-item,
    .brb-gallery,
    .brb-sector-grid,
    .brb-proof-grid,
    .brb-catalog,
    .brb-catalog-item,
    .brb-step-grid,
    .brb-benefit-grid,
    .brb-logo-grid,
    .brb-card-grid,
    .brb-slider-track
  )
  > .block-editor-inner-blocks,
.editor-styles-wrapper
  :is(
    .brb-split,
    .brb-feature-row,
    .brb-feature,
    .brb-phase-list,
    .brb-phase,
    .brb-service-grid,
    .brb-check-grid,
    .brb-check-item,
    .brb-gallery,
    .brb-sector-grid,
    .brb-proof-grid,
    .brb-catalog,
    .brb-catalog-item,
    .brb-step-grid,
    .brb-benefit-grid,
    .brb-logo-grid,
    .brb-card-grid,
    .brb-slider-track
  )
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout {
  display: contents;
}
.editor-styles-wrapper .brb-photo-detail {
  position: relative;
  width: 48%;
  margin-top: -80px;
}
.editor-styles-wrapper .brb-photo-chip,
.editor-styles-wrapper .brb-media-caption {
  position: relative;
  width: 100%;
  margin-top: 16px;
  right: auto;
}

@media (max-width: 1100px) {
  .brb-benefit-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .brb-step-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
  }
  .brb-service-card {
    padding: 26px;
  }
  .brb-feature-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .brb-sector-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .brb-logo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 781px) {
  .brb-split,
  .brb-photo-hero .brb-split {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .brb-photo-stack {
    width: min(100%, 560px);
    margin-inline: auto;
    padding-top: 20px;
  }
  .brb-photo-main img {
    aspect-ratio: 1.15;
  }
  .brb-photo-hero h1 {
    font-size: clamp(
      calc(36px * var(--brb-heading-scale)),
      calc(6.5vw * var(--brb-heading-scale)),
      calc(50px * var(--brb-heading-scale))
    );
  }
  .brb-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  .brb-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .brb-check-grid {
    grid-template-columns: 1fr;
  }
  .brb-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }
  .brb-gallery figure {
    aspect-ratio: 1.3;
  }
  .brb-gallery-tall {
    grid-row: auto;
    grid-column: 1/-1;
  }
  .brb-story-media img {
    aspect-ratio: 1.3;
  }
}
@media (max-width: 500px) {
  .brb-service-grid,
  .brb-sector-grid,
  .brb-benefit-grid {
    grid-template-columns: 1fr;
  }
  .brb-step-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 24px;
  }
  .brb-step-number {
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
  }
  .brb-feature-row {
    gap: 20px 16px;
    margin-top: 36px;
  }
  .brb-feature {
    gap: 10px;
    align-items: start;
  }
  .brb-feature p {
    font-size: 12px;
  }
  .brb-feature .brb-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }
  .brb-photo-stack {
    padding-left: 24px;
  }
  .brb-photo-stack::before {
    left: 12px;
  }
  .brb-photo-chip {
    padding: 14px 18px;
    right: 10px;
  }
  .brb-phase {
    padding: 20px;
    gap: 16px;
  }
  .brb-proof-grid {
    gap: 12px;
  }
  .brb-proof {
    padding: 22px;
  }
  .brb-proof-value {
    font-size: 26px;
  }
  .brb-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .brb-logo-grid figure {
    padding: 14px;
    min-height: 80px;
  }
  .brb-sector-card {
    min-height: 340px;
    padding: 28px;
  }
  .brb-slide--photo {
    padding: 0;
  }
  .brb-slide-body {
    padding: 24px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Opciones de diseño compartidas: los estilos de Gutenberg tienen prioridad local. */
:is(.is-style-brb-card, .brb-service-card, .brb-benefit, .brb-slide) {
  box-shadow: var(--brb-card-shadow, none);
}
.brb-space-compact {
  --brb-section-space: calc(var(--brb-section-base) * 0.8);
}
.brb-space-airy {
  --brb-section-space: calc(var(--brb-section-base) * 1.2);
}
.brb-slider-cols-2 {
  --brb-slider-columns: 2;
}
.brb-slider-cols-3 {
  --brb-slider-columns: 3;
}
.brb-slider-cols-4 {
  --brb-slider-columns: 4;
}
.brb-slider-mobile-full {
  --brb-slider-mobile-width: 100%;
}
.brb-slider-mobile-peek {
  --brb-slider-mobile-width: 88%;
}

/* Vidrio: fondo sólido de respaldo y desenfoque solo cuando está disponible. */
:is(.is-style-brb-glass, .is-style-brb-glass-dark):not(.brb-glass-off),
.brb-overlay-glass
  :is(.brb-photo-chip, .brb-media-caption):not(.brb-glass-off) {
  /* Derived palette roles are computed where declared, not where inherited.
   * Rebind them on the glass so secondary text, icons and nested cards use
   * the surface's tone rather than the surrounding page's light/dark tone. */
  --brb-ink: var(--brb-glass-ink, #171717);
  --brb-paper: var(--brb-glass-bg, #ffffff);
  --brb-surface: color-mix(in srgb, var(--brb-paper) 92%, var(--brb-ink));
  --brb-muted: var(--brb-ink);
  --brb-line: color-mix(in srgb, var(--brb-ink) 17%, transparent);
  --brb-panel: color-mix(in srgb, var(--brb-paper) 91%, var(--brb-surface));
  background: var(--brb-glass-bg, var(--brb-paper));
  color: var(--brb-glass-ink, var(--brb-ink));
  border: 1px solid
    color-mix(in srgb, var(--brb-glass-ink, var(--brb-ink)) 16%, transparent);
  border-radius: var(--brb-radius);
  box-shadow: 0 8px 28px #00000012;
}
:is(.is-style-brb-glass, .is-style-brb-glass-dark):not(.brb-glass-off) {
  padding: clamp(24px, 3vw, 40px);
}
/* Keep brand fills, but use the glass ink for transparent default actions.
 * Explicit button palettes and native colors retain the author's choices. */
:is(.is-style-brb-glass, .is-style-brb-glass-dark):not(.brb-glass-off)
  .wp-block-button:not([class*="brb-button-color-"]):not([style*="--brb-button-"]):not(:has(.has-background, .has-text-color)),
.brb-overlay-glass :is(.brb-photo-chip, .brb-media-caption):not(.brb-glass-off)
  .wp-block-button:not([class*="brb-button-color-"]):not([style*="--brb-button-"]):not(:has(.has-background, .has-text-color)) {
  --brb-button-outline: var(--brb-ink);
}
.is-style-brb-glass-dark,
.brb-overlay-glass
  .brb-photo-chip:not(.is-style-brb-glass):not(.brb-glass-off) {
  --brb-glass-bg: #171717;
  --brb-glass-ink: #ffffff;
}
.brb-glass-soft {
  --brb-glass-filter: calc(var(--brb-glass-blur) * 0.6);
  --brb-glass-alpha: min(95%, calc(var(--brb-glass-opacity) + 8%));
}
.brb-glass-strong {
  --brb-glass-filter: min(30px, calc(var(--brb-glass-blur) * 1.4));
  --brb-glass-alpha: max(65%, calc(var(--brb-glass-opacity) - 8%));
}
.brb-glass-demo-card {
  max-width: 420px;
  margin: 0 0 0 auto;
  border-radius: var(--brb-radius);
  padding: clamp(24px, 3vw, 36px);
}
.brb-glass-demo-card h2 {
  color: inherit;
  font-size: clamp(
    calc(26px * var(--brb-heading-scale)),
    calc(2.6vw * var(--brb-heading-scale)),
    calc(32px * var(--brb-heading-scale))
  );
}
.brb-glass-demo-card p {
  max-width: 48ch;
}
@supports (
  (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))
) {
  :is(.is-style-brb-glass, .is-style-brb-glass-dark):not(.brb-glass-off),
  .brb-overlay-glass
    :is(.brb-photo-chip, .brb-media-caption):not(.brb-glass-off) {
    background: color-mix(
      in srgb,
      var(--brb-glass-bg, var(--brb-paper))
        var(--brb-glass-alpha, var(--brb-glass-opacity)),
      transparent
    );
    -webkit-backdrop-filter: blur(
        var(--brb-glass-filter, var(--brb-glass-blur))
      )
      saturate(1.1);
    backdrop-filter: blur(var(--brb-glass-filter, var(--brb-glass-blur)))
      saturate(1.1);
  }
}
@media (prefers-reduced-transparency: reduce) {
  :is(.is-style-brb-glass, .is-style-brb-glass-dark):not(.brb-glass-off),
  .brb-overlay-glass
    :is(.brb-photo-chip, .brb-media-caption):not(.brb-glass-off) {
    background: var(--brb-glass-bg, var(--brb-paper));
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
@media (forced-colors: active) {
  :is(.is-style-brb-glass, .is-style-brb-glass-dark):not(.brb-glass-off),
  .brb-overlay-glass
    :is(.brb-photo-chip, .brb-media-caption):not(.brb-glass-off) {
    background: Canvas;
    color: CanvasText;
    border-color: CanvasText;
    box-shadow: none;
    backdrop-filter: none;
  }
}

.wp-block-button.is-style-brb-text .wp-block-button__link {
  background: transparent !important;
  border: 0;
  color: var(--brb-button-outline) !important;
  padding-inline: 0;
  border-radius: 0;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-color: var(--brb-line);
  transition:
    text-decoration-color var(--brb-hover-duration) ease,
    transform var(--brb-hover-duration) var(--brb-ease),
    filter var(--brb-hover-duration) ease,
    box-shadow var(--brb-hover-duration) ease;
}

.wp-block-button.is-style-brb-text
  .wp-block-button__link:is(:hover, :focus-visible) {
  text-decoration-color: currentColor;
}
.wp-block-button.is-style-brb-text
  .wp-block-button__link:hover:not(:focus-visible) {
  box-shadow: none;
}

.brb-step {
  padding-top: 22px;
  border-top: 1px solid var(--brb-line);
}

.brb-sector-card .brb-card-description {
  flex: 0;
  color: #e2e2e2;
}

:is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure):first-child {
  border-top: 1px solid var(--brb-line);
}

.brb-slide--photo:has(a[href]):is(:hover, :focus-within) img {
  filter: brightness(1.06);
}

.brb-cta h2 {
  max-width: 19ch;
  font-size: clamp(
    calc(38px * var(--brb-heading-scale)),
    calc(5.4vw * var(--brb-heading-scale)),
    calc(76px * var(--brb-heading-scale))
  );
}

/* Portada panorámica: titular y resumen, seguidos de una sola imagen. */
.brb-hero-heading {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: clamp(32px, 8vw, 120px);
  align-items: end;
  margin-bottom: 48px;
}
.brb-hero-heading > .wp-block-group__inner-container {
  display: contents;
}
.brb-hero-heading > *,
.brb-hero-heading > .wp-block-group__inner-container > * {
  margin-block: 0;
  min-width: 0;
}
.brb-photo-hero .brb-hero-heading h1 {
  font-size: clamp(
    calc(42px * var(--brb-heading-scale)),
    calc(5.6vw * var(--brb-heading-scale)),
    calc(80px * var(--brb-heading-scale))
  );
  max-width: 13ch;
  margin: 0;
}
.brb-hero-summary .wp-block-buttons {
  margin-top: 26px;
  gap: 24px;
}
.brb-hero-summary p {
  margin-bottom: 0;
}
.brb-hero-media {
  margin: 0;
}
.brb-hero-media img {
  display: block;
  width: 100%;
  aspect-ratio: 2.7;
  object-fit: cover;
  object-position: 50% 47%;
  border-radius: var(--brb-radius);
}
.brb-hero-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 14px;
}
.brb-hero-caption > .wp-block-group__inner-container {
  display: contents;
}
.brb-hero-caption p {
  margin: 0;
  font-size: 12px;
  color: var(--brb-muted);
}
.brb-photo-hero {
  padding-top: calc(var(--brb-section-space) * 0.7);
}
.brb-glass-banner {
  min-height: 560px;
  align-items: flex-end;
}
.brb-glass-banner .wp-block-cover__inner-container {
  padding-top: 120px;
}
.brb-glass-demo-card .brb-eyebrow {
  color: inherit;
  margin-bottom: 16px;
}
.brb-glass-demo-card p {
  font-size: 15px;
  line-height: 1.7;
}
.brb-glass-demo-card .wp-block-buttons {
  margin-top: 24px;
}
/* Campos públicos: etiquetas visibles y controles con foco, sin imitar el panel de WordPress. */
.entry-content
  :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="search"],
    textarea,
    select
  ),
.brb-search-form input[type="search"] {
  max-width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  color: var(--brb-ink);
  background: var(--brb-panel);
  border: 1px solid color-mix(in srgb, var(--brb-ink) 55%, transparent);
  border-radius: min(var(--brb-radius), 8px);
}
.entry-content :is(input, textarea, select):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
@media (max-width: 1100px) {
  .brb-hero-heading {
    gap: 40px;
    grid-template-columns: 1.15fr 1fr;
  }
  .brb-benefit-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 781px) {
  .brb-hero-heading {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-bottom: 32px;
  }
  .brb-photo-hero .brb-hero-heading h1 {
    max-width: 16ch;
    font-size: clamp(
      calc(40px * var(--brb-heading-scale)),
      calc(7.8vw * var(--brb-heading-scale)),
      calc(60px * var(--brb-heading-scale))
    );
  }
  .brb-hero-media img {
    aspect-ratio: 1.6;
  }
  .brb-hero-summary .wp-block-buttons {
    margin-top: 22px;
    gap: 20px;
  }
  .brb-step-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .brb-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .brb-gallery {
    grid-template-rows: auto;
    gap: 12px;
  }
  .brb-glass-banner {
    min-height: 520px;
  }
  .brb-glass-demo-card {
    margin-inline: 0;
    max-width: none;
  }
}
@media (max-width: 500px) {
  .brb-step-grid {
    gap: 32px 24px;
  }
  .brb-step-number {
    width: auto;
    height: auto;
    margin-bottom: 20px;
  }
  .brb-feature-row {
    gap: 20px 16px;
  }
  .brb-feature .brb-icon {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
  }
  .brb-slide-body {
    padding: 22px 2px 0;
  }
  .brb-sector-card {
    min-height: 400px;
    padding: 26px;
  }
  :is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary {
    padding: 23px 38px 23px 0;
    font-size: 17px;
  }
  :is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary::before,
  :is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > summary::after {
    right: 6px;
  }
  :is(.brb-faq .wp-block-details, .brb-content-expandable .wp-block-details, .wp-block-details.is-style-brb-disclosure) > :not(summary) {
    margin-inline: 0 30px;
  }
  .brb-benefit-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .brb-benefit .brb-icon {
    margin-bottom: 16px;
  }
  .brb-hero-caption {
    align-items: flex-start;
    gap: 16px;
  }
  .brb-hero-caption p {
    font-size: 11px;
  }
}

.is-style-brb-glass {
  --brb-glass-bg: #fff;
  --brb-glass-ink: #171717;
}
.brb-hero-image {
  margin: 0;
}
.brb-hero-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1.05;
  object-fit: cover;
  border-radius: var(--brb-radius);
}

@media (max-width: 500px) {
  .brb-step-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .brb-step {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 10px 14px;
  }
  .brb-step > .wp-block-group__inner-container {
    display: contents;
  }
  .brb-step .brb-step-number {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0;
    padding-top: 2px;
  }
  .brb-step h3 {
    grid-column: 2;
    margin: 0;
  }
  .brb-step p:not(.brb-step-number) {
    grid-column: 2;
  }
}
@media (max-width: 380px) {
  .brb-proof-grid {
    grid-template-columns: 1fr;
  }
}

/* Logotipos: una única fila, editable como imágenes nativas. */
.brb-logos {
  --brb-logo-height: 56px;
  --brb-logo-slot: 176px;
  --brb-logo-gap: 48px;
  background: #fff;
  color: #252525;
  padding: 30px 24px;
  margin-top: 40px;
  border-radius: var(--brb-radius);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}
.brb-logos--theme {
  background: var(--brb-paper);
  color: var(--brb-ink);
}
.brb-logos--small {
  --brb-logo-height: 40px;
  --brb-logo-slot: 144px;
}
.brb-logos--large {
  --brb-logo-height: 72px;
  --brb-logo-slot: 208px;
}
.brb-logos-track,
.brb-logos-belt {
  display: flex;
  align-items: center;
  gap: var(--brb-logo-gap);
  width: max-content;
}
.brb-logos-track {
  flex: 0 0 auto;
}
.brb-logos-track > .wp-block-group__inner-container,
.brb-logos > .wp-block-group__inner-container {
  display: contents;
}
.brb-logos-track figure {
  width: var(--brb-logo-slot);
  flex: 0 0 var(--brb-logo-slot);
  margin: 0;
  text-align: center;
}
.brb-logos-track img {
  width: 100%;
  height: var(--brb-logo-height);
  object-fit: contain;
  display: block;
}
.brb-logos-track figcaption {
  margin: 10px 0 0;
  font-size: 12px;
  color: inherit;
}
.brb-logos-track a {
  display: block;
  border-radius: 2px;
}
.brb-logos--mono img {
  filter: grayscale(1);
}
.brb-logos.is-logos-enhanced {
  overflow: hidden;
}
.brb-logos.is-logos-static {
  overflow-x: auto;
}
.brb-logos.is-logos-static .brb-logos-clone {
  display: none;
}
.brb-logos.is-logos-static .brb-logos-belt {
  min-width: 100%;
  justify-content: center;
}
.brb-logos:focus-visible { outline-offset: -5px; }
.editor-styles-wrapper .brb-logos-track > .block-editor-inner-blocks,
.editor-styles-wrapper
  .brb-logos-track
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout {
  display: contents;
}

/* FAQ con una sola columna: mismo acordeón y schema, con ancho de lectura. */
.brb-faq--stacked .brb-faq-layout {
  display: block;
  max-width: min(100%, var(--brb-reading-width, 760px), 840px);
  margin-inline: auto;
}
.brb-faq--stacked.brb-faq-width-compact .brb-faq-layout {
  max-width: min(100%, 640px);
}
.brb-faq--stacked.brb-faq-width-wide .brb-faq-layout {
  max-width: min(100%, 840px);
}
.brb-faq--stacked.brb-faq-width-full .brb-faq-layout {
  max-width: none;
  width: 100%;
}
.brb-faq.brb-faq-icon-chevron .wp-block-details > summary::before {
  width: 8px;
  height: 8px;
  top: calc(50% - 6px);
  right: 11px;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  background: transparent;
  transform: rotate(45deg);
}
.brb-faq.brb-faq-icon-chevron .wp-block-details > summary::after {
  display: none;
}
.brb-faq.brb-faq-icon-chevron .wp-block-details[open] > summary::before {
  transform: translateY(4px) rotate(225deg);
}
.brb-faq--stacked .brb-faq-intro {
  margin-bottom: 36px;
}
.brb-faq--stacked .brb-faq-intro p {
  max-width: 60ch;
}
.brb-faq--stacked h2 {
  max-width: none;
}

/* Caso destacado: imagen generosa y ficha del proyecto sin otra rejilla de tarjetas. */
.brb-case-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.9fr);
  gap: clamp(36px, 6vw, 96px);
  align-items: center;
}
.brb-case-image {
  margin: 0;
}
.brb-case-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1.12;
  object-fit: cover;
  border-radius: var(--brb-radius);
}
.brb-case-copy {
  min-width: 0;
}
.brb-case-copy h2 {
  font-size: clamp(
    calc(30px * var(--brb-heading-scale)),
    calc(3.4vw * var(--brb-heading-scale)),
    calc(48px * var(--brb-heading-scale))
  );
  max-width: 19ch;
}
.brb-case-copy > p,
.brb-case-copy > .wp-block-group__inner-container > p {
  color: var(--brb-muted);
  max-width: 48ch;
}
.brb-case-facts {
  margin-block: 30px;
  border-top: 1px solid var(--brb-line);
}
.brb-case-fact {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 16px;
  padding-block: 14px;
  border-bottom: 1px solid var(--brb-line);
}
.brb-case-fact p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}
.brb-case-label {
  color: var(--brb-muted);
}
.brb-case-copy .wp-block-buttons {
  margin-bottom: 0;
}

/* Testimonio nativo: la voz del cliente lleva el peso de la composición. */
.brb-testimonial {
  background: var(--brb-panel);
}
.brb-testimonial-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(40px, 7vw, 100px);
  align-items: start;
}
.brb-testimonial-intro h2 {
  font-size: clamp(
    calc(26px * var(--brb-heading-scale)),
    calc(2.4vw * var(--brb-heading-scale)),
    calc(34px * var(--brb-heading-scale))
  );
  max-width: 16ch;
}
.brb-testimonial-intro p {
  font-size: 15px;
  max-width: 28ch;
  color: var(--brb-muted);
  margin-bottom: 0;
}
.brb-testimonial .brb-testimonial-quote {
  margin: 0;
  padding: 0;
  border: 0;
}
.brb-testimonial-quote p {
  font-family: var(--brb-font-heading);
  font-size: clamp(
    calc(26px * var(--brb-heading-scale)),
    calc(3vw * var(--brb-heading-scale)),
    calc(42px * var(--brb-heading-scale))
  );
  line-height: 1.3;
  letter-spacing: -0.035em;
  margin-bottom: 32px;
}
.brb-testimonial-quote cite {
  display: block;
  font-style: normal;
  font-size: 14px;
  line-height: 1.7;
  color: var(--brb-muted);
}

/* Contacto compacto: un texto breve y una acción, alineados con el contenido. */
.brb-contact-band-section {
  padding-block: calc(var(--brb-section-space) * 0.65);
}
.brb-contact-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  padding: clamp(28px, 4vw, 56px);
  border: 1px solid var(--brb-line);
  border-radius: var(--brb-radius);
  background: var(--brb-panel);
}
.brb-contact-band-copy {
  min-width: 0;
}
.brb-contact-band h2 {
  font-size: clamp(
    calc(28px * var(--brb-heading-scale)),
    calc(3vw * var(--brb-heading-scale)),
    calc(42px * var(--brb-heading-scale))
  );
  margin-bottom: 12px;
}
.brb-contact-band p {
  margin: 0;
  max-width: 52ch;
  color: var(--brb-muted);
  font-size: 16px;
}
.brb-contact-band .wp-block-buttons {
  flex: 0 0 auto;
  margin: 0;
}
:is(
    .brb-case-layout,
    .brb-case-fact,
    .brb-testimonial-layout,
    .brb-contact-band
  )
  > .wp-block-group__inner-container {
  display: contents;
}
:is(.brb-case-layout, .brb-testimonial-layout, .brb-contact-band) > *,
:is(.brb-case-layout, .brb-testimonial-layout, .brb-contact-band)
  > .wp-block-group__inner-container
  > * {
  margin-block: 0;
}
.editor-styles-wrapper
  :is(
    .brb-case-layout,
    .brb-case-fact,
    .brb-testimonial-layout,
    .brb-contact-band
  )
  > .block-editor-inner-blocks,
.editor-styles-wrapper
  :is(
    .brb-case-layout,
    .brb-case-fact,
    .brb-testimonial-layout,
    .brb-contact-band
  )
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout {
  display: contents;
}
@media (max-width: 781px) {
  .brb-case-layout,
  .brb-testimonial-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .brb-case-image img {
    aspect-ratio: 1.5;
  }
  .brb-testimonial-intro h2 {
    max-width: 24ch;
  }
  .brb-testimonial-intro p {
    max-width: 48ch;
  }
  .brb-contact-band {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .brb-logos {
    --brb-logo-gap: 32px;
  }
}
@media (max-width: 500px) {
  .brb-logos {
    --brb-logo-slot: 144px;
    padding-inline: 18px;
    margin-top: 28px;
  }
  .brb-logos--large {
    --brb-logo-slot: 176px;
  }
  .brb-faq--stacked .brb-faq-intro {
    margin-bottom: 28px;
  }
  .brb-case-fact {
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 14px;
  }
  .brb-contact-band {
    padding: 26px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .brb-logos-clone {
    display: none;
  }
}

.brb-logos-window {
  width: 100%;
  overflow: hidden;
  mask-image: linear-gradient(
    to right,
    transparent,
    #000 28px,
    #000 calc(100% - 28px),
    transparent
  );
}
.brb-logos.is-logos-static .brb-logos-window {
  display: contents;
  mask-image: none;
}

.brb-case-facts .brb-case-fact {
  margin-block: 0;
}

.brb-logos.brb-logos--full {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
  border-radius: 0;
}

/* Galería configurable: las imágenes continúan siendo bloques nativos.
 * Las clases cambian la composición; no dependen de un número fijo de fotos. */
.brb-gallery {
  --brb-gallery-columns: 3;
  --brb-gallery-ratio: 4 / 3;
  --brb-gallery-gap: 16px;
  gap: var(--brb-gallery-gap);
  grid-template-rows: none;
  grid-auto-rows: clamp(180px, 18vw, 260px);
}
.brb-gallery figure {
  position: relative;
  min-width: 0;
}
.brb-gallery:where(:not(.brb-gallery--grid):not(.brb-gallery--mosaic))
  figure:first-child {
  grid-row: span 2;
}
.brb-gallery.brb-gallery--grid {
  grid-template-columns: repeat(var(--brb-gallery-columns), minmax(0, 1fr));
  grid-auto-rows: auto;
  align-items: start;
}
.brb-gallery.brb-gallery--grid figure {
  grid-column: auto;
  grid-row: auto;
  height: auto;
  aspect-ratio: var(--brb-gallery-ratio);
}
.brb-gallery-cols-2 {
  --brb-gallery-columns: 2;
}
.brb-gallery-cols-4 {
  --brb-gallery-columns: 4;
}
.brb-gallery-ratio-square {
  --brb-gallery-ratio: 1;
}
.brb-gallery-ratio-landscape {
  --brb-gallery-ratio: 3 / 2;
}
.brb-gallery-ratio-portrait {
  --brb-gallery-ratio: 4 / 5;
}
.brb-gallery.brb-gallery--grid.brb-gallery-ratio-original figure {
  aspect-ratio: auto;
}
.brb-gallery.brb-gallery--grid.brb-gallery-ratio-original img {
  height: auto;
  object-fit: contain;
}
.brb-gallery.brb-gallery--mosaic {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: clamp(140px, 15vw, 220px);
}
.brb-gallery.brb-gallery--mosaic figure {
  grid-column: auto;
  grid-row: auto;
  aspect-ratio: auto;
}
.brb-gallery--mosaic figure:first-child {
  grid-column: span 2;
  grid-row: span 2;
}
.brb-gallery.brb-gallery--square figure {
  border-radius: 0;
}
.brb-gallery-gap-small {
  --brb-gallery-gap: 8px;
}
.brb-gallery-gap-large {
  --brb-gallery-gap: 24px;
}
.brb-gallery figure > a {
  display: block;
  height: 100%;
}
.brb-gallery:not(.brb-gallery--grid) figure:only-child {
  grid-column: 1 / -1;
  grid-row: auto;
  height: auto;
  aspect-ratio: 16 / 9;
}
@media (max-width: 781px) {
  .brb-gallery,
  .brb-gallery.brb-gallery--grid,
  .brb-gallery.brb-gallery--mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: auto;
  }
  .brb-gallery:not(.brb-gallery--grid) figure {
    grid-column: auto;
    grid-row: auto;
    height: auto;
    aspect-ratio: 4 / 3;
  }
  .brb-gallery:not(.brb-gallery--grid) figure:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
    aspect-ratio: 3 / 2;
  }
}

/* Contenido extenso: lectura contenida, listas reales y ampliaciones nativas. */
.brb-blog-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: end;
  gap: 32px 64px;
  padding-block: 32px 52px;
}
.brb-blog-heading > .wp-block-group__inner-container,
.editor-styles-wrapper .brb-blog-heading > .block-editor-inner-blocks,
.editor-styles-wrapper
  .brb-blog-heading
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout {
  display: contents;
}
.brb-blog-heading h1 {
  font-size: calc(clamp(44px, 7vw, 96px) * var(--brb-heading-scale));
  line-height: 1.03;
  letter-spacing: -0.055em;
  margin: 0;
}
.brb-blog-heading h1:only-child {
  grid-column: 1 / -1;
}
.brb-blog-intro {
  max-width: 36em;
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.6;
}
.brb-blog-intro > :first-child,
.brb-blog-intro > .wp-block-group__inner-container > :first-child {
  margin-top: 0;
}
.brb-blog-intro > :last-child,
.brb-blog-intro > .wp-block-group__inner-container > :last-child {
  margin-bottom: 0;
}
@media (max-width: 700px) {
  .brb-blog-heading {
    grid-template-columns: minmax(0, 1fr);
    padding-block: 24px 32px;
    gap: 20px;
  }
}
.brb-copy-section {
  margin-block: 48px;
  min-width: 0;
}
.brb-copy-section :is(h2, h3) {
  margin-block-start: 0;
}
.brb-copy-section h2 {
  font-size: calc(clamp(27px, 2.8vw, 36px) * var(--brb-heading-scale));
  line-height: 1.2;
  margin-bottom: 20px;
}
.brb-copy-section .wp-block-buttons {
  margin-block: 24px;
}
.brb-copy-intro {
  margin-block: 24px;
}
.brb-reading {
  width: min(100%, var(--brb-reading-width, 760px));
  margin-inline: auto;
}
.brb-long-heading {
  max-width: min(100%, var(--brb-reading-width, 760px));
  margin-bottom: clamp(32px, 4vw, 56px);
}
.brb-prose :is(ul, ol) {
  margin-block: 20px;
  padding-inline-start: 1.3em;
}
.brb-prose li {
  margin-block: 10px;
  padding-inline-start: 0.2em;
  line-height: 1.65;
}
.brb-prose li::marker {
  color: var(--brb-muted);
}
.brb-prose h3 {
  font-size: clamp(21px, 2vw, 26px);
}
.brb-prose > .wp-block-group__inner-container > h3:not(:first-child),
.brb-prose > h3:not(:first-child) {
  margin-block-start: 32px;
}
.brb-prose > .wp-block-group__inner-container > :last-child,
.brb-prose > :last-child {
  margin-block-end: 0;
}
.brb-content-expandable .wp-block-details {
  border-top: 1px solid var(--brb-line);
}
.brb-content-expandable .wp-block-details + .wp-block-details {
  border-top: 0;
}
.brb-content-expandable .wp-block-details > .brb-disclosure-body {
  max-width: none;
  font-size: var(--brb-text-size);
  color: var(--brb-muted);
}
.brb-content-expandable .brb-disclosure-body h3 {
  color: var(--brb-ink);
}
.brb-content-expandable
  .brb-disclosure-body
  > .wp-block-group__inner-container
  > :first-child,
.brb-content-expandable .brb-disclosure-body > :first-child {
  margin-block-start: 0;
}
.brb-editorial .wp-block-details {
  margin-top: 32px;
}
.brb-disclosure-list {
  margin-top: 36px;
}
.brb-service-row {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(28px, 5vw, 80px);
  padding-block: clamp(28px, 4vw, 48px);
  border-top: 1px solid var(--brb-line);
  margin-block: 0;
}
.brb-service-row > .wp-block-group__inner-container {
  display: contents;
}
.brb-service-row > .wp-block-group__inner-container > * {
  margin-block: 0;
  min-width: 0;
}
.brb-service-title h3 {
  max-width: 20ch;
  font-size: clamp(24px, 2.6vw, 34px);
}
.brb-service-copy {
  max-width: 68ch;
  min-width: 0;
}
.brb-service-copy .wp-block-details {
  margin-top: 26px;
}
.brb-service-copy .wp-block-details summary {
  font-size: 16px;
}
.editor-styles-wrapper .brb-service-row > .block-editor-inner-blocks,
.editor-styles-wrapper
  .brb-service-row
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout {
  display: contents;
}
@media (max-width: 781px) {
  .brb-service-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .brb-service-title h3 {
    max-width: none;
    margin-bottom: 0;
  }
  .brb-content-expandable .wp-block-details > .brb-disclosure-body {
    margin-right: 20px;
  }
}

/* Portable components: local flow follows the available container, not a section. */
.brb-long-content-compact .brb-disclosure-list {
  margin-top: 28px;
}
.brb-long-content-compact .wp-block-details {
  margin-top: 0;
}
.brb-long-content-compact .wp-block-details > summary {
  padding-block: 20px;
  font-size: max(16px, calc(var(--brb-text-size) - 1px));
}
.brb-long-content-compact .brb-phase-copy > .wp-block-details,
.brb-long-content-compact .brb-phase-copy > .wp-block-group__inner-container > .wp-block-details {
  margin-top: 12px;
}
.brb-long-content-compact .brb-phase-copy .wp-block-details > summary {
  padding-block: 14px;
}
.brb-long-content-compact .brb-service-copy > p,
.brb-long-content-compact .brb-service-copy > .wp-block-group__inner-container > p {
  margin-bottom: 20px;
}

:is(.brb-component, .is-style-brb-stack),
:is(.brb-component, .is-style-brb-stack) > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}
:is(.brb-component, .is-style-brb-stack) > *,
:is(.brb-component, .is-style-brb-stack) > .wp-block-group__inner-container > * {
  margin-block: 0;
  min-width: 0;
}
:is(.brb-component, .is-style-brb-stack) > .wp-block-group__inner-container {
  width: 100%;
}
.brb-component-media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--brb-radius);
}
.brb-component-media figcaption {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--brb-muted);
}
.wp-block-details.is-style-brb-disclosure {
  border-top: 1px solid var(--brb-line);
  width: 100%;
}
.wp-block-details.is-style-brb-disclosure > summary {
  padding-block: 20px;
  font-size: 17px;
}
.wp-block-details.is-style-brb-disclosure > :not(summary) {
  max-width: none;
  margin: 0 0 24px;
  padding-block-start: 12px;
  padding-inline-end: 16px;
}
.wp-block-details.is-style-brb-disclosure > summary { overflow-wrap: anywhere; }

/* Efectos optativos: luz y profundidad sin mover los controles de lectura. */
:is(.is-style-brb-aurora, .is-style-brb-spotlight) { position: relative; isolation: isolate; }
.is-style-brb-aurora::before {
  content: "";
  position: absolute;
  inset: 16px;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 85% 25%, color-mix(in srgb, var(--brb-accent) 24%, transparent), transparent 56%),
    linear-gradient(130deg, transparent 30%, color-mix(in srgb, var(--brb-accent) 10%, transparent) 54%, transparent 75%);
  transform: translate3d(var(--brb-shift-x, 0px), var(--brb-shift-y, 0px), 0);
  transition: transform 220ms ease-out;
  border-radius: inherit;
  mask-image: linear-gradient(transparent, #000 12%, #000 88%, transparent), linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-composite: intersect;
}
.is-style-brb-aurora::after {
  content: ""; position: absolute; inset: 20px; z-index: -1; pointer-events: none;
  background-image: linear-gradient(color-mix(in srgb, var(--brb-ink) 8%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--brb-ink) 8%, transparent) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse at 80% 50%, #000, transparent 65%);
  opacity: .35;
}
.is-style-brb-spotlight {
  border: 1px solid var(--brb-line);
  border-radius: var(--brb-radius);
  background-color: color-mix(in srgb, var(--brb-surface) 12%, var(--brb-paper));
  transition: border-color 180ms ease;
}
.is-style-brb-spotlight::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit;
  background: radial-gradient(420px circle at var(--brb-light-x, 60%) var(--brb-light-y, 10%), color-mix(in srgb, var(--brb-accent) 15%, transparent), transparent 70%);
  opacity: .25;
  transition: opacity 180ms ease;
}
.is-style-brb-spotlight:is(:hover, :focus-within) { border-color: color-mix(in srgb, var(--brb-accent) 55%, var(--brb-line)); }
.is-style-brb-spotlight:is(.is-pointer-active, :focus-within)::before { opacity: 1; }
.is-style-brb-depth { perspective: 1100px; }
.is-style-brb-depth > :is(figure, .brb-depth-plane),
.is-style-brb-depth > .wp-block-group__inner-container > :is(figure, .brb-depth-plane) {
  transform: translate3d(var(--brb-shift-x, 0px), var(--brb-shift-y, 0px), 0) rotateX(var(--brb-tilt-x, 0deg)) rotateY(var(--brb-tilt-y, 0deg));
  transform-origin: center;
  transition: transform 220ms cubic-bezier(.2,.7,.2,1);
}
.is-style-brb-depth.is-pointer-active > :is(figure, .brb-depth-plane),
.is-style-brb-depth.is-pointer-active > .wp-block-group__inner-container > :is(figure, .brb-depth-plane) { will-change: transform; }
.brb-effects-disabled::before,
.brb-effects-disabled > :is(figure, .brb-depth-plane),
.brb-effects-disabled > .wp-block-group__inner-container > :is(figure, .brb-depth-plane) { transform: none; transition: none; }
.brb-effects-disabled { transition: none; }

/* Portada de estudio: mensaje grande y una vista del proyecto por capas. */
.brb-studio-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(40px, 5vw, 80px); align-items: center; }
:is(.brb-studio-layout, .brb-showcase-heading, .brb-project-showcase-grid, .brb-console-node) > .wp-block-group__inner-container { display: contents; }
.brb-section :is(.brb-studio-copy, .brb-studio-preview, .brb-studio-plane, .brb-depth-plane, .brb-project-visual, .brb-project-card-copy, .brb-console-visual, .brb-console-node-copy) { margin-block: 0; min-width: 0; }
.brb-studio-copy h1 { font-size: clamp(44px, 5.3vw, 80px); line-height: 1.04; letter-spacing: -.055em; max-width: 14ch; margin: 0 0 28px; }
.brb-studio-kicker { font-size: 15px; color: var(--brb-muted); margin-bottom: 24px; }
.brb-studio-lead { max-width: 44ch; color: var(--brb-muted); font-size: max(18px, var(--brb-text-size)); line-height: 1.65; margin-bottom: 32px; }
.brb-studio-preview { padding: 22px; box-shadow: 0 30px 80px color-mix(in srgb, var(--brb-ink) 7%, transparent); border-radius: max(12px, var(--brb-radius)); }
.brb-studio-preview-heading p:first-child { font-weight: 600; font-size: 17px; margin: 0; }
.brb-studio-preview-heading { padding-bottom: 24px; }
.brb-studio-preview-heading p + p { margin: 8px 0 24px; font-size: 14px; color: var(--brb-muted); }
.brb-depth-plane { position: relative; }
.brb-studio-plane figure { margin: 0; }
.brb-studio-plane img { display: block; width: 100%; aspect-ratio: 1.35; object-fit: cover; border-radius: max(8px, var(--brb-radius)); }
.brb-studio-ticket {
  position: relative; width: min(80%, 290px); padding: 22px;
  color: var(--brb-ink); background: color-mix(in srgb, var(--brb-paper) 92%, var(--brb-ink));
  border: 1px solid color-mix(in srgb, var(--brb-accent) 40%, var(--brb-line)); border-radius: max(8px, var(--brb-radius));
  box-shadow: 0 12px 32px rgb(0 0 0 / 18%); transform: rotate(-3deg);
}
.brb-depth-plane .brb-studio-ticket { margin: -140px 20px 0 auto; }
.brb-studio-ticket .brb-ticket-label { font-size: 12px; color: var(--brb-muted); margin: 0 0 8px; }
.brb-studio-ticket :is(h2, h3) { font-size: 22px; line-height: 1.2; letter-spacing: -.03em; margin: 0 0 10px; }
.brb-studio-ticket p:last-child { font-size: 14px; line-height: 1.5; margin: 0; }
.brb-studio-path { display: flex; gap: 12px; justify-content: space-between; padding: 0; margin: 24px 0 0; list-style-position: inside; }
.brb-studio-path li { font-size: 13px; margin: 0; padding: 0; }
.brb-studio-path li::marker { color: var(--brb-accent); }

/* Selección editorial: dos imágenes con ritmos y dimensiones diferentes. */
.brb-showcase-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: end; margin-bottom: 44px; }
.brb-showcase-heading h2 { max-width: 18ch; margin: 0; }
.brb-showcase-heading .brb-section-intro { margin: 0; max-width: 40ch; }
.brb-project-showcase-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: start; }
.brb-project-showcase-grid .brb-project-showcase-card { min-width: 0; margin: 0; border-radius: max(12px, var(--brb-radius)); }
.brb-project-showcase-grid .brb-project-showcase-card:nth-child(2) { margin-top: 80px; }
.brb-project-visual { padding: 12px; }
.brb-project-visual figure { margin: 0; }
.brb-project-visual img { width: 100%; display: block; object-fit: cover; aspect-ratio: 1.3; border-radius: max(8px, var(--brb-radius)); }
.brb-project-showcase-card:nth-child(2) .brb-project-visual img { aspect-ratio: 1; }
.brb-project-card-copy { padding: 20px 32px 32px; }
.brb-project-kicker { font-size: 14px; color: var(--brb-muted); margin-bottom: 16px; }
.brb-project-card-copy h3 { font-size: clamp(26px, 2.8vw, 40px); letter-spacing: -.04em; }
.brb-project-card-copy p { max-width: 48ch; }
.brb-project-card-copy .wp-block-buttons { margin-top: 24px; }

/* Proceso en foco: un diagrama de relaciones en lugar de una fotografía. */
.brb-console-panel { background: color-mix(in srgb, var(--brb-surface) 10%, var(--brb-paper)); }
.brb-console-visual { padding: 24px; border: 1px solid var(--brb-line); border-radius: max(10px, var(--brb-radius)); background: color-mix(in srgb, var(--brb-ink) 3%, var(--brb-paper)); }
.brb-console-caption { font-size: 14px; color: var(--brb-muted); margin-bottom: 24px; }
.brb-console-nodes { position: relative; isolation: isolate; }
.brb-console-nodes::before, .brb-console-nodes::after { content: ""; position: absolute; top: 20px; left: 20px; width: 2px; z-index: -1; }
.brb-console-nodes::before { bottom: 40px; background: var(--brb-line); }
.brb-console-nodes::after { height: var(--brb-console-progress, 0%); max-height: calc(100% - 60px); background: linear-gradient(var(--brb-accent), color-mix(in srgb, var(--brb-accent) 20%, transparent)); box-shadow: 0 0 14px color-mix(in srgb, var(--brb-accent) 40%, transparent); }
.brb-console-phase-2 { --brb-console-progress: 50%; }
.brb-console-phase-3 { --brb-console-progress: 100%; }
.brb-console-nodes .brb-console-node { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; align-items: center; margin: 0 0 24px; }
.brb-console-node .brb-console-mark { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--brb-line); border-radius: 50%; background: var(--brb-paper); color: var(--brb-muted); font-size: 12px; font-variant-numeric: tabular-nums; margin: 0; }
.brb-console-node h4 { font-size: 18px; margin: 0 0 4px; }
.brb-console-node-copy p { font-size: 13px; color: var(--brb-muted); margin: 0; }
.brb-console-node--current .brb-console-mark { color: var(--brb-accent-ink); background: var(--brb-accent); border-color: var(--brb-accent); box-shadow: 0 0 24px color-mix(in srgb, var(--brb-accent) 24%, transparent); }
.brb-console-footnote { font-size: 13px; color: var(--brb-muted); margin: 24px 0 0; border-top: 1px solid var(--brb-line); padding-top: 18px; }
@media (max-width: 1100px) {
  .brb-studio-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
  .brb-studio-preview { padding: 18px; }
  .brb-studio-ticket { padding: 18px; }
  .brb-studio-path { gap: 8px; }
  .brb-studio-path li { font-size: 12px; }
  .brb-process-console .brb-explorer-panel { grid-template-columns: 1fr; }
}
@media (max-width: 781px) {
  .brb-studio-layout, .brb-showcase-heading, .brb-project-showcase-grid { grid-template-columns: 1fr; gap: 32px; }
  .brb-studio-copy h1 { max-width: 15ch; }
  .brb-studio-hero .wp-block-buttons { gap: 12px; }
  .brb-showcase-heading { margin-bottom: 32px; }
  .brb-project-showcase-grid .brb-project-showcase-card:nth-child(2) { margin-top: 0; }
  .brb-project-card-copy { padding: 16px 24px 24px; }
  .brb-studio-ticket { width: min(82%, 280px); padding: 16px; }
  .brb-depth-plane .brb-studio-ticket { margin: -48px 12px 0 auto; transform: rotate(-2deg); }
  .brb-studio-ticket :is(h2, h3) { font-size: 19px; }
  .brb-studio-ticket p:last-child { font-size: 13px; }
  .brb-studio-path { flex-wrap: wrap; justify-content: flex-start; column-gap: 18px; }
  .brb-console-visual { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .is-style-brb-aurora::before,
  .is-style-brb-depth > :is(figure, .brb-depth-plane),
  .is-style-brb-depth > .wp-block-group__inner-container > :is(figure, .brb-depth-plane) { transform: none; transition: none; }
  .is-style-brb-spotlight, .is-style-brb-spotlight::before { transition: none; }
}

/* Lectura por temas: nativo en Gutenberg, pestañas como mejora en la web. */
.brb-explorer-layout,
.brb-chapter-layout,
.brb-capability-grid,
.brb-dossier-heading,
.brb-dossier-facts,
.brb-dossier-notes {
  margin-top: 40px;
}
.brb-explorer-layout { min-width: 0; }
.brb-section :is(.brb-explorer-topics, .brb-explorer-panel, .brb-chapter-aside,
  .brb-chapters, .brb-capability, .brb-capability-side, .brb-dossier-fact,
  .brb-dossier-note) { margin-block: 0; }
:is(.brb-explorer-layout, .brb-explorer-panel, .brb-chapter-layout,
    .brb-capability-grid, .brb-capability-side, .brb-dossier-heading,
    .brb-dossier-facts, .brb-dossier-notes) > .wp-block-group__inner-container {
  display: contents;
}
.brb-explorer-topic { border-bottom: 1px solid var(--brb-line); }
.brb-explorer-topic > summary { padding-block: 22px; }
.brb-explorer-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  padding: clamp(24px, 3vw, 44px);
  background: color-mix(in srgb, var(--brb-surface) 16%, var(--brb-paper));
  border: 1px solid var(--brb-line);
  border-radius: var(--brb-radius);
  min-width: 0;
}
.brb-explorer-copy { min-width: 0; }
.brb-explorer-free .brb-explorer-panel { display: block; }
.wp-block-heading.brb-heading-box-center { margin-inline: auto; }
.wp-block-heading.brb-heading-box-end { margin-inline-start: auto; margin-inline-end: 0; }
.brb-explorer-copy h3 { font-size: clamp(26px, 2.7vw, 38px); max-width: 23ch; }
.brb-explorer-copy > p { max-width: 55ch; color: var(--brb-muted); }
.brb-explorer-copy .wp-block-buttons { margin-top: 28px; }
.brb-explorer-image { margin: 0; }
.brb-explorer-image img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: var(--brb-radius); display: block; }
.is-explorer-ready .brb-explorer-layout {
  display: grid;
  grid-template-columns: minmax(170px, .25fr) minmax(0, 1fr);
  gap: 36px;
  align-items: start;
}
.brb-explorer-tabs { display: grid; gap: 8px; min-width: 0; }
.brb-explorer-horizontal.is-explorer-ready .brb-explorer-layout { display: block; }
.brb-explorer-horizontal .brb-explorer-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 24px; }
.brb-explorer-horizontal .brb-explorer-tabs button { flex: 1 1 160px; }
.brb-explorer-tabs button {
  font: inherit;
  color: var(--brb-muted);
  background: transparent;
  border: 0;
  border-inline-start: 2px solid var(--brb-line);
  padding: 18px 20px;
  min-height: 52px;
  text-align: start;
  cursor: pointer;
  overflow-wrap: anywhere;
  transition: background-color 150ms, color 150ms, border-color 150ms;
}
.brb-explorer-tabs button:hover { color: var(--brb-ink); background: color-mix(in srgb, var(--brb-surface) 16%, var(--brb-paper)); }
.brb-explorer-tabs button[aria-selected="true"] {
  color: var(--brb-ink);
  border-color: var(--brb-accent);
  background: color-mix(in srgb, var(--brb-surface) 16%, var(--brb-paper));
  font-weight: 600;
}
.brb-explorer-horizontal .brb-explorer-tabs button {
  border-inline-start: 0;
  border-bottom: 2px solid var(--brb-line);
  text-align: center;
}
.brb-explorer-horizontal .brb-explorer-tabs button[aria-selected="true"] { border-bottom-color: var(--brb-accent); }
.brb-explorer-tabs button:focus-visible,
.brb-explorer-panel:focus-visible,
.brb-chapter-index a:focus-visible { outline: 2px solid var(--brb-ink); outline-offset: 4px; }
.is-explorer-ready .brb-explorer-topic { border: 0; margin: 0; }
.is-explorer-ready .brb-explorer-topic[hidden],
.is-explorer-ready .brb-explorer-topic > summary[hidden] { display: none; }

/* Guía: índice estable junto al recorrido de lectura. */
.brb-chapter-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(48px, 8vw, 120px); align-items: start; }
.brb-chapter-aside { position: sticky; top: 112px; min-width: 0; }
.brb-chapter-aside h2 { font-size: clamp(30px, 3.4vw, 48px); max-width: 17ch; }
.brb-chapter-aside > p { max-width: 36ch; color: var(--brb-muted); }
.brb-chapter-index { margin-top: 28px; }
.brb-chapter-index nav { display: grid; border-top: 1px solid var(--brb-line); }
.brb-chapter-index a { display: block; padding: 16px 8px 16px 0; border-bottom: 1px solid var(--brb-line); color: var(--brb-ink); text-decoration: none; overflow-wrap: anywhere; }
.brb-chapter-index a:hover { text-decoration: underline; text-underline-offset: .25em; }
.brb-chapters { min-width: 0; }
.brb-chapter { padding-block: 0 40px; margin-bottom: 40px; border-bottom: 1px solid var(--brb-line); scroll-margin-top: 120px; }
.brb-chapter:last-child { margin-bottom: 0; }
.brb-chapter h3 { font-size: clamp(26px, 2.4vw, 34px); }
.brb-chapter > p { color: var(--brb-muted); }
.brb-chapter .wp-block-details { margin-top: 24px; }

/* Mosaico: la idea principal tiene más peso que sus capacidades de apoyo. */
.brb-capability-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.brb-capability-side { display: grid; gap: 24px; min-width: 0; }
.brb-capability { min-width: 0; padding: clamp(24px, 3vw, 44px); background: color-mix(in srgb, var(--brb-surface) 16%, var(--brb-paper)); border: 1px solid var(--brb-line); border-radius: var(--brb-radius); }
.brb-capability h3 { font-size: clamp(25px, 2.5vw, 36px); max-width: 25ch; }
.brb-capability p { color: var(--brb-muted); }
.brb-capability-lead { display: flex; flex-direction: column; }
.brb-capability-lead > .wp-block-group__inner-container { display: contents; }
.brb-capability .brb-card-kicker { color: var(--brb-ink); font-size: 15px; margin-bottom: 24px; }
.brb-capability-image { margin: auto 0 0; padding-top: 28px; }
.brb-capability-image img { display: block; width: 100%; aspect-ratio: 2/1; object-fit: cover; border-radius: var(--brb-radius); }
.brb-capability .wp-block-details { margin-top: 24px; }

/* Dossier: una fotografía, una ficha y tres decisiones que se pueden escanear. */
.brb-dossier-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; margin-top: 0; margin-bottom: 40px; }
.brb-dossier-heading h2 { max-width: 19ch; margin-bottom: 0; }
.brb-dossier-heading .brb-section-intro { margin: 0; max-width: 48ch; }
.brb-dossier-image { margin: 0; }
.brb-dossier-image img { display: block; width: 100%; aspect-ratio: 2.7/1; object-fit: cover; border-radius: var(--brb-radius); }
.brb-dossier-facts,
.brb-dossier-notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.brb-dossier-facts { padding-block: 28px; margin-top: 0; border-bottom: 1px solid var(--brb-line); }
.brb-dossier-fact p { margin: 0; }
.brb-dossier-fact .brb-fact-label { margin-bottom: 8px; color: var(--brb-muted); font-size: 14px; }
.brb-dossier-note h3 { font-size: 25px; }
.brb-dossier-note p { color: var(--brb-muted); }
.brb-dossier-expansion { max-width: none; margin: 40px 0 0 calc((100% + 36px) / 3); }
.brb-dossier-expansion .brb-disclosure-body { max-width: var(--brb-reading-width, 760px); }
.brb-dossier-expansion .wp-block-details { margin-top: 0; }
@media (max-width: 1000px) {
  .is-explorer-ready .brb-explorer-layout { display: block; }
  .brb-explorer-tabs { display: flex; flex-wrap: wrap; margin-bottom: 24px; gap: 4px; }
  .brb-explorer-tabs button { flex: 1 1 auto; min-width: 0; border-inline-start: 0; border-bottom: 2px solid var(--brb-line); padding: 16px 12px; text-align: center; }
  .brb-chapter-aside { position: static; }
}
@media (max-width: 781px) {
  .brb-explorer-panel, .brb-chapter-layout, .brb-capability-grid, .brb-dossier-heading, .brb-dossier-notes { grid-template-columns: 1fr; gap: 28px; }
  .brb-explorer-image img { aspect-ratio: 16/9; }
  .brb-explorer-tabs button { font-size: 15px; padding-inline: 8px; }
  .brb-chapter-aside h2, .brb-dossier-heading h2 { max-width: none; }
  .brb-chapter { scroll-margin-top: 100px; }
  .brb-dossier-facts { grid-template-columns: 1fr; gap: 20px; }
  .brb-dossier-image img { aspect-ratio: 16/10; }
  .brb-dossier-notes { gap: 24px; }
  .brb-dossier-note { border-bottom: 1px solid var(--brb-line); padding-bottom: 20px; }
  .brb-dossier-expansion { margin-inline: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .brb-explorer-tabs button { transition: none; }
}
@media (max-width: 380px) {
  .brb-explorer-tabs button { font-size: 14px; padding-inline: 4px; }
}
@media (max-width: 781px) {
  .brb-card-grid { grid-auto-rows: auto; }
  .brb-card-grid > .is-style-brb-card,
  .brb-card-grid > .wp-block-group__inner-container > .is-style-brb-card {
    height: auto;
    min-height: 0;
  }
}

/* Explicit visual profiles override composition typography; native inline exceptions win. */
.wp-block-heading.brb-title-h1.brb-title-h1.brb-title-h1 {
  font-size: var(--brb-title-1-size);
  line-height: var(--brb-title-1-line);
  letter-spacing: var(--brb-title-1-tracking);
  font-weight: var(--brb-title-1-weight);
  text-transform: var(--brb-title-1-transform);
  font-family: var(--brb-title-1-family);
  margin-top: var(--brb-title-1-before);
  margin-bottom: var(--brb-title-1-after);
}
.wp-block-heading.brb-title-h2.brb-title-h2.brb-title-h2 {
  font-size: var(--brb-title-2-size);
  line-height: var(--brb-title-2-line);
  letter-spacing: var(--brb-title-2-tracking);
  font-weight: var(--brb-title-2-weight);
  text-transform: var(--brb-title-2-transform);
  font-family: var(--brb-title-2-family);
  margin-top: var(--brb-title-2-before);
  margin-bottom: var(--brb-title-2-after);
}
.wp-block-heading.brb-title-h3.brb-title-h3.brb-title-h3 {
  font-size: var(--brb-title-3-size);
  line-height: var(--brb-title-3-line);
  letter-spacing: var(--brb-title-3-tracking);
  font-weight: var(--brb-title-3-weight);
  text-transform: var(--brb-title-3-transform);
  font-family: var(--brb-title-3-family);
  margin-top: var(--brb-title-3-before);
  margin-bottom: var(--brb-title-3-after);
}
.wp-block-heading.brb-title-h4.brb-title-h4.brb-title-h4 {
  font-size: var(--brb-title-4-size);
  line-height: var(--brb-title-4-line);
  letter-spacing: var(--brb-title-4-tracking);
  font-weight: var(--brb-title-4-weight);
  text-transform: var(--brb-title-4-transform);
  font-family: var(--brb-title-4-family);
  margin-top: var(--brb-title-4-before);
  margin-bottom: var(--brb-title-4-after);
}
.wp-block-heading.brb-title-h5.brb-title-h5.brb-title-h5 {
  font-size: var(--brb-title-5-size);
  line-height: var(--brb-title-5-line);
  letter-spacing: var(--brb-title-5-tracking);
  font-weight: var(--brb-title-5-weight);
  text-transform: var(--brb-title-5-transform);
  font-family: var(--brb-title-5-family);
  margin-top: var(--brb-title-5-before);
  margin-bottom: var(--brb-title-5-after);
}
.wp-block-heading.brb-title-h6.brb-title-h6.brb-title-h6 {
  font-size: var(--brb-title-6-size);
  line-height: var(--brb-title-6-line);
  letter-spacing: var(--brb-title-6-tracking);
  font-weight: var(--brb-title-6-weight);
  text-transform: var(--brb-title-6-transform);
  font-family: var(--brb-title-6-family);
  margin-top: var(--brb-title-6-before);
  margin-bottom: var(--brb-title-6-after);
}
.wp-block-list.brb-list-clean.brb-list-clean { list-style: none; padding-inline-start: 0; }
ul.brb-list-square { list-style-type: square; }
.wp-block-image.brb-image-square img { border-radius: 0; }
.wp-block-image.brb-image-rounded img { border-radius: var(--brb-radius, 12px); }
.wp-block-image.brb-image-shadow img { box-shadow: 0 12px 32px rgb(0 0 0 / 16%); }
.wp-block-image.brb-image-no-shadow img { box-shadow: none; }

/* Local heading measure. Repeated class beats composition selectors without !important. */
.wp-block-heading.brb-heading-width-8.brb-heading-width-8 { max-width: min(100%, 8ch); }
.wp-block-heading.brb-heading-width-9.brb-heading-width-9 { max-width: min(100%, 9ch); }
.wp-block-heading.brb-heading-width-10.brb-heading-width-10 { max-width: min(100%, 10ch); }
.wp-block-heading.brb-heading-width-11.brb-heading-width-11 { max-width: min(100%, 11ch); }
.wp-block-heading.brb-heading-width-12.brb-heading-width-12 { max-width: min(100%, 12ch); }
.wp-block-heading.brb-heading-width-13.brb-heading-width-13 { max-width: min(100%, 13ch); }
.wp-block-heading.brb-heading-width-14.brb-heading-width-14 { max-width: min(100%, 14ch); }
.wp-block-heading.brb-heading-width-15.brb-heading-width-15 { max-width: min(100%, 15ch); }
.wp-block-heading.brb-heading-width-16.brb-heading-width-16 { max-width: min(100%, 16ch); }
.wp-block-heading.brb-heading-width-17.brb-heading-width-17 { max-width: min(100%, 17ch); }
.wp-block-heading.brb-heading-width-18.brb-heading-width-18 { max-width: min(100%, 18ch); }
.wp-block-heading.brb-heading-width-19.brb-heading-width-19 { max-width: min(100%, 19ch); }
.wp-block-heading.brb-heading-width-20.brb-heading-width-20 { max-width: min(100%, 20ch); }
.wp-block-heading.brb-heading-width-21.brb-heading-width-21 { max-width: min(100%, 21ch); }
.wp-block-heading.brb-heading-width-22.brb-heading-width-22 { max-width: min(100%, 22ch); }
.wp-block-heading.brb-heading-width-23.brb-heading-width-23 { max-width: min(100%, 23ch); }
.wp-block-heading.brb-heading-width-24.brb-heading-width-24 { max-width: min(100%, 24ch); }
.wp-block-heading.brb-heading-width-25.brb-heading-width-25 { max-width: min(100%, 25ch); }
.wp-block-heading.brb-heading-width-26.brb-heading-width-26 { max-width: min(100%, 26ch); }
.wp-block-heading.brb-heading-width-27.brb-heading-width-27 { max-width: min(100%, 27ch); }
.wp-block-heading.brb-heading-width-28.brb-heading-width-28 { max-width: min(100%, 28ch); }
.wp-block-heading.brb-heading-width-29.brb-heading-width-29 { max-width: min(100%, 29ch); }
.wp-block-heading.brb-heading-width-30.brb-heading-width-30 { max-width: min(100%, 30ch); }
.wp-block-heading.brb-heading-width-31.brb-heading-width-31 { max-width: min(100%, 31ch); }
.wp-block-heading.brb-heading-width-32.brb-heading-width-32 { max-width: min(100%, 32ch); }
.wp-block-heading.brb-heading-width-33.brb-heading-width-33 { max-width: min(100%, 33ch); }
.wp-block-heading.brb-heading-width-34.brb-heading-width-34 { max-width: min(100%, 34ch); }
.wp-block-heading.brb-heading-width-35.brb-heading-width-35 { max-width: min(100%, 35ch); }
.wp-block-heading.brb-heading-width-36.brb-heading-width-36 { max-width: min(100%, 36ch); }
.wp-block-heading.brb-heading-width-37.brb-heading-width-37 { max-width: min(100%, 37ch); }
.wp-block-heading.brb-heading-width-38.brb-heading-width-38 { max-width: min(100%, 38ch); }
.wp-block-heading.brb-heading-width-39.brb-heading-width-39 { max-width: min(100%, 39ch); }
.wp-block-heading.brb-heading-width-40.brb-heading-width-40 { max-width: min(100%, 40ch); }
.wp-block-heading.brb-heading-width-41.brb-heading-width-41 { max-width: min(100%, 41ch); }
.wp-block-heading.brb-heading-width-42.brb-heading-width-42 { max-width: min(100%, 42ch); }
.wp-block-heading.brb-heading-width-43.brb-heading-width-43 { max-width: min(100%, 43ch); }
.wp-block-heading.brb-heading-width-44.brb-heading-width-44 { max-width: min(100%, 44ch); }
.wp-block-heading.brb-heading-width-45.brb-heading-width-45 { max-width: min(100%, 45ch); }
.wp-block-heading.brb-heading-width-46.brb-heading-width-46 { max-width: min(100%, 46ch); }
.wp-block-heading.brb-heading-width-47.brb-heading-width-47 { max-width: min(100%, 47ch); }
.wp-block-heading.brb-heading-width-48.brb-heading-width-48 { max-width: min(100%, 48ch); }
.wp-block-heading.brb-heading-width-49.brb-heading-width-49 { max-width: min(100%, 49ch); }
.wp-block-heading.brb-heading-width-50.brb-heading-width-50 { max-width: min(100%, 50ch); }
.wp-block-heading.brb-heading-width-51.brb-heading-width-51 { max-width: min(100%, 51ch); }
.wp-block-heading.brb-heading-width-52.brb-heading-width-52 { max-width: min(100%, 52ch); }
.wp-block-heading.brb-heading-width-53.brb-heading-width-53 { max-width: min(100%, 53ch); }
.wp-block-heading.brb-heading-width-54.brb-heading-width-54 { max-width: min(100%, 54ch); }
.wp-block-heading.brb-heading-width-55.brb-heading-width-55 { max-width: min(100%, 55ch); }
.wp-block-heading.brb-heading-width-56.brb-heading-width-56 { max-width: min(100%, 56ch); }
.wp-block-heading.brb-heading-width-57.brb-heading-width-57 { max-width: min(100%, 57ch); }
.wp-block-heading.brb-heading-width-58.brb-heading-width-58 { max-width: min(100%, 58ch); }
.wp-block-heading.brb-heading-width-59.brb-heading-width-59 { max-width: min(100%, 59ch); }
.wp-block-heading.brb-heading-width-60.brb-heading-width-60 { max-width: min(100%, 60ch); }
.wp-block-heading.brb-heading-width-61.brb-heading-width-61 { max-width: min(100%, 61ch); }
.wp-block-heading.brb-heading-width-62.brb-heading-width-62 { max-width: min(100%, 62ch); }
.wp-block-heading.brb-heading-width-63.brb-heading-width-63 { max-width: min(100%, 63ch); }
.wp-block-heading.brb-heading-width-64.brb-heading-width-64 { max-width: min(100%, 64ch); }
.wp-block-heading.brb-heading-width-65.brb-heading-width-65 { max-width: min(100%, 65ch); }
.wp-block-heading.brb-heading-width-66.brb-heading-width-66 { max-width: min(100%, 66ch); }
.wp-block-heading.brb-heading-width-67.brb-heading-width-67 { max-width: min(100%, 67ch); }
.wp-block-heading.brb-heading-width-68.brb-heading-width-68 { max-width: min(100%, 68ch); }
.wp-block-heading.brb-heading-width-69.brb-heading-width-69 { max-width: min(100%, 69ch); }
.wp-block-heading.brb-heading-width-70.brb-heading-width-70 { max-width: min(100%, 70ch); }
.wp-block-heading.brb-heading-width-71.brb-heading-width-71 { max-width: min(100%, 71ch); }
.wp-block-heading.brb-heading-width-72.brb-heading-width-72 { max-width: min(100%, 72ch); }
.wp-block-heading.brb-heading-width-73.brb-heading-width-73 { max-width: min(100%, 73ch); }
.wp-block-heading.brb-heading-width-74.brb-heading-width-74 { max-width: min(100%, 74ch); }
.wp-block-heading.brb-heading-width-75.brb-heading-width-75 { max-width: min(100%, 75ch); }
.wp-block-heading.brb-heading-width-76.brb-heading-width-76 { max-width: min(100%, 76ch); }
.wp-block-heading.brb-heading-width-77.brb-heading-width-77 { max-width: min(100%, 77ch); }
.wp-block-heading.brb-heading-width-78.brb-heading-width-78 { max-width: min(100%, 78ch); }
.wp-block-heading.brb-heading-width-79.brb-heading-width-79 { max-width: min(100%, 79ch); }
.wp-block-heading.brb-heading-width-80.brb-heading-width-80 { max-width: min(100%, 80ch); }
.wp-block-heading.brb-heading-width-full.brb-heading-width-full { max-width: 100%; }

/* Compositions are opt-in. Native layouts and saved client patterns remain intact. */
:where(.brb-layout-grid, .brb-layout-strip) {
  --brb-layout-cols: 3;
  --brb-layout-tablet-cols: 2;
  --brb-layout-mobile-cols: 1;
  --brb-layout-gap: 24px;
  --brb-layout-peek: 0px;
}
.wp-block-group:is(.brb-layout-grid, .brb-layout-strip),
:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group__inner-container,
.editor-styles-wrapper :is(.brb-layout-grid, .brb-layout-strip) > .block-editor-inner-blocks > .block-editor-block-list__layout {
  display: grid;
  grid-template-columns: repeat(var(--brb-layout-cols), minmax(0, 1fr));
  gap: var(--brb-layout-gap);
  align-items: stretch;
}
:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group__inner-container,
.editor-styles-wrapper :is(.brb-layout-grid, .brb-layout-strip) > .block-editor-inner-blocks {
  grid-column: 1 / -1;
  min-width: 0;
}
:is(.brb-layout-grid, .brb-layout-strip) > :not(.wp-block-group__inner-container),
:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group__inner-container > *,
.editor-styles-wrapper :is(.brb-layout-grid, .brb-layout-strip) > .block-editor-inner-blocks > .block-editor-block-list__layout > * {
  min-width: 0;
  width: 100%;
  margin-block: 0;
  margin-inline: 0 !important; /* Overrides native constrained auto margins in this opt-in layout. */
}
.wp-block-group.brb-layout-strip,
.brb-layout-strip > .wp-block-group__inner-container,
.editor-styles-wrapper .brb-layout-strip > .block-editor-inner-blocks > .block-editor-block-list__layout {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - var(--brb-layout-peek) - (var(--brb-layout-cols) - 1) * var(--brb-layout-gap)) / var(--brb-layout-cols));
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  padding: 4px 4px 16px;
  scrollbar-width: thin;
}
.brb-layout-strip > * { scroll-snap-align: start; }
.brb-layout-equal:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group,
.brb-layout-equal:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group__inner-container > .wp-block-group {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.brb-layout-equal:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group > .wp-block-buttons:last-child,
.brb-layout-equal:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group__inner-container > .wp-block-group > .wp-block-buttons:last-child {
  margin-block-start: auto;
  padding-block-start: 16px;
}
.wp-block-group.brb-layout-lines:is(.brb-layout-grid, .brb-layout-strip) {
  border-style: solid;
  border-width: 8px 0 0 1px;
  border-color: var(--brb-accent);
  gap: 0;
  --brb-layout-gap: 0px;
}
.brb-layout-lines:is(.brb-layout-grid, .brb-layout-strip) > :not(.wp-block-group__inner-container),
.brb-layout-lines:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group__inner-container > * {
  border-style: solid;
  border-width: 0 1px 1px 0;
  border-color: inherit;
}
:where(.brb-media-frame-left, .brb-media-frame-right) {
  --brb-media-tone: var(--brb-surface);
  --brb-media-angle: 3deg;
}
.wp-block-group:is(.brb-media-frame-left, .brb-media-frame-right) {
  position: relative;
  isolation: isolate;
  padding: clamp(20px, 2.5vw, 36px);
}
:is(.brb-media-frame-left, .brb-media-frame-right)::before {
  content: "";
  position: absolute;
  inset: clamp(16px, 1.6vw, 24px);
  z-index: -1;
  background: var(--brb-media-tone);
  border-radius: var(--brb-radius, 12px);
  transform: rotate(var(--brb-media-angle));
  pointer-events: none;
}
.brb-media-frame-left { --brb-media-angle: -3deg; --brb-frame-default-turn: -3; }
.brb-media-tone-accent { --brb-media-tone: var(--brb-accent); }
.brb-media-tone-ink { --brb-media-tone: var(--brb-ink); }
.brb-media-tone-paper { --brb-media-tone: var(--brb-paper); }
:is(.brb-media-frame-left, .brb-media-frame-right) > .wp-block-image { margin: 0; }
:is(.brb-media-frame-left, .brb-media-frame-right) img { display: block; width: 100%; }
:where(.brb-image-corners-right, .brb-image-corners-left, .brb-image-corners-alternate) { --brb-image-corner: 64px; }
.wp-block-image.brb-image-corners-right.brb-image-corners-right img { border-radius: 0 var(--brb-image-corner) var(--brb-image-corner) 0; }
.wp-block-image.brb-image-corners-left.brb-image-corners-left img { border-radius: var(--brb-image-corner) 0 0 var(--brb-image-corner); }
.wp-block-image.brb-image-corners-alternate.brb-image-corners-alternate img { border-radius: var(--brb-image-corner) 0 var(--brb-image-corner) 0; }
.brb-section-divider { width: 100%; max-height: 12vw; min-height: 24px; margin: 0; line-height: 0; }
.brb-section-divider > svg { display: block; width: 100%; height: 100%; pointer-events: none; }
.brb-table-scroll-480 { --brb-table-min-width: 480px; }
.brb-table-scroll-640 { --brb-table-min-width: 640px; }
.brb-table-scroll-800 { --brb-table-min-width: 800px; }
.wp-block-table:is(.brb-table-scroll-480, .brb-table-scroll-640, .brb-table-scroll-800) {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}
.wp-block-table:is(.brb-table-scroll-480, .brb-table-scroll-640, .brb-table-scroll-800) > table { min-width: var(--brb-table-min-width); }
.wp-block-table:is(.brb-table-scroll-480, .brb-table-scroll-640, .brb-table-scroll-800):focus-visible { outline: 2px solid var(--brb-ink); outline-offset: 4px; }
.brb-layout-cols-2 { --brb-layout-cols: 2; }
.brb-layout-cols-3 { --brb-layout-cols: 3; }
.brb-layout-cols-4 { --brb-layout-cols: 4; }
.brb-layout-cols-5 { --brb-layout-cols: 5; }
.brb-layout-cols-6 { --brb-layout-cols: 6; }
.brb-layout-tablet-1 { --brb-layout-tablet-cols: 1; }
.brb-layout-tablet-2 { --brb-layout-tablet-cols: 2; }
.brb-layout-tablet-3 { --brb-layout-tablet-cols: 3; }
.brb-layout-mobile-1 { --brb-layout-mobile-cols: 1; }
.brb-layout-mobile-2 { --brb-layout-mobile-cols: 2; }
.brb-layout-gap-0 { --brb-layout-gap: 0px; }
.brb-layout-gap-8 { --brb-layout-gap: 8px; }
.brb-layout-gap-16 { --brb-layout-gap: 16px; }
.brb-layout-gap-24 { --brb-layout-gap: 24px; }
.brb-layout-gap-32 { --brb-layout-gap: 32px; }
.brb-layout-gap-48 { --brb-layout-gap: 48px; }
.brb-image-radius-16 { --brb-image-corner: 16px; }
.brb-image-radius-32 { --brb-image-corner: 32px; }
.brb-image-radius-48 { --brb-image-corner: 48px; }
.brb-image-radius-64 { --brb-image-corner: 64px; }
.brb-image-radius-96 { --brb-image-corner: 96px; }

@media (max-width: 1024px) {
  .wp-block-group:is(.brb-layout-grid, .brb-layout-strip),
  :is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group__inner-container,
  .editor-styles-wrapper :is(.brb-layout-grid, .brb-layout-strip) > .block-editor-inner-blocks > .block-editor-block-list__layout { --brb-layout-cols: var(--brb-layout-tablet-cols); }
}
@media (max-width: 600px) {
  .wp-block-group:is(.brb-layout-grid, .brb-layout-strip),
  :is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group__inner-container,
  .editor-styles-wrapper :is(.brb-layout-grid, .brb-layout-strip) > .block-editor-inner-blocks > .block-editor-block-list__layout { --brb-layout-cols: var(--brb-layout-mobile-cols); }
}

.brb-layout-lines:is(.brb-layout-grid, .brb-layout-strip) > :not(.wp-block-group__inner-container),
.brb-layout-lines:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group__inner-container > * { border-radius: 0; box-shadow: none; }

.brb-layout-strip:focus-visible, .brb-layout-strip > .wp-block-group__inner-container:focus-visible { outline: 2px solid var(--brb-accent); outline-offset: 3px; }

/* Classic Group markup keeps its inner wrapper; only that wrapper scrolls. */
.wp-block-group.brb-layout-strip:has(> .wp-block-group__inner-container) {
  display: block;
  overflow: visible;
  padding: 0;
}
.brb-layout-lines:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group__inner-container { border-color: inherit; }
.brb-layout-equal:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group > .wp-block-group__inner-container,
.brb-layout-equal:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container { display: contents; }
.brb-layout-equal:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group > .wp-block-group__inner-container > .wp-block-buttons:last-child,
.brb-layout-equal:is(.brb-layout-grid, .brb-layout-strip) > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container > .wp-block-buttons:last-child { margin-block-start: auto; padding-block-start: 16px; }

/* Preserve the chosen icon size in native icon/text rows inside compositions. */
:is(.brb-layout-grid, .brb-layout-strip) .is-layout-flex > .igb-iconos {
  flex: 0 0 var(--igb-icon-size, 48px);
  width: var(--igb-icon-size, 48px);
}
:is(.brb-layout-grid, .brb-layout-strip) .is-layout-flex > .wp-block-heading { min-width: 0; }

.brb-layout-strip.brb-layout-peek { --brb-layout-peek: clamp(32px, 6vw, 80px); }

/* Let the scrollport cross section gutters; keep the first/last card aligned.
 * Local section edges also keep nested columns from escaping to the viewport. */
:is(.brb-section, .is-style-brb-section):has(> .brb-layout-strip.brb-layout-edge, > .wp-block-group__inner-container > .brb-layout-strip.brb-layout-edge, > .block-editor-inner-blocks > .block-editor-block-list__layout > .brb-layout-strip.brb-layout-edge) {
  padding-inline: 0;
}
:is(.brb-section, .is-style-brb-section):has(> .brb-layout-strip.brb-layout-edge) > :not(.brb-layout-strip.brb-layout-edge, .wp-block-group__inner-container),
:is(.brb-section, .is-style-brb-section):has(> .wp-block-group__inner-container > .brb-layout-strip.brb-layout-edge) > .wp-block-group__inner-container > :not(.brb-layout-strip.brb-layout-edge),
.editor-styles-wrapper :is(.brb-section, .is-style-brb-section):has(> .block-editor-inner-blocks > .block-editor-block-list__layout > .brb-layout-strip.brb-layout-edge) > .block-editor-inner-blocks > .block-editor-block-list__layout > :not(.brb-layout-strip.brb-layout-edge) {
  margin-inline: var(--brb-section-gutter, 24px);
}
.wp-block-group.brb-layout-strip.brb-layout-edge:not(:has(> .wp-block-group__inner-container, > .block-editor-inner-blocks)),
.brb-layout-strip.brb-layout-edge > .wp-block-group__inner-container,
.editor-styles-wrapper .brb-layout-strip.brb-layout-edge > .block-editor-inner-blocks > .block-editor-block-list__layout {
  padding-inline: var(--brb-section-gutter, 24px);
  scroll-padding-inline: var(--brb-section-gutter, 24px);
  box-sizing: border-box;
}
/* Adjustable image/backplate compositions: opt-in, shared with the real editor. */
.wp-block-group:is(.brb-media-frame-left, .brb-media-frame-right).brb-media-perspective {
  --brb-frame-turn: 0; --brb-frame-turn-abs: 0;
  --brb-frame-x: 20; --brb-frame-x-abs: 20;
  --brb-frame-y: 10; --brb-frame-y-abs: 10;
  --brb-frame-width: 80; --brb-frame-height: 90;
  --brb-frame-depth: 18; --brb-frame-depth-abs: 18;
  --brb-frame-depth-active: var(--brb-frame-depth);
  --brb-frame-depth-space: var(--brb-frame-depth-abs);
}
.wp-block-group.brb-media-frame-left.brb-media-perspective {
  --brb-frame-x: -20; --brb-frame-depth: -18;
}
.wp-block-group:is(.brb-media-frame-left, .brb-media-frame-right):is(.brb-media-tuned, .brb-media-perspective) {
  --brb-frame-spread-x: max(0, var(--brb-frame-x-abs, 0) + (var(--brb-frame-width, 100) - 100) / 2 + var(--brb-frame-turn-abs, 3) * 1.5);
  --brb-frame-pad-x: max(16px, calc(var(--brb-frame-spread-x) / (100 + var(--brb-frame-spread-x) * 2) * 100%));
  --brb-frame-pad-y: max(24px, calc((max(0, var(--brb-frame-y-abs, 0) + (var(--brb-frame-height, 100) - 100) / 2) + var(--brb-frame-turn-abs, 3) + var(--brb-frame-depth-space, 0) * .5) * clamp(2px, .3vw, 4px)));
  padding: var(--brb-frame-pad-y) var(--brb-frame-pad-x);
}
.wp-block-group:is(.brb-media-frame-left, .brb-media-frame-right):is(.brb-media-tuned, .brb-media-perspective)::before {
  inset: var(--brb-frame-pad-y) var(--brb-frame-pad-x);
  transform: translate(calc(var(--brb-frame-x, 0) * 1%), calc(var(--brb-frame-y, 0) * 1%)) perspective(900px) rotateY(calc(var(--brb-frame-depth-active, 0) * -.5deg)) rotate(calc(var(--brb-frame-turn, var(--brb-frame-default-turn, 3)) * 1deg)) scale(calc(var(--brb-frame-width, 100) / 100), calc(var(--brb-frame-height, 100) / 100));
  transform-origin: center;
}
.wp-block-group:is(.brb-media-frame-left, .brb-media-frame-right).brb-media-perspective img {
  transform: perspective(900px) rotateY(calc(var(--brb-frame-depth) * -1deg));
  transform-origin: center;
}
.wp-block-group.wp-block-group.brb-media-turn-m12 { --brb-frame-turn: -12; --brb-frame-turn-abs: 12; }
.wp-block-group.wp-block-group.brb-media-turn-m11 { --brb-frame-turn: -11; --brb-frame-turn-abs: 11; }
.wp-block-group.wp-block-group.brb-media-turn-m10 { --brb-frame-turn: -10; --brb-frame-turn-abs: 10; }
.wp-block-group.wp-block-group.brb-media-turn-m9 { --brb-frame-turn: -9; --brb-frame-turn-abs: 9; }
.wp-block-group.wp-block-group.brb-media-turn-m8 { --brb-frame-turn: -8; --brb-frame-turn-abs: 8; }
.wp-block-group.wp-block-group.brb-media-turn-m7 { --brb-frame-turn: -7; --brb-frame-turn-abs: 7; }
.wp-block-group.wp-block-group.brb-media-turn-m6 { --brb-frame-turn: -6; --brb-frame-turn-abs: 6; }
.wp-block-group.wp-block-group.brb-media-turn-m5 { --brb-frame-turn: -5; --brb-frame-turn-abs: 5; }
.wp-block-group.wp-block-group.brb-media-turn-m4 { --brb-frame-turn: -4; --brb-frame-turn-abs: 4; }
.wp-block-group.wp-block-group.brb-media-turn-m3 { --brb-frame-turn: -3; --brb-frame-turn-abs: 3; }
.wp-block-group.wp-block-group.brb-media-turn-m2 { --brb-frame-turn: -2; --brb-frame-turn-abs: 2; }
.wp-block-group.wp-block-group.brb-media-turn-m1 { --brb-frame-turn: -1; --brb-frame-turn-abs: 1; }
.wp-block-group.wp-block-group.brb-media-turn-0 { --brb-frame-turn: 0; --brb-frame-turn-abs: 0; }
.wp-block-group.wp-block-group.brb-media-turn-1 { --brb-frame-turn: 1; --brb-frame-turn-abs: 1; }
.wp-block-group.wp-block-group.brb-media-turn-2 { --brb-frame-turn: 2; --brb-frame-turn-abs: 2; }
.wp-block-group.wp-block-group.brb-media-turn-3 { --brb-frame-turn: 3; --brb-frame-turn-abs: 3; }
.wp-block-group.wp-block-group.brb-media-turn-4 { --brb-frame-turn: 4; --brb-frame-turn-abs: 4; }
.wp-block-group.wp-block-group.brb-media-turn-5 { --brb-frame-turn: 5; --brb-frame-turn-abs: 5; }
.wp-block-group.wp-block-group.brb-media-turn-6 { --brb-frame-turn: 6; --brb-frame-turn-abs: 6; }
.wp-block-group.wp-block-group.brb-media-turn-7 { --brb-frame-turn: 7; --brb-frame-turn-abs: 7; }
.wp-block-group.wp-block-group.brb-media-turn-8 { --brb-frame-turn: 8; --brb-frame-turn-abs: 8; }
.wp-block-group.wp-block-group.brb-media-turn-9 { --brb-frame-turn: 9; --brb-frame-turn-abs: 9; }
.wp-block-group.wp-block-group.brb-media-turn-10 { --brb-frame-turn: 10; --brb-frame-turn-abs: 10; }
.wp-block-group.wp-block-group.brb-media-turn-11 { --brb-frame-turn: 11; --brb-frame-turn-abs: 11; }
.wp-block-group.wp-block-group.brb-media-turn-12 { --brb-frame-turn: 12; --brb-frame-turn-abs: 12; }
.wp-block-group.wp-block-group.brb-media-x-m25 { --brb-frame-x: -25; --brb-frame-x-abs: 25; }
.wp-block-group.wp-block-group.brb-media-x-m24 { --brb-frame-x: -24; --brb-frame-x-abs: 24; }
.wp-block-group.wp-block-group.brb-media-x-m23 { --brb-frame-x: -23; --brb-frame-x-abs: 23; }
.wp-block-group.wp-block-group.brb-media-x-m22 { --brb-frame-x: -22; --brb-frame-x-abs: 22; }
.wp-block-group.wp-block-group.brb-media-x-m21 { --brb-frame-x: -21; --brb-frame-x-abs: 21; }
.wp-block-group.wp-block-group.brb-media-x-m20 { --brb-frame-x: -20; --brb-frame-x-abs: 20; }
.wp-block-group.wp-block-group.brb-media-x-m19 { --brb-frame-x: -19; --brb-frame-x-abs: 19; }
.wp-block-group.wp-block-group.brb-media-x-m18 { --brb-frame-x: -18; --brb-frame-x-abs: 18; }
.wp-block-group.wp-block-group.brb-media-x-m17 { --brb-frame-x: -17; --brb-frame-x-abs: 17; }
.wp-block-group.wp-block-group.brb-media-x-m16 { --brb-frame-x: -16; --brb-frame-x-abs: 16; }
.wp-block-group.wp-block-group.brb-media-x-m15 { --brb-frame-x: -15; --brb-frame-x-abs: 15; }
.wp-block-group.wp-block-group.brb-media-x-m14 { --brb-frame-x: -14; --brb-frame-x-abs: 14; }
.wp-block-group.wp-block-group.brb-media-x-m13 { --brb-frame-x: -13; --brb-frame-x-abs: 13; }
.wp-block-group.wp-block-group.brb-media-x-m12 { --brb-frame-x: -12; --brb-frame-x-abs: 12; }
.wp-block-group.wp-block-group.brb-media-x-m11 { --brb-frame-x: -11; --brb-frame-x-abs: 11; }
.wp-block-group.wp-block-group.brb-media-x-m10 { --brb-frame-x: -10; --brb-frame-x-abs: 10; }
.wp-block-group.wp-block-group.brb-media-x-m9 { --brb-frame-x: -9; --brb-frame-x-abs: 9; }
.wp-block-group.wp-block-group.brb-media-x-m8 { --brb-frame-x: -8; --brb-frame-x-abs: 8; }
.wp-block-group.wp-block-group.brb-media-x-m7 { --brb-frame-x: -7; --brb-frame-x-abs: 7; }
.wp-block-group.wp-block-group.brb-media-x-m6 { --brb-frame-x: -6; --brb-frame-x-abs: 6; }
.wp-block-group.wp-block-group.brb-media-x-m5 { --brb-frame-x: -5; --brb-frame-x-abs: 5; }
.wp-block-group.wp-block-group.brb-media-x-m4 { --brb-frame-x: -4; --brb-frame-x-abs: 4; }
.wp-block-group.wp-block-group.brb-media-x-m3 { --brb-frame-x: -3; --brb-frame-x-abs: 3; }
.wp-block-group.wp-block-group.brb-media-x-m2 { --brb-frame-x: -2; --brb-frame-x-abs: 2; }
.wp-block-group.wp-block-group.brb-media-x-m1 { --brb-frame-x: -1; --brb-frame-x-abs: 1; }
.wp-block-group.wp-block-group.brb-media-x-0 { --brb-frame-x: 0; --brb-frame-x-abs: 0; }
.wp-block-group.wp-block-group.brb-media-x-1 { --brb-frame-x: 1; --brb-frame-x-abs: 1; }
.wp-block-group.wp-block-group.brb-media-x-2 { --brb-frame-x: 2; --brb-frame-x-abs: 2; }
.wp-block-group.wp-block-group.brb-media-x-3 { --brb-frame-x: 3; --brb-frame-x-abs: 3; }
.wp-block-group.wp-block-group.brb-media-x-4 { --brb-frame-x: 4; --brb-frame-x-abs: 4; }
.wp-block-group.wp-block-group.brb-media-x-5 { --brb-frame-x: 5; --brb-frame-x-abs: 5; }
.wp-block-group.wp-block-group.brb-media-x-6 { --brb-frame-x: 6; --brb-frame-x-abs: 6; }
.wp-block-group.wp-block-group.brb-media-x-7 { --brb-frame-x: 7; --brb-frame-x-abs: 7; }
.wp-block-group.wp-block-group.brb-media-x-8 { --brb-frame-x: 8; --brb-frame-x-abs: 8; }
.wp-block-group.wp-block-group.brb-media-x-9 { --brb-frame-x: 9; --brb-frame-x-abs: 9; }
.wp-block-group.wp-block-group.brb-media-x-10 { --brb-frame-x: 10; --brb-frame-x-abs: 10; }
.wp-block-group.wp-block-group.brb-media-x-11 { --brb-frame-x: 11; --brb-frame-x-abs: 11; }
.wp-block-group.wp-block-group.brb-media-x-12 { --brb-frame-x: 12; --brb-frame-x-abs: 12; }
.wp-block-group.wp-block-group.brb-media-x-13 { --brb-frame-x: 13; --brb-frame-x-abs: 13; }
.wp-block-group.wp-block-group.brb-media-x-14 { --brb-frame-x: 14; --brb-frame-x-abs: 14; }
.wp-block-group.wp-block-group.brb-media-x-15 { --brb-frame-x: 15; --brb-frame-x-abs: 15; }
.wp-block-group.wp-block-group.brb-media-x-16 { --brb-frame-x: 16; --brb-frame-x-abs: 16; }
.wp-block-group.wp-block-group.brb-media-x-17 { --brb-frame-x: 17; --brb-frame-x-abs: 17; }
.wp-block-group.wp-block-group.brb-media-x-18 { --brb-frame-x: 18; --brb-frame-x-abs: 18; }
.wp-block-group.wp-block-group.brb-media-x-19 { --brb-frame-x: 19; --brb-frame-x-abs: 19; }
.wp-block-group.wp-block-group.brb-media-x-20 { --brb-frame-x: 20; --brb-frame-x-abs: 20; }
.wp-block-group.wp-block-group.brb-media-x-21 { --brb-frame-x: 21; --brb-frame-x-abs: 21; }
.wp-block-group.wp-block-group.brb-media-x-22 { --brb-frame-x: 22; --brb-frame-x-abs: 22; }
.wp-block-group.wp-block-group.brb-media-x-23 { --brb-frame-x: 23; --brb-frame-x-abs: 23; }
.wp-block-group.wp-block-group.brb-media-x-24 { --brb-frame-x: 24; --brb-frame-x-abs: 24; }
.wp-block-group.wp-block-group.brb-media-x-25 { --brb-frame-x: 25; --brb-frame-x-abs: 25; }
.wp-block-group.wp-block-group.brb-media-y-m25 { --brb-frame-y: -25; --brb-frame-y-abs: 25; }
.wp-block-group.wp-block-group.brb-media-y-m24 { --brb-frame-y: -24; --brb-frame-y-abs: 24; }
.wp-block-group.wp-block-group.brb-media-y-m23 { --brb-frame-y: -23; --brb-frame-y-abs: 23; }
.wp-block-group.wp-block-group.brb-media-y-m22 { --brb-frame-y: -22; --brb-frame-y-abs: 22; }
.wp-block-group.wp-block-group.brb-media-y-m21 { --brb-frame-y: -21; --brb-frame-y-abs: 21; }
.wp-block-group.wp-block-group.brb-media-y-m20 { --brb-frame-y: -20; --brb-frame-y-abs: 20; }
.wp-block-group.wp-block-group.brb-media-y-m19 { --brb-frame-y: -19; --brb-frame-y-abs: 19; }
.wp-block-group.wp-block-group.brb-media-y-m18 { --brb-frame-y: -18; --brb-frame-y-abs: 18; }
.wp-block-group.wp-block-group.brb-media-y-m17 { --brb-frame-y: -17; --brb-frame-y-abs: 17; }
.wp-block-group.wp-block-group.brb-media-y-m16 { --brb-frame-y: -16; --brb-frame-y-abs: 16; }
.wp-block-group.wp-block-group.brb-media-y-m15 { --brb-frame-y: -15; --brb-frame-y-abs: 15; }
.wp-block-group.wp-block-group.brb-media-y-m14 { --brb-frame-y: -14; --brb-frame-y-abs: 14; }
.wp-block-group.wp-block-group.brb-media-y-m13 { --brb-frame-y: -13; --brb-frame-y-abs: 13; }
.wp-block-group.wp-block-group.brb-media-y-m12 { --brb-frame-y: -12; --brb-frame-y-abs: 12; }
.wp-block-group.wp-block-group.brb-media-y-m11 { --brb-frame-y: -11; --brb-frame-y-abs: 11; }
.wp-block-group.wp-block-group.brb-media-y-m10 { --brb-frame-y: -10; --brb-frame-y-abs: 10; }
.wp-block-group.wp-block-group.brb-media-y-m9 { --brb-frame-y: -9; --brb-frame-y-abs: 9; }
.wp-block-group.wp-block-group.brb-media-y-m8 { --brb-frame-y: -8; --brb-frame-y-abs: 8; }
.wp-block-group.wp-block-group.brb-media-y-m7 { --brb-frame-y: -7; --brb-frame-y-abs: 7; }
.wp-block-group.wp-block-group.brb-media-y-m6 { --brb-frame-y: -6; --brb-frame-y-abs: 6; }
.wp-block-group.wp-block-group.brb-media-y-m5 { --brb-frame-y: -5; --brb-frame-y-abs: 5; }
.wp-block-group.wp-block-group.brb-media-y-m4 { --brb-frame-y: -4; --brb-frame-y-abs: 4; }
.wp-block-group.wp-block-group.brb-media-y-m3 { --brb-frame-y: -3; --brb-frame-y-abs: 3; }
.wp-block-group.wp-block-group.brb-media-y-m2 { --brb-frame-y: -2; --brb-frame-y-abs: 2; }
.wp-block-group.wp-block-group.brb-media-y-m1 { --brb-frame-y: -1; --brb-frame-y-abs: 1; }
.wp-block-group.wp-block-group.brb-media-y-0 { --brb-frame-y: 0; --brb-frame-y-abs: 0; }
.wp-block-group.wp-block-group.brb-media-y-1 { --brb-frame-y: 1; --brb-frame-y-abs: 1; }
.wp-block-group.wp-block-group.brb-media-y-2 { --brb-frame-y: 2; --brb-frame-y-abs: 2; }
.wp-block-group.wp-block-group.brb-media-y-3 { --brb-frame-y: 3; --brb-frame-y-abs: 3; }
.wp-block-group.wp-block-group.brb-media-y-4 { --brb-frame-y: 4; --brb-frame-y-abs: 4; }
.wp-block-group.wp-block-group.brb-media-y-5 { --brb-frame-y: 5; --brb-frame-y-abs: 5; }
.wp-block-group.wp-block-group.brb-media-y-6 { --brb-frame-y: 6; --brb-frame-y-abs: 6; }
.wp-block-group.wp-block-group.brb-media-y-7 { --brb-frame-y: 7; --brb-frame-y-abs: 7; }
.wp-block-group.wp-block-group.brb-media-y-8 { --brb-frame-y: 8; --brb-frame-y-abs: 8; }
.wp-block-group.wp-block-group.brb-media-y-9 { --brb-frame-y: 9; --brb-frame-y-abs: 9; }
.wp-block-group.wp-block-group.brb-media-y-10 { --brb-frame-y: 10; --brb-frame-y-abs: 10; }
.wp-block-group.wp-block-group.brb-media-y-11 { --brb-frame-y: 11; --brb-frame-y-abs: 11; }
.wp-block-group.wp-block-group.brb-media-y-12 { --brb-frame-y: 12; --brb-frame-y-abs: 12; }
.wp-block-group.wp-block-group.brb-media-y-13 { --brb-frame-y: 13; --brb-frame-y-abs: 13; }
.wp-block-group.wp-block-group.brb-media-y-14 { --brb-frame-y: 14; --brb-frame-y-abs: 14; }
.wp-block-group.wp-block-group.brb-media-y-15 { --brb-frame-y: 15; --brb-frame-y-abs: 15; }
.wp-block-group.wp-block-group.brb-media-y-16 { --brb-frame-y: 16; --brb-frame-y-abs: 16; }
.wp-block-group.wp-block-group.brb-media-y-17 { --brb-frame-y: 17; --brb-frame-y-abs: 17; }
.wp-block-group.wp-block-group.brb-media-y-18 { --brb-frame-y: 18; --brb-frame-y-abs: 18; }
.wp-block-group.wp-block-group.brb-media-y-19 { --brb-frame-y: 19; --brb-frame-y-abs: 19; }
.wp-block-group.wp-block-group.brb-media-y-20 { --brb-frame-y: 20; --brb-frame-y-abs: 20; }
.wp-block-group.wp-block-group.brb-media-y-21 { --brb-frame-y: 21; --brb-frame-y-abs: 21; }
.wp-block-group.wp-block-group.brb-media-y-22 { --brb-frame-y: 22; --brb-frame-y-abs: 22; }
.wp-block-group.wp-block-group.brb-media-y-23 { --brb-frame-y: 23; --brb-frame-y-abs: 23; }
.wp-block-group.wp-block-group.brb-media-y-24 { --brb-frame-y: 24; --brb-frame-y-abs: 24; }
.wp-block-group.wp-block-group.brb-media-y-25 { --brb-frame-y: 25; --brb-frame-y-abs: 25; }
.wp-block-group.wp-block-group.brb-media-width-60 { --brb-frame-width: 60; }
.wp-block-group.wp-block-group.brb-media-width-61 { --brb-frame-width: 61; }
.wp-block-group.wp-block-group.brb-media-width-62 { --brb-frame-width: 62; }
.wp-block-group.wp-block-group.brb-media-width-63 { --brb-frame-width: 63; }
.wp-block-group.wp-block-group.brb-media-width-64 { --brb-frame-width: 64; }
.wp-block-group.wp-block-group.brb-media-width-65 { --brb-frame-width: 65; }
.wp-block-group.wp-block-group.brb-media-width-66 { --brb-frame-width: 66; }
.wp-block-group.wp-block-group.brb-media-width-67 { --brb-frame-width: 67; }
.wp-block-group.wp-block-group.brb-media-width-68 { --brb-frame-width: 68; }
.wp-block-group.wp-block-group.brb-media-width-69 { --brb-frame-width: 69; }
.wp-block-group.wp-block-group.brb-media-width-70 { --brb-frame-width: 70; }
.wp-block-group.wp-block-group.brb-media-width-71 { --brb-frame-width: 71; }
.wp-block-group.wp-block-group.brb-media-width-72 { --brb-frame-width: 72; }
.wp-block-group.wp-block-group.brb-media-width-73 { --brb-frame-width: 73; }
.wp-block-group.wp-block-group.brb-media-width-74 { --brb-frame-width: 74; }
.wp-block-group.wp-block-group.brb-media-width-75 { --brb-frame-width: 75; }
.wp-block-group.wp-block-group.brb-media-width-76 { --brb-frame-width: 76; }
.wp-block-group.wp-block-group.brb-media-width-77 { --brb-frame-width: 77; }
.wp-block-group.wp-block-group.brb-media-width-78 { --brb-frame-width: 78; }
.wp-block-group.wp-block-group.brb-media-width-79 { --brb-frame-width: 79; }
.wp-block-group.wp-block-group.brb-media-width-80 { --brb-frame-width: 80; }
.wp-block-group.wp-block-group.brb-media-width-81 { --brb-frame-width: 81; }
.wp-block-group.wp-block-group.brb-media-width-82 { --brb-frame-width: 82; }
.wp-block-group.wp-block-group.brb-media-width-83 { --brb-frame-width: 83; }
.wp-block-group.wp-block-group.brb-media-width-84 { --brb-frame-width: 84; }
.wp-block-group.wp-block-group.brb-media-width-85 { --brb-frame-width: 85; }
.wp-block-group.wp-block-group.brb-media-width-86 { --brb-frame-width: 86; }
.wp-block-group.wp-block-group.brb-media-width-87 { --brb-frame-width: 87; }
.wp-block-group.wp-block-group.brb-media-width-88 { --brb-frame-width: 88; }
.wp-block-group.wp-block-group.brb-media-width-89 { --brb-frame-width: 89; }
.wp-block-group.wp-block-group.brb-media-width-90 { --brb-frame-width: 90; }
.wp-block-group.wp-block-group.brb-media-width-91 { --brb-frame-width: 91; }
.wp-block-group.wp-block-group.brb-media-width-92 { --brb-frame-width: 92; }
.wp-block-group.wp-block-group.brb-media-width-93 { --brb-frame-width: 93; }
.wp-block-group.wp-block-group.brb-media-width-94 { --brb-frame-width: 94; }
.wp-block-group.wp-block-group.brb-media-width-95 { --brb-frame-width: 95; }
.wp-block-group.wp-block-group.brb-media-width-96 { --brb-frame-width: 96; }
.wp-block-group.wp-block-group.brb-media-width-97 { --brb-frame-width: 97; }
.wp-block-group.wp-block-group.brb-media-width-98 { --brb-frame-width: 98; }
.wp-block-group.wp-block-group.brb-media-width-99 { --brb-frame-width: 99; }
.wp-block-group.wp-block-group.brb-media-width-100 { --brb-frame-width: 100; }
.wp-block-group.wp-block-group.brb-media-height-60 { --brb-frame-height: 60; }
.wp-block-group.wp-block-group.brb-media-height-61 { --brb-frame-height: 61; }
.wp-block-group.wp-block-group.brb-media-height-62 { --brb-frame-height: 62; }
.wp-block-group.wp-block-group.brb-media-height-63 { --brb-frame-height: 63; }
.wp-block-group.wp-block-group.brb-media-height-64 { --brb-frame-height: 64; }
.wp-block-group.wp-block-group.brb-media-height-65 { --brb-frame-height: 65; }
.wp-block-group.wp-block-group.brb-media-height-66 { --brb-frame-height: 66; }
.wp-block-group.wp-block-group.brb-media-height-67 { --brb-frame-height: 67; }
.wp-block-group.wp-block-group.brb-media-height-68 { --brb-frame-height: 68; }
.wp-block-group.wp-block-group.brb-media-height-69 { --brb-frame-height: 69; }
.wp-block-group.wp-block-group.brb-media-height-70 { --brb-frame-height: 70; }
.wp-block-group.wp-block-group.brb-media-height-71 { --brb-frame-height: 71; }
.wp-block-group.wp-block-group.brb-media-height-72 { --brb-frame-height: 72; }
.wp-block-group.wp-block-group.brb-media-height-73 { --brb-frame-height: 73; }
.wp-block-group.wp-block-group.brb-media-height-74 { --brb-frame-height: 74; }
.wp-block-group.wp-block-group.brb-media-height-75 { --brb-frame-height: 75; }
.wp-block-group.wp-block-group.brb-media-height-76 { --brb-frame-height: 76; }
.wp-block-group.wp-block-group.brb-media-height-77 { --brb-frame-height: 77; }
.wp-block-group.wp-block-group.brb-media-height-78 { --brb-frame-height: 78; }
.wp-block-group.wp-block-group.brb-media-height-79 { --brb-frame-height: 79; }
.wp-block-group.wp-block-group.brb-media-height-80 { --brb-frame-height: 80; }
.wp-block-group.wp-block-group.brb-media-height-81 { --brb-frame-height: 81; }
.wp-block-group.wp-block-group.brb-media-height-82 { --brb-frame-height: 82; }
.wp-block-group.wp-block-group.brb-media-height-83 { --brb-frame-height: 83; }
.wp-block-group.wp-block-group.brb-media-height-84 { --brb-frame-height: 84; }
.wp-block-group.wp-block-group.brb-media-height-85 { --brb-frame-height: 85; }
.wp-block-group.wp-block-group.brb-media-height-86 { --brb-frame-height: 86; }
.wp-block-group.wp-block-group.brb-media-height-87 { --brb-frame-height: 87; }
.wp-block-group.wp-block-group.brb-media-height-88 { --brb-frame-height: 88; }
.wp-block-group.wp-block-group.brb-media-height-89 { --brb-frame-height: 89; }
.wp-block-group.wp-block-group.brb-media-height-90 { --brb-frame-height: 90; }
.wp-block-group.wp-block-group.brb-media-height-91 { --brb-frame-height: 91; }
.wp-block-group.wp-block-group.brb-media-height-92 { --brb-frame-height: 92; }
.wp-block-group.wp-block-group.brb-media-height-93 { --brb-frame-height: 93; }
.wp-block-group.wp-block-group.brb-media-height-94 { --brb-frame-height: 94; }
.wp-block-group.wp-block-group.brb-media-height-95 { --brb-frame-height: 95; }
.wp-block-group.wp-block-group.brb-media-height-96 { --brb-frame-height: 96; }
.wp-block-group.wp-block-group.brb-media-height-97 { --brb-frame-height: 97; }
.wp-block-group.wp-block-group.brb-media-height-98 { --brb-frame-height: 98; }
.wp-block-group.wp-block-group.brb-media-height-99 { --brb-frame-height: 99; }
.wp-block-group.wp-block-group.brb-media-height-100 { --brb-frame-height: 100; }
.wp-block-group.wp-block-group.brb-media-depth-m24 { --brb-frame-depth: -24; --brb-frame-depth-abs: 24; }
.wp-block-group.wp-block-group.brb-media-depth-m23 { --brb-frame-depth: -23; --brb-frame-depth-abs: 23; }
.wp-block-group.wp-block-group.brb-media-depth-m22 { --brb-frame-depth: -22; --brb-frame-depth-abs: 22; }
.wp-block-group.wp-block-group.brb-media-depth-m21 { --brb-frame-depth: -21; --brb-frame-depth-abs: 21; }
.wp-block-group.wp-block-group.brb-media-depth-m20 { --brb-frame-depth: -20; --brb-frame-depth-abs: 20; }
.wp-block-group.wp-block-group.brb-media-depth-m19 { --brb-frame-depth: -19; --brb-frame-depth-abs: 19; }
.wp-block-group.wp-block-group.brb-media-depth-m18 { --brb-frame-depth: -18; --brb-frame-depth-abs: 18; }
.wp-block-group.wp-block-group.brb-media-depth-m17 { --brb-frame-depth: -17; --brb-frame-depth-abs: 17; }
.wp-block-group.wp-block-group.brb-media-depth-m16 { --brb-frame-depth: -16; --brb-frame-depth-abs: 16; }
.wp-block-group.wp-block-group.brb-media-depth-m15 { --brb-frame-depth: -15; --brb-frame-depth-abs: 15; }
.wp-block-group.wp-block-group.brb-media-depth-m14 { --brb-frame-depth: -14; --brb-frame-depth-abs: 14; }
.wp-block-group.wp-block-group.brb-media-depth-m13 { --brb-frame-depth: -13; --brb-frame-depth-abs: 13; }
.wp-block-group.wp-block-group.brb-media-depth-m12 { --brb-frame-depth: -12; --brb-frame-depth-abs: 12; }
.wp-block-group.wp-block-group.brb-media-depth-m11 { --brb-frame-depth: -11; --brb-frame-depth-abs: 11; }
.wp-block-group.wp-block-group.brb-media-depth-m10 { --brb-frame-depth: -10; --brb-frame-depth-abs: 10; }
.wp-block-group.wp-block-group.brb-media-depth-m9 { --brb-frame-depth: -9; --brb-frame-depth-abs: 9; }
.wp-block-group.wp-block-group.brb-media-depth-m8 { --brb-frame-depth: -8; --brb-frame-depth-abs: 8; }
.wp-block-group.wp-block-group.brb-media-depth-m7 { --brb-frame-depth: -7; --brb-frame-depth-abs: 7; }
.wp-block-group.wp-block-group.brb-media-depth-m6 { --brb-frame-depth: -6; --brb-frame-depth-abs: 6; }
.wp-block-group.wp-block-group.brb-media-depth-m5 { --brb-frame-depth: -5; --brb-frame-depth-abs: 5; }
.wp-block-group.wp-block-group.brb-media-depth-m4 { --brb-frame-depth: -4; --brb-frame-depth-abs: 4; }
.wp-block-group.wp-block-group.brb-media-depth-m3 { --brb-frame-depth: -3; --brb-frame-depth-abs: 3; }
.wp-block-group.wp-block-group.brb-media-depth-m2 { --brb-frame-depth: -2; --brb-frame-depth-abs: 2; }
.wp-block-group.wp-block-group.brb-media-depth-m1 { --brb-frame-depth: -1; --brb-frame-depth-abs: 1; }
.wp-block-group.wp-block-group.brb-media-depth-0 { --brb-frame-depth: 0; --brb-frame-depth-abs: 0; }
.wp-block-group.wp-block-group.brb-media-depth-1 { --brb-frame-depth: 1; --brb-frame-depth-abs: 1; }
.wp-block-group.wp-block-group.brb-media-depth-2 { --brb-frame-depth: 2; --brb-frame-depth-abs: 2; }
.wp-block-group.wp-block-group.brb-media-depth-3 { --brb-frame-depth: 3; --brb-frame-depth-abs: 3; }
.wp-block-group.wp-block-group.brb-media-depth-4 { --brb-frame-depth: 4; --brb-frame-depth-abs: 4; }
.wp-block-group.wp-block-group.brb-media-depth-5 { --brb-frame-depth: 5; --brb-frame-depth-abs: 5; }
.wp-block-group.wp-block-group.brb-media-depth-6 { --brb-frame-depth: 6; --brb-frame-depth-abs: 6; }
.wp-block-group.wp-block-group.brb-media-depth-7 { --brb-frame-depth: 7; --brb-frame-depth-abs: 7; }
.wp-block-group.wp-block-group.brb-media-depth-8 { --brb-frame-depth: 8; --brb-frame-depth-abs: 8; }
.wp-block-group.wp-block-group.brb-media-depth-9 { --brb-frame-depth: 9; --brb-frame-depth-abs: 9; }
.wp-block-group.wp-block-group.brb-media-depth-10 { --brb-frame-depth: 10; --brb-frame-depth-abs: 10; }
.wp-block-group.wp-block-group.brb-media-depth-11 { --brb-frame-depth: 11; --brb-frame-depth-abs: 11; }
.wp-block-group.wp-block-group.brb-media-depth-12 { --brb-frame-depth: 12; --brb-frame-depth-abs: 12; }
.wp-block-group.wp-block-group.brb-media-depth-13 { --brb-frame-depth: 13; --brb-frame-depth-abs: 13; }
.wp-block-group.wp-block-group.brb-media-depth-14 { --brb-frame-depth: 14; --brb-frame-depth-abs: 14; }
.wp-block-group.wp-block-group.brb-media-depth-15 { --brb-frame-depth: 15; --brb-frame-depth-abs: 15; }
.wp-block-group.wp-block-group.brb-media-depth-16 { --brb-frame-depth: 16; --brb-frame-depth-abs: 16; }
.wp-block-group.wp-block-group.brb-media-depth-17 { --brb-frame-depth: 17; --brb-frame-depth-abs: 17; }
.wp-block-group.wp-block-group.brb-media-depth-18 { --brb-frame-depth: 18; --brb-frame-depth-abs: 18; }
.wp-block-group.wp-block-group.brb-media-depth-19 { --brb-frame-depth: 19; --brb-frame-depth-abs: 19; }
.wp-block-group.wp-block-group.brb-media-depth-20 { --brb-frame-depth: 20; --brb-frame-depth-abs: 20; }
.wp-block-group.wp-block-group.brb-media-depth-21 { --brb-frame-depth: 21; --brb-frame-depth-abs: 21; }
.wp-block-group.wp-block-group.brb-media-depth-22 { --brb-frame-depth: 22; --brb-frame-depth-abs: 22; }
.wp-block-group.wp-block-group.brb-media-depth-23 { --brb-frame-depth: 23; --brb-frame-depth-abs: 23; }
.wp-block-group.wp-block-group.brb-media-depth-24 { --brb-frame-depth: 24; --brb-frame-depth-abs: 24; }

.wp-block-heading.brb-heading-measured.brb-heading-measured { max-width: min(100%, var(--brb-heading-measure, 18ch)); }
/* CF7 composition. Opt-in wrapper; never targets other forms/plugins. */
.brb-cf7 {
  --brb-cf-field-bg: transparent;
  --brb-cf-muted: color-mix(in srgb, currentColor 75%, transparent);
  --brb-cf-line: color-mix(in srgb, currentColor 70%, transparent);
  --brb-cf-error: color-mix(in srgb, currentColor 85%, #ed1830);
  --brb-cf-success: color-mix(in srgb, currentColor 85%, #13854b);
  --brb-cf-gap: 24px;
  container: brb-contact / inline-size;
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  max-width: var(--brb-cf-width, var(--brb-reading-width, 760px));
  margin-inline: auto;
  color: var(--brb-ink);
  overflow-wrap: anywhere;
}
.brb-cf7.brb-cf-style-card, .brb-cf7.brb-cf-style-dark {
  background: var(--brb-surface);
  padding: clamp(16px, 4%, 32px);
  border: 1px solid var(--brb-cf-line);
  border-radius: var(--brb-radius, 12px);
  box-shadow: var(--brb-cf-shadow, var(--brb-card-shadow, none));
}
.brb-cf7.brb-cf-style-dark, .brb-cf7.brb-cf-palette-dark {
  --brb-cf-field-bg: #222a35;
  --brb-cf-error: #ffb4b9;
  --brb-cf-success: #8ee3b3;
  background: #141b24;
  color: #f5f7fa;
  color-scheme: dark;
}
.brb-cf7.brb-cf-palette-light {
  --brb-cf-field-bg: #fff;
  --brb-cf-error: #a51d25;
  --brb-cf-success: #17623b;
  background: #fff;
  color: #20252c;
  color-scheme: light;
}
.brb-cf7.brb-cf-palette-custom {
  --brb-cf-field-bg: transparent;
  --brb-cf-error: color-mix(in srgb, currentColor 85%, #ed1830);
  --brb-cf-success: color-mix(in srgb, currentColor 85%, #13854b);
  color-scheme: normal;
}
.brb-cf7 .brb-cf-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--brb-cf-gap); }
.brb-cf7 .brb-cf-grid > *, .brb-cf7 .wpcf7-form-control-wrap { min-width: 0; }
.brb-cf7 .brb-cf-full { grid-column: 1 / -1; }
.brb-cf7 .brb-cf-field p, .brb-cf7 .brb-cf-actions p { margin: 0; }
.brb-cf7 .wpcf7 label { display: block; font: inherit; font-weight: 600; line-height: 1.5; }
.brb-cf7 .wpcf7 :is(input, select, textarea) { scroll-margin-block: 120px; }
.brb-cf7 .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.brb-cf7 .wpcf7 :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]), select, textarea) {
  box-sizing: border-box;
  display: block;
  width: 100%; max-width: 100%;
  min-height: var(--brb-cf-height, 48px);
  padding: var(--brb-cf-padding, 12px);
  border: var(--brb-cf-border, 1px) solid var(--brb-cf-line);
  border-radius: var(--brb-cf-radius, 4px);
  background-color: var(--brb-cf-field-bg);
  color: inherit;
  font: inherit;
  line-height: 1.5;
  transition: border-color var(--brb-hover-duration, 150ms) ease, background-color var(--brb-hover-duration, 150ms) ease;
}
.brb-cf7 .wpcf7 select { appearance: auto; }
.brb-cf7 .wpcf7 select option { background: var(--brb-paper, #fff); color: var(--brb-ink, #20252c); }
.brb-cf7:is(.brb-cf-style-dark,.brb-cf-palette-dark):not(.brb-cf-palette-light):not(.brb-cf-palette-custom) .wpcf7 select option { background: #222a35; color: #f5f7fa; }
.brb-cf7 .wpcf7 textarea { min-height: 160px; resize: vertical; }
.brb-cf7 .wpcf7 ::placeholder { color: var(--brb-cf-muted); opacity: 1; }
.brb-cf7 .wpcf7 :is(input,select,textarea):hover:not(:disabled) { border-color: currentColor; }
.brb-cf7 .wpcf7 :is(input,select,textarea,button,a):focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.brb-cf7.brb-cf-style-underline .wpcf7 :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),select,textarea) {
  border-color: transparent;
  border-bottom-color: var(--brb-cf-line);
  border-radius: 0;
  background-color: transparent;
}
.brb-cf7.brb-cf-style-underline .wpcf7 :is(input,select,textarea):is(:hover,:focus-visible) { border-bottom-color: currentColor; }
.brb-cf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.brb-cf7 .wpcf7-acceptance label { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; }
.brb-cf7 .wpcf7 input[type=checkbox], .brb-cf7 .wpcf7 input[type=radio] { width: 20px; height: 20px; min-width: 20px; margin: 3px 0 0; accent-color: var(--brb-accent); }
.brb-cf7 .wpcf7-list-item-label { min-width: 0; }
.brb-cf7 .brb-cf-legal { font-size: .9em; line-height: 1.65; }
.brb-cf7 .brb-cf-actions { position: relative; text-align: var(--brb-cf-action, start); }
.brb-cf7 .brb-cf-actions .wpcf7-spinner { position: absolute; inset-inline-end: 8px; top: 50%; margin: -12px 0 0; background-color: #777; }
.brb-cf7 .wpcf7-submit {
  box-sizing: border-box; max-width: 100%; min-height: 48px;
  width: var(--brb-cf-button-width, auto);
  border: 2px solid var(--brb-accent);
  border-radius: var(--brb-button-radius, 6px);
  padding: var(--brb-button-padding, 14px) 24px;
  background: var(--brb-accent); color: var(--brb-accent-ink);
  font: inherit; font-weight: 700; white-space: normal; cursor: pointer;
  transition: filter var(--brb-hover-duration, 150ms) ease, transform var(--brb-hover-duration, 150ms) ease;
}
.brb-cf7 .wpcf7-submit:hover:not(:disabled) { filter: brightness(.85) contrast(var(--brb-button-hover-contrast, 1)); transform: translateY(var(--brb-button-hover-y, 0px)); box-shadow: var(--brb-button-hover-shadow, none); }
.brb-cf7 .wpcf7 .wpcf7-submit:focus-visible { outline-color: var(--brb-ink); }
.brb-cf7:is(.brb-cf-style-dark,.brb-cf-palette-dark):not(.brb-cf-palette-light):not(.brb-cf-palette-custom) .wpcf7-submit:focus-visible { outline-color: #f5f7fa; }
.brb-cf7.brb-cf-palette-light .wpcf7-submit:focus-visible { outline-color: #20252c; }
.brb-cf7.brb-cf-palette-custom .wpcf7-submit:focus-visible { outline-color: #fff; box-shadow: 0 0 0 6px #151515; }
.brb-cf7.brb-cf-button-outline .wpcf7-submit { background: transparent; color: inherit; border-color: currentColor; }
.brb-cf7.brb-cf-button-text .wpcf7-submit { background: transparent; color: inherit; border-color: transparent; text-decoration: underline; text-underline-offset: .25em; }
.brb-cf7.brb-cf-button-outline .wpcf7-submit:hover:not(:disabled), .brb-cf7.brb-cf-button-text .wpcf7-submit:hover:not(:disabled) { background: color-mix(in srgb,currentColor 12%,transparent); filter: none; }
.brb-cf7 .wpcf7 :disabled, .brb-cf7 form.submitting .wpcf7-form-control { opacity: .65; cursor: wait; }
.brb-cf7 .wpcf7-not-valid-tip { display: block; margin-top: 8px; color: var(--brb-cf-error); font-size: .9em; font-weight: 600; }
.brb-cf7 [aria-invalid=true] { border-color: var(--brb-cf-error) !important; }
.brb-cf7.brb-cf-style-underline .wpcf7 [aria-invalid=true] { border-color: transparent !important; border-bottom-color: var(--brb-cf-error) !important; }
.brb-cf7 .wpcf7 form.wpcf7-form .wpcf7-response-output { margin: 24px 0 0; padding: 16px; border: 2px solid var(--brb-cf-error); color: inherit; border-radius: 4px; }
.brb-cf7 .wpcf7 form.wpcf7-form.sent .wpcf7-response-output { border-color: var(--brb-cf-success); }
.brb-cf7 form.submitting { cursor: progress; }
@container brb-contact (min-width: 640px) {
  .brb-cf7:not(.brb-cf-cols-1):not(.brb-cf-break-480):not(.brb-cf-break-800) .brb-cf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container brb-contact (min-width: 480px) {
  .brb-cf7.brb-cf-break-480:not(.brb-cf-cols-1) .brb-cf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container brb-contact (min-width: 800px) {
  .brb-cf7.brb-cf-break-800:not(.brb-cf-cols-1) .brb-cf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { .brb-cf7 .wpcf7 :is(input,select,textarea) { transition: none; } }

/* CF7 native className choices, shared with the editor. */
.brb-cf7.brb-cf-width-480 { --brb-cf-width: 480px; }
.brb-cf7.brb-cf-width-640 { --brb-cf-width: 640px; }
.brb-cf7.brb-cf-width-760 { --brb-cf-width: 760px; }
.brb-cf7.brb-cf-width-960 { --brb-cf-width: 960px; }
.brb-cf7.brb-cf-width-1200 { --brb-cf-width: 1200px; }
.brb-cf7.brb-cf-gap-8 { --brb-cf-gap: 8px; }
.brb-cf7.brb-cf-gap-16 { --brb-cf-gap: 16px; }
.brb-cf7.brb-cf-gap-24 { --brb-cf-gap: 24px; }
.brb-cf7.brb-cf-gap-32 { --brb-cf-gap: 32px; }
.brb-cf7.brb-cf-gap-48 { --brb-cf-gap: 48px; }
.brb-cf7.brb-cf-radius-0 { --brb-cf-radius: 0px; }
.brb-cf7.brb-cf-radius-4 { --brb-cf-radius: 4px; }
.brb-cf7.brb-cf-radius-8 { --brb-cf-radius: 8px; }
.brb-cf7.brb-cf-radius-12 { --brb-cf-radius: 12px; }
.brb-cf7.brb-cf-radius-24 { --brb-cf-radius: 24px; }
.brb-cf7.brb-cf-border-1 { --brb-cf-border: 1px; }
.brb-cf7.brb-cf-border-2 { --brb-cf-border: 2px; }
.brb-cf7.brb-cf-border-3 { --brb-cf-border: 3px; }
.brb-cf7.brb-cf-height-44 { --brb-cf-height: 44px; }
.brb-cf7.brb-cf-height-48 { --brb-cf-height: 48px; }
.brb-cf7.brb-cf-height-56 { --brb-cf-height: 56px; }
.brb-cf7.brb-cf-height-64 { --brb-cf-height: 64px; }
.brb-cf7.brb-cf-padding-8 { --brb-cf-padding: 8px; }
.brb-cf7.brb-cf-padding-12 { --brb-cf-padding: 12px; }
.brb-cf7.brb-cf-padding-16 { --brb-cf-padding: 16px; }
.brb-cf7.brb-cf-padding-20 { --brb-cf-padding: 20px; }
.brb-cf7.brb-cf-align-start { margin-inline:0 auto; }
.brb-cf7.brb-cf-align-center { margin-inline:auto; }
.brb-cf7.brb-cf-align-end { margin-inline:auto 0; }
.brb-cf7.brb-cf-action-start { --brb-cf-action:start; }
.brb-cf7.brb-cf-action-center { --brb-cf-action:center; }
.brb-cf7.brb-cf-action-end { --brb-cf-action:end; }
.brb-cf7.brb-cf-button-width-auto { --brb-cf-button-width:auto; }
.brb-cf7.brb-cf-button-width-full { --brb-cf-button-width:100%; }

.brb-cf7.brb-cf-shadow-none { --brb-cf-shadow: none; }
.brb-cf7.brb-cf-shadow-soft { --brb-cf-shadow: 0 8px 24px rgb(0 0 0 / 12%); }
.brb-cf7.brb-cf-shadow-deep { --brb-cf-shadow: 0 16px 40px rgb(0 0 0 / 24%); }
