/* =========================================================
   00 - BASE
   Rutas: toda la web pública
   Tokens, base, cabecera y pie (01-03 de la 1.0.6, enteras) y las reglas de 04 y 05 que usan dos familias o más.
   ========================================================= */

/* --- 01 de la 1.0.6: 01-tokens.css --- */
/* Cargar 01–05, en este orden, después de Astra y sus estilos en línea. */
@font-face {
  font-family: "Mona Sans";
  src: url("../fonts/MonaSans-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}
@font-face {
  font-family: "Source Serif 4";
  src: url("../fonts/SourceSerif4-Italic-Variable.woff2") format("woff2");
  font-style: italic;
  font-weight: 200 900;
  font-display: swap;
}
body.wbd-site {
  --wbd-paper: #F3F1E8;
  --wbd-ink: #0D0F1A;
  --wbd-muted: #55594F;
  --wbd-muted-dark: #BFC5BA;
  --wbd-green: #4AFB61;
  --wbd-blue: #0081E6;
  --wbd-link: #185B36;
  --wbd-line: #C7CABF;
  --wbd-line-dark: #454B48;
  --wbd-gradient: linear-gradient(105deg, #0081E6, #4AFB61);
  --wbd-sans: "Mona Sans", "Arial", "Helvetica Neue", sans-serif;
  --wbd-serif: "Source Serif 4", "Georgia", "Times New Roman", serif;
  --wbd-body: max(16px, clamp(1rem, .96rem + .2vw, 1.125rem));
  --wbd-display: clamp(32px, 4.6vw, 4.5rem);
  --wbd-title: clamp(2rem, 4.8vw, 4.6rem);
  --wbd-gap-1: .5rem;
  --wbd-gap-2: 1rem;
  --wbd-gap-3: 1.5rem;
  --wbd-gap-4: 2rem;
  --wbd-gap-5: 3rem;
  --wbd-gap-6: clamp(3.5rem, 7vw, 7rem);
  --wbd-gutter: clamp(1.25rem, 4vw, 4rem);
  --wbd-width: 78rem;
  --wbd-radius: .25rem;
}

/* --- 02 de la 1.0.6: 02-base.css --- */
body.wbd-site {
  background: var(--wbd-paper);
  color: var(--wbd-ink);
  font-family: var(--wbd-sans);
  font-size: var(--wbd-body);
  line-height: 1.65;
}
/* Marco común: también legible en las páginas legales del tema. */
body.wbd-site :is(p,li,button,input,textarea,select,label) { font-size: var(--wbd-body); }
body.wbd-site :is(h1,h2,h3,h4,h5,h6) { font-family: var(--wbd-sans); color: var(--wbd-ink); }
body.wbd-site .entry-content a { color: var(--wbd-link); text-decoration: underline; text-underline-offset: .22em; }
body.wbd-site .entry-content :is(p,li) a { font-size: inherit; }
.entry-content .wbd-page, .entry-content .wbd-page * { box-sizing: border-box; }
.entry-content .wbd-page {
  font-family: var(--wbd-sans);
  font-size: var(--wbd-body);
  line-height: 1.65;
  color: var(--wbd-ink);
  overflow-wrap: anywhere;
}
.entry-content .wbd-page :is(h1,h2,h3) {
  margin: 0 0 1.5rem;
  color: inherit;
  font-family: var(--wbd-sans);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.045em;
  text-wrap: balance; overflow-wrap: normal; word-break: normal; hyphens: none;
}
.entry-content .wbd-page h1 { font-size: var(--wbd-display); line-height: 1.12; text-transform: none; }
.entry-content .wbd-page h2 { font-size: var(--wbd-title); text-transform: uppercase; }
.entry-content .wbd-page h3 { font-size: clamp(1.5rem, 3vw, 2.5rem); }
.entry-content .wbd-page :is(h1,h2,h3) em {
  font-family: var(--wbd-serif);
  font-weight: 500;
  text-transform: none;
  letter-spacing: -.055em;
  color: var(--wbd-link);
}
.entry-content .wbd-page p { font-size: var(--wbd-body); margin: 0 0 1.5rem; max-width: 65ch; }
.entry-content .wbd-page :is(ul,ol) { margin: 0 0 1.5rem; padding-left: 1.5rem; }
.entry-content .wbd-page li { margin: 0 0 .75rem; }
.entry-content .wbd-page a { color: var(--wbd-link); text-decoration: underline; text-underline-offset: .22em; text-decoration-thickness: .08em; }
.entry-content .wbd-page :is(p,li) a {
  display: inline; min-height: 0; min-width: 0; padding: 0;
}
.entry-content .wbd-page a:hover { text-decoration-thickness: .16em; }
.entry-content .wbd-page .wp-block-buttons {
  display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.75rem 0 0;
}
.entry-content .wbd-page .wp-block-button { margin: 0; max-width: 100%; }
body .entry-content .wbd-page .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; min-width: 44px; max-width: 100%;
  padding: .85rem 1.3rem; border: 1px solid var(--wbd-ink);
  border-radius: var(--wbd-radius); background: var(--wbd-green); color: var(--wbd-ink);
  font: 700 max(16px, 1rem)/1.3 var(--wbd-sans); text-decoration: none;
  text-align: center; white-space: normal; overflow-wrap: anywhere;
  box-shadow: none; transition: background-color .2s, box-shadow .2s;
}
body .entry-content .wbd-page .wp-block-button__link:hover { background: var(--wbd-paper); box-shadow: 3px 3px 0 currentColor; }
body .entry-content .wbd-page .wbd-secondary .wp-block-button__link {
  background: transparent; border-color: currentColor; color: inherit;
}
body .entry-content .wbd-page .wbd-secondary .wp-block-button__link:hover { background: var(--wbd-ink); color: var(--wbd-paper); }
/* Dos anillos: uno se distingue sobre claro, el otro sobre oscuro. */
body.wbd-site :is(.entry-content,#masthead,#colophon) :is(a,button,summary):focus-visible,
body.wbd-site .wbd-motion-control:focus-visible, body.wbd-site .skip-link:focus {
  outline: 3px solid var(--wbd-ink); outline-offset: 3px;
  box-shadow: 0 0 0 7px var(--wbd-paper); border-radius: 2px;
}
body.wbd-site .skip-link:focus { background: var(--wbd-paper); color: var(--wbd-ink); padding: 1rem; z-index: 100000; }
.wbd-page ::selection { background: var(--wbd-green); color: var(--wbd-ink); }
@media (max-width: 544px) {
  .entry-content .wbd-page .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .entry-content .wbd-page .wp-block-button__link { width: 100%; }
}

/* --- 03 de la 1.0.6: 03-cabecera-pie.css --- */
body.wbd-site #masthead .ast-primary-header-bar {
  background: var(--wbd-paper); border-bottom: 1px solid var(--wbd-line);
  color: var(--wbd-ink); box-shadow: none;
}
body.wbd-site #masthead .site-primary-header-wrap { max-width: var(--wbd-width); margin-inline: auto; padding-inline: var(--wbd-gutter); }
body.wbd-site #masthead .ast-builder-grid-row { min-height: 88px; column-gap: 2rem; }
body.wbd-site #masthead .site-branding { padding: .75rem 0; line-height: 1; }
body.wbd-site #masthead .custom-logo-link { display: inline-flex; align-items: center; min-height: 44px; }
body.wbd-site #masthead .custom-logo-link img { width: 190px; max-width: 100%; height: auto; }
body.wbd-site #masthead .main-header-menu { gap: .2rem; flex-wrap: wrap; background: var(--wbd-paper); font-family: var(--wbd-sans); }
body.wbd-site #masthead .site-header-primary-section-right { min-width: 0; }
body.wbd-site #masthead .site-header-primary-section-right > * { min-width: 0; }
/* Elemento Botón de Astra, independiente del menú desplegable. */
body.wbd-site #masthead :is(.ast-header-button-1,[data-section="section-hb-button-1"]) { margin-inline-start: .5rem; }
body.wbd-site #masthead .ast-builder-button-wrap :is(.ast-custom-button-link,.menu-link) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
  padding: .5rem .65rem; background: var(--wbd-green); color: var(--wbd-ink);
  border: 1px solid var(--wbd-ink); border-radius: var(--wbd-radius);
  font: 700 max(16px, 1rem)/1.2 var(--wbd-sans); white-space: nowrap; text-decoration: none;
}
body.wbd-site #masthead .ast-builder-button-wrap .ast-custom-button {
  padding: 0; border: 0; background: transparent; color: inherit; font: inherit;
}
body.wbd-site #masthead .ast-builder-button-wrap .ast-custom-button-link ~ .menu-link { display: none; }
body.wbd-site #masthead .ast-builder-button-wrap:has(.ast-custom-button-link) > .menu-link { display: none; }
body.wbd-site #masthead .ast-builder-button-wrap a:hover { background: var(--wbd-paper); }
body.wbd-site #masthead .main-header-menu .menu-link {
  min-height: 44px; display: flex; align-items: center; padding: .75rem .8rem;
  font-size: max(16px, 1rem); font-weight: 600; line-height: 1.4; color: var(--wbd-ink);
  text-decoration: none;
}
body.wbd-site #masthead .main-header-menu :is(.current-menu-item,.current-menu-ancestor) > .menu-link,
body.wbd-site #masthead .main-header-menu .menu-link:hover { text-decoration: underline; text-underline-offset: .35em; }
body.wbd-site #masthead .main-header-menu .sub-menu {
  width: 19rem; background: var(--wbd-paper); border: 1px solid var(--wbd-ink);
  padding: .5rem; box-shadow: 5px 5px 0 var(--wbd-ink);
}
body.wbd-site #masthead .main-header-menu .sub-menu .menu-link { white-space: normal; }
@media (min-width: 922px) {
  body.wbd-site #masthead .main-header-menu { justify-content: flex-end; }
  body.wbd-site #masthead .main-header-menu > .menu-item-has-children:focus-within > .sub-menu {
    left: 0; right: auto; opacity: 1; visibility: visible; pointer-events: auto;
  }
}
/* Escritorio compacto: reservar el boton y recuperar espacio de Astra. */
@media (min-width: 922px) and (width < 1120px) {
  body.wbd-site #masthead #ast-desktop-header .ast-primary-header-bar .site-primary-header-wrap > .ast-builder-grid-row {
    grid-template-columns: auto minmax(0, 1fr); column-gap: 1rem;
  }
  body.wbd-site #masthead #ast-desktop-header .ast-primary-header-bar .site-logo-img { padding-right: 0; }
  body.wbd-site #masthead #ast-desktop-header .ast-primary-header-bar .custom-logo-link img { width: 152px; }
  body.wbd-site #masthead #ast-desktop-header .ast-primary-header-bar .site-header-primary-section-right > :is(.ast-builder-menu-1,.ast-header-button-1) { padding-inline: 0; }
  body.wbd-site #masthead #ast-desktop-header .ast-primary-header-bar .site-header-primary-section-right > .ast-header-button-1 { flex-shrink: 0; }
  body.wbd-site #masthead #ast-desktop-header .ast-primary-header-bar .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link {
    padding-inline: .375rem; white-space: nowrap;
  }
}
/* Texto ampliado: conservar el logo y repartir los controles sin recortes. */
body.wbd-site #masthead .ast-header-button-1 .ast-builder-button-wrap,
body.wbd-site #masthead .ast-builder-button-wrap .ast-custom-button-link {
  max-width: 100%;
}
body.wbd-site #masthead .ast-builder-button-wrap :is(.ast-custom-button-link,.ast-custom-button) {
  white-space: normal; word-break: normal; overflow-wrap: break-word;
}
body.wbd-site #masthead .ast-builder-button-wrap .ast-custom-button { min-width: 0; }
body.wbd-site #masthead .main-header-menu .sub-menu .menu-link { overflow-wrap: anywhere; }
body.wbd-site #masthead .dropdown-menu-toggle:focus-visible {
  outline: 3px solid var(--wbd-ink); outline-offset: 3px;
  box-shadow: 0 0 0 7px var(--wbd-paper);
}
@media (min-width: 922px) {
  body.wbd-site #masthead #ast-desktop-header .site-primary-header-wrap { container: wbd-header / inline-size; }
  body.wbd-site #masthead #ast-desktop-header .site-primary-header-wrap > .ast-builder-grid-row {
    grid-template-columns: auto minmax(0, 1fr);
  }
  body.wbd-site #masthead #ast-desktop-header .custom-logo-link { min-width: 190px; }
  body.wbd-site #masthead #ast-desktop-header .site-header-primary-section-right {
    flex-wrap: wrap; align-content: center;
  }
  body.wbd-site #masthead #ast-desktop-header .site-header-primary-section-right > .ast-header-button-1 {
    max-width: calc(100% - .5rem); flex-shrink: 0;
  }
  body.wbd-site #masthead #ast-desktop-header .ast-builder-menu-1,
  body.wbd-site #masthead #ast-desktop-header .ast-builder-menu-1 :is(.ast-main-header-bar-alignment,.main-header-bar-navigation,.site-navigation,.main-navigation,.main-header-menu) {
    min-width: 0; max-width: 100%;
  }
  @container wbd-header (width < 50rem) {
    /* Panel en flujo: ancho de navegacion, sin mover el disparador al abrir. */
    body.wbd-site #masthead #ast-desktop-header .ast-builder-menu-1 { flex-basis: 100%; width: 100%; }
    body.wbd-site #masthead #ast-desktop-header .ast-builder-menu-1 :is(.ast-main-header-bar-alignment,.main-header-bar-navigation,.site-navigation,.main-navigation,.main-header-menu) { width: 100%; }
    body.wbd-site #masthead #ast-desktop-header .main-header-menu > .menu-item > .menu-link { height: auto; }
    body.wbd-site #masthead #ast-desktop-header .main-header-menu { align-items: flex-start; justify-content: flex-start; row-gap: 0; }
    body.wbd-site #masthead #ast-desktop-header .main-header-menu > .menu-item-has-children { display: contents; }
    body.wbd-site #masthead #ast-desktop-header .main-header-menu > .menu-item-has-children > .sub-menu {
      position: static; display: none; flex: 0 0 100%; min-width: 0; width: 100%; max-width: 100%;
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); column-gap: .5rem;
    }
    body.wbd-site #masthead #ast-desktop-header .main-header-menu > .menu-item-has-children > .sub-menu::before { content: none; }
    body.wbd-site #masthead #ast-desktop-header .main-header-menu > .menu-item-has-children > .sub-menu > .menu-item:last-child { grid-column: 1 / -1; }
    body.wbd-site #masthead #ast-desktop-header .main-header-menu > .menu-item-has-children:is(:hover,:focus-within) > .sub-menu {
      display: grid; opacity: 1; visibility: visible; pointer-events: auto;
    }
  }
}
@media (min-width: 922px) and (width < 1120px) {
  body.wbd-site #masthead #ast-desktop-header .custom-logo-link { min-width: 152px; }
}
@media (max-width: 921px) {
  body.wbd-site #masthead #ast-mobile-header .site-header-primary-section-left,
  body.wbd-site #masthead #ast-mobile-header .custom-logo-link { min-width: 90px; }
  body.wbd-site #masthead #ast-mobile-header .site-header-primary-section-right {
    min-width: 0; max-width: calc(100% - 98px); flex-shrink: 0; flex-wrap: wrap;
  }
  body.wbd-site #masthead #ast-mobile-header .site-header-primary-section-right > .ast-header-button-1 { max-width: 100%; }
  body.wbd-site #masthead #ast-mobile-header [data-section="section-header-mobile-trigger"] { flex-shrink: 0; }
  body.wbd-site #masthead #ast-mobile-header .main-header-menu .menu-link { overflow-wrap: anywhere; }
  body.wbd-site #masthead #ast-mobile-header .main-header-menu > .menu-item-has-children:is(:hover,:focus-within) > .sub-menu { display: block; }
}
@media (width > 359px) and (max-width: 921px) {
  /* Reducir el minimo intrinseco solo del presupuesto movil. */
  body.wbd-site #masthead #ast-mobile-header .ast-builder-button-wrap :is(.ast-custom-button-link,.ast-custom-button) {
    overflow-wrap: anywhere;
  }
}
@media (max-width: 544px) {
  body.wbd-site #masthead #ast-mobile-header .menu-toggle { padding: min(.5rem, 11px); }
}
@media (max-width: 359px) {
  /* Dos filas naturales: neutralizar el height:100% y las cajas de linea vacias. */
  body.wbd-site #masthead #ast-mobile-header .ast-builder-grid-row > .site-header-section { height: auto; }
  body.wbd-site #masthead #ast-mobile-header .site-logo-img,
  body.wbd-site #masthead #ast-mobile-header .ast-builder-button-wrap { display: flex; }
  body.wbd-site #masthead #ast-mobile-header .site-header-primary-section-right { max-width: 100%; }
}
body.wbd-site #masthead :is(.menu-toggle,.ast-menu-toggle) {
  min-width: 44px; min-height: 44px; padding: .5rem;
  border: 1px solid var(--wbd-ink); border-radius: var(--wbd-radius);
  color: var(--wbd-ink); background: var(--wbd-paper); font: 700 max(16px, 1rem) var(--wbd-sans);
}
body.wbd-site #masthead :is(.menu-toggle,.ast-menu-toggle):hover { background: var(--wbd-green); }
body.wbd-site #masthead :is(.menu-toggle,.ast-menu-toggle) svg { fill: currentColor; }
body.wbd-site #masthead .ast-mobile-header-content { background: var(--wbd-paper); }
@media (max-width: 921px) {
  body.wbd-site #masthead .ast-builder-grid-row { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 8px; min-height: 76px; }
  body.wbd-site #masthead .site-logo-img { padding-right: 0; }
  body.wbd-site #masthead .custom-logo-link img { width: 144px; }
  body.wbd-site #masthead .site-header-primary-section-right { flex: 1 1 auto; min-width: max-content; display: flex; flex-wrap: nowrap; justify-content: flex-end; gap: 8px; }
  body.wbd-site #masthead .site-header-primary-section-right > * { padding-inline: 0; }
  body.wbd-site #masthead :is(.ast-header-button-1,[data-section="section-hb-button-1"]) { margin: 0; flex-shrink: 0; }
  body.wbd-site #masthead .main-header-menu .menu-link { padding: .85rem 1.25rem; }
  body.wbd-site #masthead .main-header-menu .sub-menu { width: 100%; border: 0; box-shadow: none; padding: 0 0 .5rem 1rem; }
  body.wbd-site #masthead .main-header-menu .menu-item-has-children > .menu-link { padding-right: 4rem; }
  body.wbd-site #masthead .ast-menu-toggle { right: 1.25rem; top: .25rem; }
}
@media (max-width: 544px) {
  body.wbd-site #masthead .site-primary-header-wrap { padding-inline: 16px; }
  body.wbd-site #masthead .custom-logo-link img { width: 100px; }
  body.wbd-site #masthead .menu-toggle { box-sizing: border-box; width: 44px; height: 44px; }
}
@media (max-width: 359px) {
  body.wbd-site #masthead .ast-builder-grid-row { flex-wrap: wrap; }
  body.wbd-site #masthead .site-header-primary-section-right { flex-basis: 100%; }
}
body.wbd-site #colophon.site-footer { background: var(--wbd-ink); color: var(--wbd-paper); }
body.wbd-site #colophon .site-below-footer-wrap { background: transparent; border-top: 1px solid var(--wbd-line-dark); padding: 2.5rem var(--wbd-gutter); }
body.wbd-site #colophon .ast-builder-grid-row-container-inner { max-width: var(--wbd-width); margin-inline: auto; }
body.wbd-site #colophon :is(.ast-footer-copyright,p) { color: var(--wbd-muted-dark); font: 400 max(16px, 1rem)/1.65 var(--wbd-sans); text-align: left; }
body.wbd-site #colophon a { display: inline-block; min-height: 44px; padding-block: .4rem; color: var(--wbd-paper); text-decoration: underline; text-underline-offset: .25em; }
body.wbd-site #colophon a { font-size: max(16px, 1rem); }
body.wbd-site #colophon .wbd-legal { display: flex; flex-wrap: wrap; gap: .25rem 1.75rem; margin-top: 1rem; }
/* Complianz: exclusivamente color y tipografía. Geometría y lógica originales. */
body.wbd-site #cmplz-cookiebanner-container .cmplz-cookiebanner { background-color: var(--wbd-paper); color: var(--wbd-ink); font-family: var(--wbd-sans); }
body.wbd-site #cmplz-cookiebanner-container :is(.cmplz-title,.cmplz-message,.cmplz-category-title) { color: var(--wbd-ink); font-family: var(--wbd-sans); }
body.wbd-site #cmplz-cookiebanner-container .cmplz-message p { font-size: max(16px, 1rem); }
body.wbd-site #cmplz-cookiebanner-container a { color: var(--wbd-link); }
body.wbd-site #cmplz-cookiebanner-container :is(.cmplz-cookiebanner,.cmplz-title,.cmplz-message,.cmplz-category-title,.cmplz-description,.cmplz-btn,.cmplz-link,a,p,span,label) { font-size: max(16px, 1rem); }
body.wbd-site #cmplz-cookiebanner-container :is(.cmplz-accept,.cmplz-deny) {
  background-color: var(--wbd-ink); border-color: var(--wbd-ink); color: var(--wbd-paper);
  font-family: var(--wbd-sans); font-weight: 700; font-size: max(16px, 1rem);
}
body.wbd-site #cmplz-cookiebanner-container :is(.cmplz-accept,.cmplz-deny):hover { background-color: var(--wbd-link); border-color: var(--wbd-link); color: var(--wbd-paper); }

/* --- Componentes comunes (de 04-componentes) --- */
.entry-content .wbd-page .wbd-dark { background: var(--wbd-ink); color: var(--wbd-paper); }
/* Los enlaces de texto no deben sobrescribir los colores de los botones. */
.entry-content .wbd-page .wbd-dark :is(h1,h2,h3) em, .entry-content .wbd-page .wbd-dark a:not(.wp-block-button__link) { color: var(--wbd-green); }
.entry-content .wbd-page .wbd-dark p { color: var(--wbd-paper); }
body .entry-content .wbd-page .wbd-dark .wbd-secondary .wp-block-button__link:hover { background: var(--wbd-paper); color: var(--wbd-ink); }
.entry-content .wbd-page .wbd-hero::before, .entry-content .wbd-page .wbd-final::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url("../img/topografia.svg") right center / min(90%, 900px) auto no-repeat;
  opacity: .16;
}
.entry-content .wbd-page .wbd-split h2 { max-width: 15ch; }
.entry-content .wbd-page .wbd-copy > :last-child, .entry-content .wbd-page .wbd-inner > :last-child { margin-bottom: 0; }
.entry-content .wbd-page .wbd-final { isolation: isolate; }
.entry-content .wbd-page .wbd-final p { font-size: var(--wbd-body); line-height: 1.65; }
.entry-content .wbd-page .wbd-final .wp-block-buttons { margin-top: 2rem; }
.entry-content .wbd-page .wbd-final h2 { max-width: 16ch; font-size: clamp(2.25rem, 5.7vw, 5.5rem); }
.entry-content .wbd-page .wbd-panel { padding: clamp(1.25rem, 4vw, 3rem); border: 1px solid var(--wbd-line); margin-bottom: 2rem; }
.entry-content .wbd-page .wbd-panel h2 { font-size: clamp(1.6rem, 3vw, 2.5rem); }
.entry-content .wbd-page .wbd-detail-list { list-style: square; padding-left: 1.25rem; }
.entry-content .wbd-page .wbd-detail-list li { padding-block: .75rem; border-bottom: 1px solid var(--wbd-line); }
@media (min-width: 922px) {
  .entry-content .wbd-page .wbd-split, .entry-content .wbd-page .wbd-service-card, .entry-content .wbd-page .wbd-step {
    display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 4rem; align-items: start;
  }
}
@media (prefers-reduced-motion: reduce) {
  body .entry-content .wbd-page .wp-block-button__link { transition: none; }
}

/* --- Páginas: comunes (de 05-paginas) --- */
/* Anular el padding automático de los grupos raíz y el ancho de Gutenberg.
   Sin 100vw ni márgenes negativos: no aparece barra horizontal al hacer zoom. */
body.wbd-pagina .entry-content[data-ast-blocks-layout] > .wbd-page {
  width: 100%; max-width: none; padding: 0; margin: 0;
}
body.wbd-pagina.ast-plain-container #content > .ast-container {
  width: 100%; max-width: calc(var(--wbd-width) + 2 * var(--wbd-gutter));
  padding-inline: var(--wbd-gutter);
}
body.wbd-pagina.ast-plain-container #content #primary { width: 100%; margin: 0; padding: 0; }
body.wbd-pagina.ast-plain-container article.ast-article-single { padding: 0 0 var(--wbd-gap-6); }
body.wbd-pagina.ast-plain-container article > .entry-header { margin: 0; padding: var(--wbd-gap-6) 0 2rem; }
body.wbd-pagina.ast-plain-container article > .entry-header .entry-title {
  margin: 0; max-width: 28ch; font: 800 var(--wbd-display)/1.12 var(--wbd-sans);
  letter-spacing: -.05em; text-transform: none; color: var(--wbd-ink); overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance;
}
.entry-content .wbd-page .wbd-intro { padding-block: 0 3rem; }
.entry-content .wbd-page .wbd-intro p { max-width: 55ch; font-size: clamp(1.125rem, 1.5vw, 1.4rem); }
.entry-content .wbd-page:is(.wbd-service,.wbd-services,.wbd-projects,.wbd-process,.wbd-contact) .wbd-final {
  margin-top: 2.5rem; padding: clamp(1.25rem, 4vw, 4rem);
}
@media (max-width: 544px) {
  .entry-content .wbd-page .wbd-panel { border-inline: 0; padding-inline: 0; }
}
