/* Programme heroes stay undecorated; secondary fills belong in text bands.
   No repeated numbered glyphs, no artwork-row fields, no edge slicing. */
.mesa-hero::before,
.museo-hero::before,
.academia-body .academia-coming-soon::before { display: none; }

@media screen and (min-width: 1000px) {
  /* In-flow tiles anchor the lower part of an otherwise open title/copy column.
     The column grows with its text, so no positional guess can overlap prose. */
  .mesa-body .sector-map__grid > .wp-block-group:first-child::after,
  .museo-body .museo-intro__grid > .wp-block-group:first-child::after {
    content: "";
    display: block;
    position: static;
    pointer-events: none;
    inline-size: 7rem;
    aspect-ratio: 1;
    border-radius: 0;
    margin-block-start: 1.5rem;
  }
  .mesa-body .sector-map__grid > .wp-block-group:first-child::after {
    inline-size: 6.5rem;
    background-color: var(--lavanda);
    -webkit-mask: var(--form-bow) center / contain no-repeat;
            mask: var(--form-bow) center / contain no-repeat;
  }
  .museo-body .museo-intro__grid > .wp-block-group:first-child::after {
    background-color: var(--cyan);
    -webkit-mask: var(--form-diamond) center / contain no-repeat;
            mask: var(--form-diamond) center / contain no-repeat;
  }

  /* Whole tiles in a reserved heading row, above every card/media row.
     Override the old 22ch heading cap, not the line length of body copy. */
  .mesa-body .process > .shell > h2,
  .museo-body .museo-principles > .shell > h2,
  .galeria-body .galeria-docs > .shell > h2 {
    position: relative;
    max-inline-size: none;
    padding-inline-end: 9rem;
    min-block-size: 7rem;
  }
  .mesa-body .process > .shell > h2::after,
  .museo-body .museo-principles > .shell > h2::after,
  .galeria-body .galeria-docs > .shell > h2::after,
  .galeria-body .galeria-entry > .shell > h2::before,
  .galeria-body .galeria-entry > .shell > h2::after {
    content: "";
    display: block;
    position: absolute;
    pointer-events: none;
    inset-block-start: 0;
    inset-inline-end: 0;
    inline-size: 7rem;
    block-size: auto;
    aspect-ratio: 1;
    border-radius: 0;
    margin: 0;
    background-image: none;
  }
  .mesa-body .process > .shell > h2::after {
    background-color: var(--amarillo);
    -webkit-mask: var(--form-u) center / contain no-repeat;
            mask: var(--form-u) center / contain no-repeat;
  }
  .museo-body .museo-principles > .shell > h2::after {
    background-color: var(--amarillo);
    -webkit-mask: var(--form-bow) center / contain no-repeat;
            mask: var(--form-bow) center / contain no-repeat;
  }
  .galeria-body .galeria-docs > .shell > h2 { margin-block-end: 2rem; }
  .galeria-body .galeria-docs > .shell > h2::after {
    background-color: var(--naranja);
    -webkit-mask: var(--form-triangle) center / contain no-repeat;
            mask: var(--form-triangle) center / contain no-repeat;
  }

  /* Two horizontal, different tiles echo the two text-only entry categories.
     This one heading replaces its tiny leaf marker instead of duplicating it. */
  .galeria-body .galeria-entry > .shell > h2 {
    position: relative;
    padding-inline-end: 15.5rem;
    min-block-size: 6rem;
  }
  .galeria-body .galeria-entry > .shell > h2::before {
    inset-inline-end: 7.5rem;
    inline-size: 6rem;
    background-color: var(--amarillo);
    -webkit-mask: var(--form-diamond) center / contain no-repeat;
            mask: var(--form-diamond) center / contain no-repeat;
  }
  .galeria-body .galeria-entry > .shell > h2::after {
    inline-size: 6rem;
    background-color: var(--cyan);
    -webkit-mask: var(--form-quarter) center / contain no-repeat;
            mask: var(--form-quarter) center / contain no-repeat;
  }

  /* Retain the inherited course-announcement field as a whole, contrasting tile
     in reserved space. Explicitly reset its previous ellipse/translation. */
  .academia-body .academia-coming-soon {
    padding-inline-end: 10rem;
    min-block-size: 10rem;
  }
  .academia-body .academia-coming-soon::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    pointer-events: none;
    inset: auto;
    inset-block-start: 50%;
    inset-inline-end: 2rem;
    inline-size: 6rem;
    block-size: auto;
    aspect-ratio: 1;
    border-radius: 0;
    transform: none;
    translate: 0 -50%;
    background-color: var(--naranja);
    -webkit-mask: var(--form-quarter) center / contain no-repeat;
            mask: var(--form-quarter) center / contain no-repeat;
  }
}

@media print {
  .mesa-hero::before,
  .museo-hero::before,
  .page-hero--academia::before,
  .page-hero--galeria::before,
  .mesa-body .sector-map__grid > .wp-block-group:first-child::after,
  .mesa-body .process > .shell > h2::after,
  .museo-body .museo-intro__grid > .wp-block-group:first-child::after,
  .museo-body .museo-principles > .shell > h2::after,
  .academia-body .academia-coming-soon::before,
  .galeria-body .galeria-entry > .shell > h2::before,
  .galeria-body .galeria-entry > .shell > h2::after,
  .galeria-body .galeria-docs > .shell > h2::after { display: none !important; }
}
