/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 * If it's specific to the current site you're working on, don't put
 * it in here. Use the Customizer for that stuff.
 */


/* <editor-fold desc="Folding region"> */
/* </editor-fold> */

/* ===============================
   General Helpers
   =============================== */
/* not color-related, but common styles  */

:root {

  /* === Base font sizing === */
  --gs-font-size-base: clamp(16px, 1.1vw + 1px, 32px);
  /*--gs-font-size-base: clamp(16px, 1.1vw + 1px, 22px);*/

  --gs-font-scale: 1; /* global multiplier for accessibility modes */

  /* XS – smallest safe readable text (~12.5–14px) - Used for captions, fine print, subtle labels */
  --gs-text-xs: clamp(0.7813rem, 0.72rem + 0.35vw, 0.875rem);
  --gs-text-xs-lh: 1.55;

  /* SM – slightly smaller than body (~14–15.5px) - Used for meta text, secondary copy, compact UI text */
  --gs-text-sm: clamp(0.875rem, 0.80rem + 0.30vw, 0.9688rem);
  --gs-text-sm-lh: 1.5;

  /* MD – standard body size (~16–18px) - Used for paragraphs and most readable text */
  --gs-text-md: clamp(1rem, 0.94rem + 0.40vw, 1.125rem);
  --gs-text-md-lh: 1.5;

  /* LG – feature size (~20–24px) - Used for lead paragraphs, section intros, or pull quotes */
  --gs-text-lg: clamp(1.25rem, 1.05rem + 1.20vw, 1.5rem);
  --gs-text-lg-lh: 1.4;

  /* XL – large headings (~24–32px) - Used for smaller hero headlines or primary section titles */
  --gs-text-xl: clamp(1.5rem, 1.1rem + 2.2vw, 2rem);
  --gs-text-xl-lh: 1.3;

  /* 2X – display / hero text (~28–40px) - Used for major headlines or visual focal points */
  --gs-text-2xl: clamp(1.75rem, 1.2rem + 3.0vw, 2.5rem);
  --gs-text-2xl-lh: 1.15;

  /* === Headings === */
  --gs-h1: clamp(1.875rem, 1.1rem + 3.2vw, 2.75rem);
  --gs-h2: clamp(1.625rem, 1.05rem + 2.2vw, 2.25rem);
  --gs-h3: clamp(1.375rem, 0.98rem + 1.6vw, 1.75rem);
  --gs-h4: clamp(1.25rem, 0.95rem + 1.0vw, 1.5rem);
  --gs-h5: clamp(1.125rem, 0.92rem + 0.6vw, 1.25rem);
  --gs-h6: clamp(1rem, 0.90rem + 0.3vw, 1.125rem);

  --gs-h1-lh: 1.15;
  --gs-h2-lh: 1.2;
  --gs-h3-lh: 1.25;
  --gs-h4-lh: 1.3;
  --gs-h5-lh: 1.35;
  --gs-h6-lh: 1.4;

  --gs-eyebrow: clamp(0.875rem, 0.80rem + 0.30vw, 0.9688rem);
  --gs-eyebrow-lh: 1;

  /* === Spacing rhythm === */
  --gs-head-mt: 0rem;
  --gs-head-mb: 0.75rem; /* for h1-h2 */
  --gs-head-compact-mb: 0.375rem; /* for h3-h6 */
  --gs-intro-mb: 3rem; /* for .gs-intro helpers */

  /* === Paragraph baseline === */
  --gs-p-size: var(--gs-text-md);
  --gs-p-lh: var(--gs-text-md-lh);


  /* === Stuff that is more custom to GS setups === */
  --css-aspect-ratio: 4 / 3; /* default ratio if none is set */
  --css-gallery-gap: 1rem;
  --css-gallery-min: 220px;
  --css-gallery-row-gap: 1.25rem;
  --css-gallery-margin-bottom: var(--css-gallery-row-gap, 0rem);
  --css-gallery-flex-cols: 5;
  --css-mosaic-column-gap: 1.25rem;
  --css-mosaic-row-gap: 1.25rem;

  /* the base unit by which we push */
  --css-mosaic-push: .75rem;

  /* we want to have adjustable base amounts */
  --css-mosaic-push-down: var(--css-mosaic-push, .75rem);
  --css-mosaic-push-left: var(--css-mosaic-push, .75rem);
  --css-mosaic-push-right: var(--css-mosaic-push, .75rem);

  --css-mosaic-break-after: auto;
  --css-mosaic-webkit-column-break-after: auto;

  /* set some default push directional amounts, these are what we'll override */
  --css-push-this-down: 0rem;
  --css-push-this-left: 0rem;
  --css-push-this-right: 0rem;

  --css-caption-pad: .5rem .75rem;
  --css-caption-gap: 0;

}

:root .has-accent-color {
  color: var(--c1);
}

html, body, button, input, select, textarea {
  font-size: calc(var(--gs-font-size-base) * var(--gs-font-scale));
}

a svg {
  width: calc(var(--gs-font-size-base) * var(--gs-font-scale));
}


/* Bump specificity to beat GP/GB element rules */

html h1 {
  font-size: var(--gs-h1);
  line-height: var(--gs-h1-lh);
}

html h2 {
  font-size: var(--gs-h2);
  line-height: var(--gs-h2-lh);
}

html h3 {
  font-size: var(--gs-h3);
  line-height: var(--gs-h3-lh);
}

html h4 {
  font-size: var(--gs-h4);
  line-height: var(--gs-h4-lh);
}

html h5 {
  font-size: var(--gs-h5);
  line-height: var(--gs-h5-lh);
}

html h6 {
  font-size: var(--gs-h6);
  line-height: var(--gs-h6-lh);
}

html .gs-eyebrow {
  font-size: var(--gs-eyebrow);
  line-height: var(--gs-eyebrow-lh);
}


html h1, html h2 {
  margin-top: var(--gs-head-mt);
  margin-bottom: var(--gs-head-mb);
}

html h3, html h4, html h5, html h6 {
  margin-top: var(--gs-head-mt);
  margin-bottom: var(--gs-head-compact-mb);
}

html p, html li {
  font-size: var(--gs-p-size);
  line-height: var(--gs-p-lh);
}

html figcaption {
  font-size: var(--gs-text-xs);
  line-height: var(--gs-text-xs-lh);
  letter-spacing: 0.003em;
}


.hero {
  --gs-h1: clamp(2.125rem, 1.2rem + 3.8vw, 3rem);
  --gs-h1-lh: 1.12;
}

.reading-dense {
  --gs-p-lh: 1.45;
}

.gs-intro {
  margin-bottom: var(--gs-intro-mb);
}

.gs-squeeze {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

/* generally, let's try zeroing out the margins of the last paragraph in any givven section */
/*
p:not(.gb-text):last-of-type {
    margin-bottom: 0;
}
*/


div > :is(p, .gs-wrap-buttons):last-child {
  margin-bottom: 0 !important;
}

a {
  display: inline-block;
  position: relative;
  transition: all 0.5s ease 0s;
  position: relative;
}

.entry-contentX p a:not(.gs-button--text, .gs-button--outline, .gs-button--primary, .gs-button--secondary):is(:hover, :focus) {
  text-decoration: underline;
}

a.gs-button--text:is(:hover, :focus) {
  text-decoration: underline;
}

a.gs-button--text, a.gs-button--outline, a.gs-button--primary, a.gs-button--secondary {
  display: inline-flex;
  line-height: 1rem;
}

a.gs-button--outline, a.gs-button--primary, a.gs-button--secondary {
  padding: .75em 1em;
}

/*set some default svg widths inside buttons*/
a[class*="gs-button-"] svg {
  width: var(--gs-text-md);
}
a.gs-text--sm svg {
  width: var(--gs-text-sm);
}
a.gs-text--md svg {
  width: var(--gs-text-md);
}
a.gs-text--lg svg {
  width: var(--gs-text-lg);
}
a.gs-text--xl svg {
  width: var(--gs-text-xl);
}
a.gs-text--2xl svg {
  width: var(gs-text--2xl);
}


a.gs-button--primary:is(:hover, :focus),
a.gs-button--secondary:is(:hover, :focus),
a.gs-button--outline:is(:hover, :focus) {
  text-decoration: none;
}

a.gs-button--outline {
  border: 2px solid var(--contrast);
}


a.gs-button--primary::before,
a.gs-button--secondary::before{
  content: '';
  position: absolute;
  border-radius: 0px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 2px solid #fff;
  transition: top, left, right, bottom, 150ms ease-in-out;
}
a.gs-button--primary:hover::before,
a.gs-button--secondary:hover::before{
  border-radius: 50x;
  top: calc(3px * -2);
  left: calc(3px * -2);
  right: calc(3px * -2);
  bottom: calc(3px * -2);
}


.gs-button--text:is(:hover, :focus) {
  transform: translate3d(0px,-3px,0px);
  transition: transform 0.5s ease 0s;
}


.entry-content p a::after {
  content: '';
  height: 2px;
  width: 100%;
  position: absolute;
  bottom: 0px;
  left: 0;
  opacity: .15;
}

.entry-content p a:hover::after {
  opacity: .35;
}


.gsimage {
  line-height: 0;
}

.gs-processedXX img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* since we're going to be using more list markup, let's reset the standard styling unless it is inside a p element */
ul.gs-flush, ol.gs-flush {
  list-style: none;
  margin-left: 0rem;
  margin-right: 0rem;
  padding-left: 0rem;
  padding-right: 0rem;
}

ul.gs-flush p:last-of-type, ol.gs-flush p:last-of-type {
  margin-bottom: 0 !important;
}


/* visually visible, but out of the accessibility + keyboard tree */
.gs-cta-hide-sr {
  pointer-events: auto; /* keep mouse support */
}

.gs-cta-hide-sr[aria-hidden=\"true\"] { /* just to make intent explicit if inspected */
  /* no extra styles needed */
}

/* Quick way to prevent link styles from showing up in footer elements */
XXheader a::after, XXfooter a::after {
  display: none;
}


.wrapIconsX {
  display: flex;
  flex-flow: row wrap;
  column-gap: 1.5rem;
  justify-content: flex-end;
  align-content: center;
  align-items: center;
}

.wrapIconsX a {
  font-size: 1.75rem;
  opacity: .8;
}

.wrapIconsX a:hover {
  opacity: 1;
}

.wrapIconsX svg {
  width: 1.75rem;
}


footer .sectionHeader {
  margin-bottom: 1rem;
}

.widgetLinks {
  padding: 0rem;
  margin: 0rem;
  font-size: 1rem;
  row-gap: .35rem;
}

.widgetLinks .gb-loop-item {
  column-gap: .75rem;
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
}

.widgetLinks .gb-loop-item div {
  font-size: 1rem;
}

.widgetLinks .gb-loop-item .gb-shape svg {
  width: .65rem;
  height: .65rem;
  opacity: .25;
  display: inline-flex;
  margin-top: .25rem;
}

.testimonial blockquote {
  border: none;
  padding: 0px;
  font-size: 1.25rem;
}

.testimonial .quote {
  align-items: flex-start;
  column-gap: 1rem;
  display: flex;
  flex-direction: row;
}

.testimonial .icon {
  font-size: 1rem;
}

.testimonial .icon svg {
  width: 2rem;
  height: 2rem;
}

.testimonial .quote {
  font-size: 1rem;
  line-height: 1.15rem;
}

.testimonial .meta {
  align-items: flex-start;
  column-gap: 1rem;
  display: flex;
  flex-direction: row;
  margin-left: 3rem;
  margin-top: 1rem;
}

.testimonial .meta .thumbnail img {
  width: 60px;
  height: 60px;
  border-radius: 100%;
  overflow: hidden;
}

.testimonial .info {
  font-style: normal;
  font-size: 1rem;
}

.testimonial .info .cite, .testimonial .info .source {
  font-size: .85rem;
}

.testimonial .info .role::after {
  content: 'at';
  display: inline-block;
  margin: 0rem .5em;
  opacity: .95;
}

.relatedSection {
  margin: 100px auto 20px;
}

.relatedSection .heading {
  font-size: 1rem;
  font-weight: bold;
  margin: 0rem auto 1rem;
}

.relatedSection .heading::after {
  content: '';
  display: block;
  height: 2px;
  width: 100%;
  background-color: rgba(0, 0, 0, .05);
}


.stars.count0 svg {
  opacity: .15;
}

.stars.count1 svg:nth-child(2), .stars.count1 svg:nth-child(3), .stars.count1 svg:nth-child(4), .stars.count1 svg:nth-child(5) {
  opacity: .15;
}

.stars.count2 svg:nth-child(3), .stars.count2 svg:nth-child(4), .stars.count2 svg:nth-child(5) {
  opacity: .15;
}

.stars.count3 svg:nth-child(4), .stars.count3 svg:nth-child(5) {
  opacity: .15;
}

.stars.count4 svg:nth-child(5) {
  opacity: .15;
}


.shape-bottom {
  padding-bottom: 6em;
}

.shape-bottom .gb-shape--divider svg {
  height: 3em !important;
}

.shape-top {
  padding-top: 6em;
}

.shape-top .gb-shape--divider svg {
  height: 3em !important;
}


@media (min-width: 2400px) {

  .shape-bottom {
    padding-bottom: 8em;
  }

  .shape-bottom .gb-shape--divider svg {
    height: 3em !important;
  }

  .shape-top {
    padding-top: 8em;
  }

  .shape-top .gb-shape--divider svg {
    height: 3em !important;
  }


}




html {
  background-color: var(--css-background);
}

.bg-overlay:not(.bg-gradient)::after {
  background-color: var(--css-overlay);
}

:is(h1, h2, h3, h4, h5, h6) {
  color: var(--css-headers);
}

:is(div, p, li, span, a) {
  color: var(--css-text);
}

.entry-content p a::after {
  background: var(--css-link-text);
}

.gs-eyebrow::after {
  background-color: var(--css-text);
}




figcaption a, .wp-block-gallery figcaption a, .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) figcaption a {
  text-decoration: underline;
  width: auto;
}

.gs-caption-outside figcaption,
.gs-caption-overlay figcaption,
.gs-cover figcaption,
.wp-block-gallery .wp-block-image > figcaption {
  background: var(--css-caption-bg);
  color: var(--css-caption-text);
  line-height: 1.4;
}

figure.gs-caption-outside figcaption a,
figure.gs-caption-overlay figcaption a,
.gs-cover.gs-caption-outside figcaption a,
.wp-block-gallery.gs-caption-outside .wp-block-image > figcaption a,
.wp-block-gallery .wp-block-image.gs-caption-outside > figcaption a {
  color: var(--css-caption-text) !important;
  text-decoration: underline;
}

figure.gs-caption-outside figcaption a:hover,
figure.gs-caption-overlay figcaption a:hover,
.gs-cover.gs-caption-outside figcaption a:hover,
.wp-block-gallery.gs-caption-outside .wp-block-image > figcaption a:hover,
.wp-block-gallery .wp-block-image.gs-caption-outside > figcaption a:hover {
  opacity: 70%;
}

@media print {
  .gs-cover > figure { position: relative; overflow: hidden; }
  .gs-cover > figure > picture > img {
    position: static !important;   /* was absolute */
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;       /* lets object-fit try to fill the box */
    max-width: none !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

[class*="bg-"] {
  background-color: var(--css-background);
}

[class*="bg-"].bg-overlay.bg-gradient {
  background-color: transparent;
}

[class*="bg-"].bg-overlay.bg-gradient::after {
  background-image: linear-gradient(to right top, var(--gradient-a), var(--gradient-b), var(--gradient-b), var(--gradient-c));
  transition: opacity 500ms ease;
  opacity: 75%;
}

a[class*="bg-"].bg-overlay.bg-gradient:hover::after {
  transition: opacity 500ms ease;
  opacity: 95%;
}

[class*="bg-"] :is(h1, h2, h3, h4, h5, h6) {
  color: var(--css-headers);
}

[class*="bg-"] :is(div, p, li, span) {
  color: var(--css-text);
}

[class*="bg-"] .gs-eyebrow::after {
  background-color: var(--css-text);
}

[class*="bg-"] .gs-cover figcaption,
[class*="bg-"] .wp-block-gallery .wp-block-image > figcaption,
[class*="bg-"] .wp-block-gallery.has-nested-images figure.wp-block-image > figcaption{
  background: var(--css-caption-bg);
  color: var(--css-caption-text);
}

[class*="bg-"] .gs-cover.gs-caption-outside figcaption,
[class*="bg-"] .wp-block-gallery.gs-caption-outside .wp-block-image > figcaption,
[class*="bg-"] .wp-block-gallery .wp-block-image.gs-caption-outside > figcaption {
  background: var(--css-caption-bg);
  color: var(--css-caption-text);
}

[class*="bg-"] .gs-cover.gs-caption-outside figcaption a,
[class*="bg-"] .wp-block-gallery.gs-caption-outside .wp-block-image > figcaption a,
[class*="bg-"] .wp-block-gallery .wp-block-image.gs-caption-outside > figcaption a {
  color: var(--css-caption-text);
  text-decoration: underline;
}



/* BUTTON STYLES */

/* LINKS */
[class*="bg-"] a {
  color: var(--css-link-text);
}
.entry-content [class*="bg-"] p a::after {
  background: var(--css-link-text);
}
[class*="bg-"] a:hover {
  color: var(--css-link-text-hover);
}
[class*="bg-"] a:visited {
  color: var(--css-link-text-visited);
}
[class*="bg-"] a svg {
  color: var(--css-link-text);
}
[class*="bg-"] a:hover svg {
  color: var(--css-link-text-hover);
}
[class*="bg-"] .sample-logo svg, [class*="bg-"] .sample-logo svg path {
  color: var(--css-link-text);
  fill: var(--css-link-text);
}



/* UNDERLINES FOR LINKS IN MAIN BODY PARAGRAPHS ONLY */
.entry-content [class*="bg-"] p a:not(.gradient-overlay-contrast):not(.gradient-overlay-base)::after {
  background: var(--css-link-text);
}
.entry-content [class*="bg-"] p a:not(.gradient-overlay-contrast):not(.gradient-overlay-base):hover::after {
  background: var(--css-link-text-hover);
}



/* TEXT BUTTONS */

[class*="bg-"] a.gs-button--text,
[class*="bg-"] a.gs-button--text span {
  color: var(--css-link-text);
  fill: var(--css-link-text);
}
[class*="bg-"] a.gs-button--text:is(:hover, :focus),
[class*="bg-"] a.gs-button--text:is(:hover, :focus) span {
  color: var(--css-link-text-hover);
  fill: var(--css-link-text-hover);
}




/* FILLED (PRIMARY) */

[class*="bg-"] a.gs-button--primary {
  color: var(--css-btn-text);
  fill: var(--css-btn-text);
  background: var(--css-btn-bg);
}
[class*="bg-"] a.gs-button--primary svg {
  color: var(--css-btn-text);
  fill: var(--css-btn-text);
}
[class*="bg-"] a.gs-button--primary span {
  color: var(--css-btn-text);
}
[class*="bg-"] a.gs-button--primary:is(:hover, :focus) {
  color: var(--css-btn-text-hover);
  fill: var(--css-btn-text-hover);
  background: var(--css-btn-bg-hover);
}
[class*="bg-"] a.gs-button--primary:is(:hover, :focus) svg {
  color: var(--css-btn-text-hover);
  fill: var(--css-btn-text-hover);
}
[class*="bg-"] a.gs-button--primary:is(:hover, :focus) span {
  color: var(--css-btn-text-hover);
}
[class*="bg-"] a.gs-button--primary::before {
  border-color: var(--css-btn-bg-hover);
}



/* TONAL */

[class*="bg-"] a.gs-button--secondary, [class*="bg-"] a.gs-button--secondary svg, [class*="bg-"] a.gs-button--secondary span {
  color: var(--css-btn-tonal-text);
  fill: var(--css-btn-tonal-text);
  background: var(--css-btn-tonal-bg);
}
[class*="bg-"] a.gs-button--secondary:is(:hover, :focus), [class*="bg-"] a.gs-button--secondary:is(:hover, :focus) svg, , [class*="bg-"] a.gs-button--secondary:is(:hover, :focus) span {
  color: var(--css-btn-tonal-text-hover);
  fill: var(--css-btn-tonal-text-hover);
  background: var(--css-btn-tonal-bg-hover);
}
[class*="bg-"] a.gs-button--secondary::before {
  border-color: var(--css-btn-tonal-border);
}
[class*="bg-"] a.gs-button--secondary:is(:hover, :focus)::before {
  border-color: var(--css-btn-tonal-border-hover);
}

/* OUTLINED */

[class*="bg-"] a.gs-button--outline {
  color: var(--css-btn-outline-text);
  fill: var(--css-btn-outline-text);
  background: var(--css-btn-outline-bg);
  border-color: var(--css-btn-outline-border);
  /* transition: color 200ms ease-in-out, box-shadow 300ms ease-in-out, border-color 300ms ease-in-out; */
  transition: all 500ms ease-in-out;

}
[class*="bg-"] a.gs-button--outline:is(:hover, :focus) {
  color: var(--css-btn-outline-text-hover);
  fill: var(--css-btn-outline-text-hover);
  box-shadow: 0 0 40px 40px var(--css-btn-outline-bg-hover) inset;
  border-color: var(--css-btn-outline-bg-hover);
}
[class*="bg-"] a.gs-button--outline:is(:hover, :focus) svg, [class*="bg-"] a.gs-button--outline:is(:hover, :focus) span {
  color: var(--css-btn-outline-text-hover);
  fill: var(--css-btn-outline-text-hover);
}




.bg-gradient {
  transition: all 500ms;
}

.bg-overlay {
  position: relative;
}

.bg-overlay > * {
  z-index: 1;
}

.bg-overlay::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

.wp-block.is-selected.bg-overlay.bg-gradient:focus::after {
  z-index: 0 !important;
}




/* GRADIENT-OVERLAY COMBO RULES */
[class*="bg-light"].bg-overlay.bg-gradient::after {
  background-image: linear-gradient(to right top, var(--contrast-darkest), var(--contrast-darker), var(--contrast-darker), var(--contrast-lighter));
  transition: opacity 500ms ease;
  opacity: 75%;
}

a[class*="bg-light"].bg-overlay.bg-gradient:hover::after {
  transition: opacity 500ms ease;
  opacity: 95%;
}

[class*="bg-dark"].bg-overlay.bg-gradient::after {
  background-image: linear-gradient(to right top, var(--base-darkest), var(--base-darker), var(--base-darker), var(--base-lighter));
  transition: opacity 500ms ease;
  opacity: 75%;
}

a[class*="bg-dark"].bg-overlay.bg-gradient:hover::after {
  transition: opacity 500ms ease;
  opacity: 95%;
}




.gform-theme, .gf_simple_horizontal {
  --gf-ctrl-btn-color-primary: var(--c1-contrast);
  --gf-ctrl-btn-bg-color-primary: var(--c1);
  --gf-ctrl-btn-bg-color-hover-primary: var(--c1-hover);

  --gf-ctrl-btn-bg-color-focus-primary: var(--c1-hover);
  --gf-ctrl-btn-border-color-focus-primary: var(--c1-hover);

  --gf-ctrl-outline-color-focus: var(--c1-on-contrast-hover);

  --gf-ctrl-btn-shadow-hover: inset 0 0 0 1000px rgba(0,0,0,0.1);
}

.gfield_required {
  color: var(--c1);
}


body .gform-theme--framework .gform_validation_errors {
  --gf-form-validation-heading-color: #ffffff;
  background-color: #df0000;
}




div .gb-loop-item:last-child .hideLast,
div .gb-loop-item:first-child .hideFirst {
  display: none;
}


.highlight-word mark.gb-highlight {
  background-image: linear-gradient(180deg, var(--css-shadow) 0%, var(--css-shadow) 100%);
  background-position: 0 86%;
  background-repeat: no-repeat;
  background-size: 100% 30%;
  padding-left: 0.1em;
  padding-right: 0.1em;
  margin-right: -0.1em;
  margin-left: -0.1em;
  color: inherit;
}

html .wp-block-gallery.has-nested-images figure.wp-block-image {
  flex-grow: 0;
}




/* Visually hidden utility */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important; /* helps for Google’s visual renders */
}

.gs-centered {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
  text-align: center
}

.gs-eyebrow {
  padding-left: .65rem;
  position: relative;
}



.gs-centered .gs-eyebrow {
  padding-left: 0;
  padding-bottom: .15rem;
  margin-bottom: 1.25rem;
}

.gs-eyebrow::after {
  position: absolute;
  content: '';
  opacity: 15%;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
}

.gs-centered .gs-eyebrow::after {
  top: auto;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 200%);
  height: 3px;
  width: 20%;
}

.gs-centered :is(h1,h2,h3,h4,h5,h6).gs-accent:after {
  top: auto;
  bottom: .75rem;
  left: 50%;
  transform: translate(-50%, 200%);
}

/*header accent helpers*/
:is(h1,h2,h3,h4,h5,h6).gs-accent {
  margin-bottom: 1em;
  padding-bottom: .35em;
  position: relative
}

:is(h1,h2,h3,h4,h5,h6).gs-accent:after {
  content: "";
  height: 4px;
  width: 12%;
  opacity: 0.75;
  background-color: var(--c1);
  display: inline-block;
  position: absolute;
  bottom: 0px;
  left: 0%
}

/*image default accent helpers*/
figure.gs-accentX {
  box-shadow: -10px 10px 0px 0px var(--css-shadow);
  height: auto;
  margin-bottom: 1rem;
  max-width: 100%
}

.gs-framed:is(picture.gs-processed,figure.wp-block-image,div.gs-cover),
.gs-framed > :is(figure.wp-block-image) {
  box-shadow: -10px 10px 0px 0px var(--css-shadow);

  /*supports some fancier effects too - https://getcssscan.com/css-box-shadow-examples */
  /*box-shadow: rgba(240, 46, 170, 0.4) -5px 5px, rgba(240, 46, 170, 0.3) -10px 10px, rgba(240, 46, 170, 0.2) -15px 15px, rgba(240, 46, 170, 0.1) -20px 20px, rgba(240, 46, 170, 0.05) -25px 25px;*/

  /*box-shadow: blue 0px 0px 0px 2px inset, rgb(255, 255, 255) 10px -10px 0px -3px, rgb(31, 193, 27) 10px -10px, rgb(255, 255, 255) 20px -20px 0px -3px, rgb(255, 217, 19) 20px -20px, rgb(255, 255, 255) 30px -30px 0px -3px, rgb(255, 156, 85) 30px -30px, rgb(255, 255, 255) 40px -40px 0px -3px, rgb(255, 85, 85) 40px -40px;*/

  /*border-radius: 50%;*/
  /*overflow: hidden;*/

  /*align-items: center;*/
  /*display: flex;*/
  /*flex-direction: row;*/
  /*flex-wrap: nowrap;*/
  /*height: auto;*/
  /*justify-content: center;*/
  /*margin-bottom: 1rem;*/
  /*max-width: 100%*/
}


/* ==========================================================
   GlideStep Gallery / Mosaic / Ratio Helpers (Consolidated)
   ========================================================== */


/* ==========================================================
   Base fixes / neutralizers
   ========================================================== */

/* Kill WP’s width calc inside tiles, keep zero margin */

.gs-mosaic {
  width: 100%;
}

.wp-block-gallery.has-nested-images.gs-mosaic figure.wp-block-image,
.wp-block-gallery.has-nested-images:not(.gs-mosaic) figure.wp-block-image {
  width: auto !important;
  margin: 0;
  margin-bottom: var(--css-gallery-margin-bottom, 1.25rem) !important; /* then set the side */
}

.wp-block-gallery.has-nested-images:not(.caption-outside) figure.wp-block-image > a {
  width: auto !important;
}

/* Override WP’s gs-per-instance gallery gap variable and sync to our gap */
.wp-block-gallery[class*="wp-block-gallery-"] {
  --wp--style--unstable-gallery-gap: var(--css-gallery-gap, 0);
  gap: var(--css-gallery-gap, 0) !important;
}


/* Figure owns the box; ratio comes from your helpers via --css-aspect-ratio */
:where(figure) {
  margin: 0;
  position: relative;
  aspect-ratio: var(--css-aspect-ratio, auto); /* e.g., 1/1, 4/3, 16/9, etc. */
  /*overflow:hidden; !* keep overlays tidy *!*/
}

figure.wp-block-gallery {
  /*overflow:visible; !* keep overlays tidy *!*/
}

/* Media wrapper fills figure by default */
:where(figure) > :is(a, picture, img, video, .gs-media) {
  display: block;
  width: 100%;
  height: 100%; /* lets us “shrink” when caption needs space */
  min-height: 0;
}

/* Ensure image covers wrapper cleanly */
:where(picture) > img,
:where(.gs-media) > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Caption base */
:where(figure) > figcaption {
  display: block;
  box-sizing: border-box;
  margin: 0;
  padding: var(--css-caption-pad);
  padding-left: 0;
  padding-right: 0;
  text-align: right;
}

/* Default these to overlay */
:where(.wp-block-gallery) :where(figure),
:where(.gs-flush) :where(figure),
:where(.gs-cover) :where(figure),
:where(.gs-mosaic) :where(figure),
:where(figure.gs-caption-overlay),
:where(.gs-caption-overlay) :where(figure):not(.gs-caption-outside) {
  position: relative;
}

/* Media fills full box; caption layers on top (no layout impact) */
:where(.wp-block-gallery) :where(figure) > figcaption,
:where(.flush) :where(figure) > figcaption,
:where(.gs-cover) :where(figure) > figcaption,
:where(.gs-mosaic) :where(figure) > figcaption,
:where(figure.gs-caption-overlay) > figcaption,
:where(.gs-caption-overlay) :where(figure):not(.gs-caption-outside) > figcaption {
  position: absolute;
  inset: auto 0 0 0; /* bottom overlay */
  padding: var(--css-caption-pad);
}


/* Switch figure to a two-row grid: media shrinks, caption takes its row */
:where(figure.gs-caption-outside),
:where(.gs-caption-outside) :where(figure):not(.gs-caption-overlay) {
  display: grid;
  grid-template-rows: 1fr auto;
}

/* Media occupies the flexible row */
:where(figure.gs-caption-outside) > :is(a, picture,img,video,.gs-media),
:where(.gs-caption-outside) :where(figure):not(.gs-caption-overlay) > :is(picture,img,video,.gs-media) {
  grid-row: 1;
  height: 100%; /* grid makes this “whatever space is left” */
  min-height: 0;
}

/* Caption claims the auto row at the bottom, full width */
:where(figure.gs-caption-outside) > figcaption,
:where(.gs-caption-outside) :where(figure):not(.gs-caption-overlay) > figcaption {
  position: static;
  grid-row: 2;
}

/* If the media is wrapped in <a>, make sure the anchor behaves like a box */
:where(figure.gs-caption-outside) > a,
:where(.gs-caption-outside) :where(figure):not(.gs-caption-overlay) > a {
  display: block;
  width: 100%;
}

/* Figures are positioned contexts; strip inline gaps */
.wp-block-gallery figure.wp-block-image {
  position: relative;
  line-height: 0;
  vertical-align: top;
}

/* Media blocks should be block-level */
.wp-block-gallery figure.wp-block-image > img,
.wp-block-gallery figure.wp-block-image > picture,
.wp-block-gallery figure.wp-block-image > picture > img {
  display: block;
  width: 100%;
}

/* Never let the gallery container itself get an aspect-ratio */
.wp-block-gallery {
  aspect-ratio: auto;
}

/* ==========================================================
   Caption behavior
   - Overlay by default
   - Switch to outside with .gs-caption-outside (on item or gallery)
   ========================================================== */

/* Safety clamp: prevent media wrappers from bleeding horizontally */
.wp-block-gallery .wp-block-image > :is(a,picture,img) {
  max-width: 100%;
  min-width: 0;
}

/* Overlay (default) */
.wp-block-gallery .wp-block-image > figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: var(--css-caption-pad);
  z-index: 1;
}

/* Outside mode (STRONG override) */
.wp-block-gallery.gs-caption-outside .wp-block-image > figcaption,
.wp-block-gallery .wp-block-image.gs-caption-outside > figcaption {
  position: static !important;
  inset: auto !important; /* neutralize any absolute positioning */
  margin: var(--css-caption-gap, 0) 0 0;
  padding: var(--css-caption-pad);
  display: block;
  line-height: 1.25; /* reset from figure's line-height:0 */
}

/* Outside-mode layout scaffold (keeps caption INSIDE the figure box)
   - The FIGURE owns the aspect-ratio so the caption doesn't push out
   - Media wrapper flexes to fill remaining space above caption
*/
.wp-block-gallery .wp-block-image.gs-caption-outside {
  /* Figure should own the ratio so caption remains inside */
  aspect-ratio: var(--css-aspect-ratio);
  display: flex;
  flex-direction: column;
  overflow: hidden; /* prevent caption/image bleed */
}

/* If media is wrapped in <a> or <picture>, make that wrapper flex */
.wp-block-gallery .wp-block-image.gs-caption-outside > :is(a,picture) {
  display: block;
  width: 100%;
  flex: 1 1 auto; /* take leftover space above caption */
  min-width: 0; /* avoid right overflow in flex/grid */
  min-height: 0;
}

.wp-block-gallery .wp-block-image.gs-caption-outside > :is(a,picture) > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Raw <img> (no <picture>/<a>) */
.wp-block-gallery .wp-block-image.gs-caption-outside > img {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Gallery-level outside mode: the GALLERY has .gs-caption-outside */
.wp-block-gallery.gs-caption-outside .wp-block-image {
  /* Figure owns the ratio; caption stays inside */
  aspect-ratio: var(--css-aspect-ratio) !important;
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
}

.wp-block-gallery.gs-caption-outside .wp-block-image > :is(a,picture) {
  display: block;
  width: 100%;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
}

.wp-block-gallery.gs-caption-outside .wp-block-image > :is(a,picture) > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wp-block-gallery.gs-caption-outside .wp-block-image > img {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* When gallery is cropped, keep tiles tidy */
.wp-block-gallery.is-cropped .wp-block-image {
  /*overflow: hidden;*/
  margin: 0 0 var(--css-gallery-margin-bottom);
}

.wp-block-gallery.is-cropped .wp-block-image picture,
.wp-block-gallery.is-cropped .wp-block-image img {
  height: 100%;
  object-fit: cover;
}

/* Undo overflow hiding when captions are outside (gallery-level) */
.wp-block-gallery.is-cropped.gs-caption-outside .wp-block-image {
  overflow: hidden !important;
}

/* ==========================================================
   GS Cover helper (works for standalone media sections)
   - Overlay by default
   - .gs-caption-outside puts caption below while image still covers
   ========================================================== */

.gs-cover {
  position: relative;
  overflow: hidden;
}

.gs-cover > picture,
.gs-cover > figure {
  position: absolute;
  inset: 0;
  margin: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.gs-cover > figure > picture {
  position: absolute;
  inset: 0;
  display: block;
}

.gs-cover img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  display: block;
}

.gs-cover figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  z-index: 2;
  padding: var(--css-caption-pad);
}

/* Outside mode for gs-cover (supports helper on parent OR child figure) */
.gs-cover.gs-caption-outside {
  overflow: hidden;
}

/* Make the figure a flex column whether the helper is on parent or figure */
.gs-cover.gs-caption-outside > figure,
.gs-cover > figure.gs-caption-outside {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;

}

/* Picture wrapper fills remaining space above caption */
.gs-cover.gs-caption-outside > figure > picture,
.gs-cover > figure.gs-caption-outside > picture {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  display: block;
}

/* Bitmap covers its wrapper */
.gs-cover.gs-caption-outside > figure > picture > img,
.gs-cover > figure.gs-caption-outside > picture > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Caption sits below image (inside figure box) */
.gs-cover.gs-caption-outside figcaption,
.gs-cover > figure.gs-caption-outside figcaption {
  position: static;
  margin: 0;
  padding-top: .5rem;
}

/* ==========================================================
   Gallery layout (Grid by default; Mosaic opt-in)
   ========================================================== */

/* Default grid (NOT mosaic) */
.wp-block-gallery:not(.gs-mosaic) {
  display: grid;
  gap: var(--css-gallery-gap);
  grid-template-columns: repeat(auto-fit, minmax(var(--css-gallery-min), 1fr));
  /*align-items: stretch;*/
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Center-last-row mode (opt-in per gallery) */
.wp-block-gallery.gs-centered:not(.gs-mosaic) {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--css-gallery-gap);
  justify-content: center; /* centers each line */
  align-items: center;
}

.wp-block-gallery.gs-centered:not(.gs-mosaic) > :is(.wp-block-image, li) {
  flex-basis: calc((100% - (calc(var(--css-gallery-flex-cols) - 1) * var(--css-gallery-gap))) / var(--css-gallery-flex-cols));
}

.wp-block-gallery.has-nested-images:not(.gs-mosaic) .wp-block-image,
.wp-block-gallery.has-nested-images:not(.gs-mosaic) li {
  margin: 0;
  position: relative;
  display: block;
}

.wp-block-gallery:not(.gs-mosaic) .wp-block-image a,
.wp-block-gallery:not(.gs-mosaic) .wp-block-image picture,
.wp-block-gallery:not(.gs-mosaic) .wp-block-image img,
.wp-block-gallery:not(.gs-mosaic) li a,
.wp-block-gallery:not(.gs-mosaic) li picture,
.wp-block-gallery:not(.gs-mosaic) li img {
  display: block;
  width: 100%;
}


.wp-block-gallery.gs-centered:not(.gs-mosaic) > :is(.wp-block-image, li) {
  /*--css-gallery-flex-cols: 3*/
}


/* Gutenberg column presets (non-mosaic) */
.wp-block-gallery.columns-1:not(.gs-mosaic) {
  grid-template-columns: 1fr;
}

.wp-block-gallery.columns-2:not(.gs-mosaic) {
  grid-template-columns: repeat(2, 1fr);
}

.wp-block-gallery.columns-3:not(.gs-mosaic) {
  grid-template-columns: repeat(3, 1fr);
}

.wp-block-gallery.columns-4:not(.gs-mosaic) {
  grid-template-columns: repeat(4, 1fr);
}

.wp-block-gallery.columns-5:not(.gs-mosaic) {
  grid-template-columns: repeat(5, 1fr);
}

.wp-block-gallery.columns-6:not(.gs-mosaic) {
  grid-template-columns: repeat(6, 1fr);
}

.wp-block-gallery.columns-7:not(.gs-mosaic) {
  grid-template-columns: repeat(7, 1fr);
}

.wp-block-gallery.columns-8:not(.gs-mosaic) {
  grid-template-columns: repeat(8, 1fr);
}

.wp-block-gallery.columns-9:not(.gs-mosaic) {
  grid-template-columns: repeat(9, 1fr);
}

.wp-block-gallery.columns-10:not(.gs-mosaic) {
  grid-template-columns: repeat(10, 1fr);
}


/* Width helpers */
.wp-block-gallery.alignwide:not(.gs-mosaic) {
  max-width: 1200px;
  margin-inline: auto;
}

.wp-block-gallery.alignfull:not(.gs-mosaic) {
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
}

/* Our gs-col-* utilities on non-mosaic galleries */
.wp-block-gallery.gs-col-1:not(.gs-mosaic) {
  grid-template-columns: repeat(1, 1fr);
}

.wp-block-gallery.gs-col-2:not(.gs-mosaic) {
  grid-template-columns: repeat(2, 1fr);
}

.wp-block-gallery.gs-col-3:not(.gs-mosaic) {
  grid-template-columns: repeat(3, 1fr);
}

.wp-block-gallery.gs-col-4:not(.gs-mosaic) {
  grid-template-columns: repeat(4, 1fr);
}

.wp-block-gallery.gs-col-5:not(.gs-mosaic) {
  grid-template-columns: repeat(5, 1fr);
}

.wp-block-gallery.gs-col-6:not(.gs-mosaic) {
  grid-template-columns: repeat(6, 1fr);
}

.wp-block-gallery.gs-col-7:not(.gs-mosaic) {
  grid-template-columns: repeat(7, 1fr);
}

.wp-block-gallery.gs-col-8:not(.gs-mosaic) {
  grid-template-columns: repeat(8, 1fr);
}

.wp-block-gallery.gs-col-9:not(.gs-mosaic) {
  grid-template-columns: repeat(9, 1fr);
}

.wp-block-gallery.gs-col-10:not(.gs-mosaic) {
  grid-template-columns: repeat(10, 1fr);
}


.wp-block-gallery.gs-centered.columns-1:not(.gs-mosaic) {
  --css-gallery-flex-cols: 1;
}

.wp-block-gallery.gs-centered.columns-2:not(.gs-mosaic) {
  --css-gallery-flex-cols: 2;
}

.wp-block-gallery.gs-centered.columns-3:not(.gs-mosaic) {
  --css-gallery-flex-cols: 3;
}

.wp-block-gallery.gs-centered.columns-4:not(.gs-mosaic) {
  --css-gallery-flex-cols: 4;
}

.wp-block-gallery.gs-centered.columns-5:not(.gs-mosaic) {
  --css-gallery-flex-cols: 5;
}

.wp-block-gallery.gs-centered.columns-6:not(.gs-mosaic) {
  --css-gallery-flex-cols: 6;
}

.wp-block-gallery.gs-centered.columns-7:not(.gs-mosaic) {
  --css-gallery-flex-cols: 7;
}

.wp-block-gallery.gs-centered.columns-8:not(.gs-mosaic) {
  --css-gallery-flex-cols: 8;
}

.wp-block-gallery.gs-centered.columns-9:not(.gs-mosaic) {
  --css-gallery-flex-cols: 9;
}

.wp-block-gallery.gs-centered.columns-10:not(.gs-mosaic) {
  --css-gallery-flex-cols: 10;
}


.wp-block-gallery.gs-centered.gs-col-1:not(.gs-mosaic) {
  --css-gallery-flex-cols: 1;
}

.wp-block-gallery.gs-centered.gs-col-2:not(.gs-mosaic) {
  --css-gallery-flex-cols: 2;
}

.wp-block-gallery.gs-centered.gs-col-3:not(.gs-mosaic) {
  --css-gallery-flex-cols: 3;
}

.wp-block-gallery.gs-centered.gs-col-4:not(.gs-mosaic) {
  --css-gallery-flex-cols: 4;
}

.wp-block-gallery.gs-centered.gs-col-5:not(.gs-mosaic) {
  --css-gallery-flex-cols: 5;
}

.wp-block-gallery.gs-centered.gs-col-6:not(.gs-mosaic) {
  --css-gallery-flex-cols: 6;
}

.wp-block-gallery.gs-centered.gs-col-7:not(.gs-mosaic) {
  --css-gallery-flex-cols: 7;
}

.wp-block-gallery.gs-centered.gs-col-8:not(.gs-mosaic) {
  --css-gallery-flex-cols: 8;
}

.wp-block-gallery.gs-centered.gs-col-9:not(.gs-mosaic) {
  --css-gallery-flex-cols: 9;
}

.wp-block-gallery.gs-centered.gs-col-10:not(.gs-mosaic) {
  --css-gallery-flex-cols: 10;
}


@media (min-width: 481px) {

  .wp-block-gallery.gs-col-mobile-1:not(.gs-mosaic) {
    grid-template-columns: repeat(1, 1fr);
  }

  .wp-block-gallery.gs-col-mobile-2:not(.gs-mosaic) {
    grid-template-columns: repeat(2, 1fr);
  }

  .wp-block-gallery.gs-col-mobile-3:not(.gs-mosaic) {
    grid-template-columns: repeat(3, 1fr);
  }

  .wp-block-gallery.gs-col-mobile-4:not(.gs-mosaic) {
    grid-template-columns: repeat(4, 1fr);
  }

  .wp-block-gallery.gs-col-mobile-5:not(.gs-mosaic) {
    grid-template-columns: repeat(5, 1fr);
  }

  .wp-block-gallery.gs-col-mobile-6:not(.gs-mosaic) {
    grid-template-columns: repeat(6, 1fr);
  }

  .wp-block-gallery.gs-col-mobile-7:not(.gs-mosaic) {
    grid-template-columns: repeat(7, 1fr);
  }

  .wp-block-gallery.gs-col-mobile-8:not(.gs-mosaic) {
    grid-template-columns: repeat(8, 1fr);
  }

  .wp-block-gallery.gs-col-mobile-9:not(.gs-mosaic) {
    grid-template-columns: repeat(9, 1fr);
  }

  .wp-block-gallery.gs-col-mobile-10:not(.gs-mosaic) {
    grid-template-columns: repeat(10, 1fr);
  }


  .wp-block-gallery.gs-centered.gs-col-mobile-1:not(.gs-mosaic) {
    --css-gallery-flex-cols: 1;
  }

  .wp-block-gallery.gs-centered.gs-col-mobile-2:not(.gs-mosaic) {
    --css-gallery-flex-cols: 2;
  }

  .wp-block-gallery.gs-centered.gs-col-mobile-3:not(.gs-mosaic) {
    --css-gallery-flex-cols: 3;
  }

  .wp-block-gallery.gs-centered.gs-col-mobile-4:not(.gs-mosaic) {
    --css-gallery-flex-cols: 4;
  }

  .wp-block-gallery.gs-centered.gs-col-mobile-5:not(.gs-mosaic) {
    --css-gallery-flex-cols: 5;
  }

  .wp-block-gallery.gs-centered.gs-col-mobile-6:not(.gs-mosaic) {
    --css-gallery-flex-cols: 6;
  }

  .wp-block-gallery.gs-centered.gs-col-mobile-7:not(.gs-mosaic) {
    --css-gallery-flex-cols: 7;
  }

  .wp-block-gallery.gs-centered.gs-col-mobile-8:not(.gs-mosaic) {
    --css-gallery-flex-cols: 8;
  }

  .wp-block-gallery.gs-centered.gs-col-mobile-9:not(.gs-mosaic) {
    --css-gallery-flex-cols: 9;
  }

  .wp-block-gallery.gs-centered.gs-col-mobile-10:not(.gs-mosaic) {
    --css-gallery-flex-cols: 10;
  }

}


@media (min-width: 768px), print {
  .wp-block-gallery.gs-col-tablet-1:not(.gs-mosaic) {
    grid-template-columns: repeat(1, 1fr);
  }

  .wp-block-gallery.gs-col-tablet-2:not(.gs-mosaic) {
    grid-template-columns: repeat(2, 1fr);
  }

  .wp-block-gallery.gs-col-tablet-3:not(.gs-mosaic) {
    grid-template-columns: repeat(3, 1fr);
  }

  .wp-block-gallery.gs-col-tablet-4:not(.gs-mosaic) {
    grid-template-columns: repeat(4, 1fr);
  }

  .wp-block-gallery.gs-col-tablet-5:not(.gs-mosaic) {
    grid-template-columns: repeat(5, 1fr);
  }

  .wp-block-gallery.gs-col-tablet-6:not(.gs-mosaic) {
    grid-template-columns: repeat(6, 1fr);
  }

  .wp-block-gallery.gs-col-tablet-7:not(.gs-mosaic) {
    grid-template-columns: repeat(7, 1fr);
  }

  .wp-block-gallery.gs-col-tablet-8:not(.gs-mosaic) {
    grid-template-columns: repeat(8, 1fr);
  }

  .wp-block-gallery.gs-col-tablet-9:not(.gs-mosaic) {
    grid-template-columns: repeat(9, 1fr);
  }

  .wp-block-gallery.gs-col-tablet-10:not(.gs-mosaic) {
    grid-template-columns: repeat(10, 1fr);
  }

  .wp-block-gallery.gs-centered.gs-col-tablet-1:not(.gs-mosaic) {
    --css-gallery-flex-cols: 1;
  }

  .wp-block-gallery.gs-centered.gs-col-tablet-2:not(.gs-mosaic) {
    --css-gallery-flex-cols: 2;
  }

  .wp-block-gallery.gs-centered.gs-col-tablet-3:not(.gs-mosaic) {
    --css-gallery-flex-cols: 3;
  }

  .wp-block-gallery.gs-centered.gs-col-tablet-4:not(.gs-mosaic) {
    --css-gallery-flex-cols: 4;
  }

  .wp-block-gallery.gs-centered.gs-col-tablet-5:not(.gs-mosaic) {
    --css-gallery-flex-cols: 5;
  }

  .wp-block-gallery.gs-centered.gs-col-tablet-6:not(.gs-mosaic) {
    --css-gallery-flex-cols: 6;
  }

  .wp-block-gallery.gs-centered.gs-col-tablet-7:not(.gs-mosaic) {
    --css-gallery-flex-cols: 7;
  }

  .wp-block-gallery.gs-centered.gs-col-tablet-8:not(.gs-mosaic) {
    --css-gallery-flex-cols: 8;
  }

  .wp-block-gallery.gs-centered.gs-col-tablet-9:not(.gs-mosaic) {
    --css-gallery-flex-cols: 9;
  }

  .wp-block-gallery.gs-centered.gs-col-tablet-10:not(.gs-mosaic) {
    --css-gallery-flex-cols: 10;
  }

}

@media (min-width: 1025px), print {
  .wp-block-gallery.gs-col-desktop-1:not(.gs-mosaic) {
    grid-template-columns: repeat(1, 1fr);
  }

  .wp-block-gallery.gs-col-desktop-2:not(.gs-mosaic) {
    grid-template-columns: repeat(2, 1fr);
  }

  .wp-block-gallery.gs-col-desktop-3:not(.gs-mosaic) {
    grid-template-columns: repeat(3, 1fr);
  }

  .wp-block-gallery.gs-col-desktop-4:not(.gs-mosaic) {
    grid-template-columns: repeat(4, 1fr);
  }

  .wp-block-gallery.gs-col-desktop-5:not(.gs-mosaic) {
    grid-template-columns: repeat(5, 1fr);
  }

  .wp-block-gallery.gs-col-desktop-6:not(.gs-mosaic) {
    grid-template-columns: repeat(6, 1fr);
  }

  .wp-block-gallery.gs-col-desktop-7:not(.gs-mosaic) {
    grid-template-columns: repeat(7, 1fr);
  }

  .wp-block-gallery.gs-col-desktop-8:not(.gs-mosaic) {
    grid-template-columns: repeat(8, 1fr);
  }

  .wp-block-gallery.gs-col-desktop-9:not(.gs-mosaic) {
    grid-template-columns: repeat(9, 1fr);
  }

  .wp-block-gallery.gs-col-desktop-10:not(.gs-mosaic) {
    grid-template-columns: repeat(10, 1fr);
  }

  .wp-block-gallery.gs-centered.gs-col-desktop-1:not(.gs-mosaic) {
    --css-gallery-flex-cols: 1;
  }

  .wp-block-gallery.gs-centered.gs-col-desktop-2:not(.gs-mosaic) {
    --css-gallery-flex-cols: 2;
  }

  .wp-block-gallery.gs-centered.gs-col-desktop-3:not(.gs-mosaic) {
    --css-gallery-flex-cols: 3;
  }

  .wp-block-gallery.gs-centered.gs-col-desktop-4:not(.gs-mosaic) {
    --css-gallery-flex-cols: 4;
  }

  .wp-block-gallery.gs-centered.gs-col-desktop-5:not(.gs-mosaic) {
    --css-gallery-flex-cols: 5;
  }

  .wp-block-gallery.gs-centered.gs-col-desktop-6:not(.gs-mosaic) {
    --css-gallery-flex-cols: 6;
  }

  .wp-block-gallery.gs-centered.gs-col-desktop-7:not(.gs-mosaic) {
    --css-gallery-flex-cols: 7;
  }

  .wp-block-gallery.gs-centered.gs-col-desktop-8:not(.gs-mosaic) {
    --css-gallery-flex-cols: 8;
  }

  .wp-block-gallery.gs-centered.gs-col-desktop-9:not(.gs-mosaic) {
    --css-gallery-flex-cols: 9;
  }

  .wp-block-gallery.gs-centered.gs-col-desktop-10:not(.gs-mosaic) {
    --css-gallery-flex-cols: 10;
  }

}

@media (min-width: 1800px), print {
  .wp-block-gallery.gs-col-highres-1:not(.gs-mosaic) {
    grid-template-columns: repeat(1, 1fr);
  }

  .wp-block-gallery.gs-col-highres-2:not(.gs-mosaic) {
    grid-template-columns: repeat(2, 1fr);
  }

  .wp-block-gallery.gs-col-highres-3:not(.gs-mosaic) {
    grid-template-columns: repeat(3, 1fr);
  }

  .wp-block-gallery.gs-col-highres-4:not(.gs-mosaic) {
    grid-template-columns: repeat(4, 1fr);
  }

  .wp-block-gallery.gs-col-highres-5:not(.gs-mosaic) {
    grid-template-columns: repeat(5, 1fr);
  }

  .wp-block-gallery.gs-col-highres-6:not(.gs-mosaic) {
    grid-template-columns: repeat(6, 1fr);
  }

  .wp-block-gallery.gs-col-highres-7:not(.gs-mosaic) {
    grid-template-columns: repeat(7, 1fr);
  }

  .wp-block-gallery.gs-col-highres-8:not(.gs-mosaic) {
    grid-template-columns: repeat(8, 1fr);
  }

  .wp-block-gallery.gs-col-highres-9:not(.gs-mosaic) {
    grid-template-columns: repeat(9, 1fr);
  }

  .wp-block-gallery.gs-col-highres-10:not(.gs-mosaic) {
    grid-template-columns: repeat(10, 1fr);
  }

  .wp-block-gallery.gs-centered.gs-col-highres-1:not(.gs-mosaic) {
    --css-gallery-flex-cols: 1;
  }

  .wp-block-gallery.gs-centered.gs-col-highres-2:not(.gs-mosaic) {
    --css-gallery-flex-cols: 2;
  }

  .wp-block-gallery.gs-centered.gs-col-highres-3:not(.gs-mosaic) {
    --css-gallery-flex-cols: 3;
  }

  .wp-block-gallery.gs-centered.gs-col-highres-4:not(.gs-mosaic) {
    --css-gallery-flex-cols: 4;
  }

  .wp-block-gallery.gs-centered.gs-col-highres-5:not(.gs-mosaic) {
    --css-gallery-flex-cols: 5;
  }

  .wp-block-gallery.gs-centered.gs-col-highres-6:not(.gs-mosaic) {
    --css-gallery-flex-cols: 6;
  }

  .wp-block-gallery.gs-centered.gs-col-highres-7:not(.gs-mosaic) {
    --css-gallery-flex-cols: 7;
  }

  .wp-block-gallery.gs-centered.gs-col-highres-8:not(.gs-mosaic) {
    --css-gallery-flex-cols: 8;
  }

  .wp-block-gallery.gs-centered.gs-col-highres-9:not(.gs-mosaic) {
    --css-gallery-flex-cols: 9;
  }

  .wp-block-gallery.gs-centered.gs-col-highres-10:not(.gs-mosaic) {
    --css-gallery-flex-cols: 10;
  }

}

/* ==========================================================
   Aspect Ratio System (mobile-first)
   - Items own the ratio (not the gallery container)
   - Works when classes are on the gallery or the items
   ========================================================== */

/* RESET: any element with a gs-ratio-* class starts neutral */
:where(.wp-block-image, .gb-media, .gb-block):is([class^="gs-ratio-"], [class*=" gs-ratio-"]) {
  --css-aspect-ratio: initial;
}

/* Base: allow gallery items and GB media to read the variable */
.wp-block-gallery.is-cropped:not(.gs-mosaic) .wp-block-image,
.wp-block-image[class*="gs-ratio-"],
.gb-media[class*="gs-ratio-"] {
  aspect-ratio: var(--css-aspect-ratio);
}

/* Also make the immediate media wrapper own the aspect box fully */
.wp-block-gallery.is-cropped:not(.gs-mosaic) .wp-block-image > a,
.wp-block-gallery.is-cropped:not(.gs-mosaic) .wp-block-image > picture,
.wp-block-gallery.is-cropped:not(.gs-mosaic) .wp-block-image > a > picture {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: var(--css-aspect-ratio);
}

.wp-block-gallery.is-cropped:not(.gs-mosaic) .wp-block-image > img,
.wp-block-gallery.is-cropped:not(.gs-mosaic) .wp-block-image > a > img,
.wp-block-gallery.is-cropped:not(.gs-mosaic) .wp-block-image > picture > img,
.wp-block-gallery.is-cropped:not(.gs-mosaic) .wp-block-image > a > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Base ratios (attach to gallery OR items). Also honor some WP size classes. */
.gs-ratio-1x1, .size-ratio-1x1, .size-thumbnail {
  --css-aspect-ratio: 1 / 1;
}

.gs-ratio-1x2, .size-ratio-1x2 {
  --css-aspect-ratio: 1 / 2;
}

.gs-ratio-4x3, .size-ratio-4x3 {
  --css-aspect-ratio: 4 / 3;
}

.gs-ratio-3x4, .size-ratio-3x4 {
  --css-aspect-ratio: 3 / 4;
}

.gs-ratio-16x9, .size-ratio-16x9 {
  --css-aspect-ratio: 16 / 9;
}

/* Tablet (≥768px) overrides */
@media (min-width: 768px), print {
  .gs-ratio-tablet-1x1 {
    --css-aspect-ratio: 1 / 1;
  }

  .gs-ratio-tablet-1x2 {
    --css-aspect-ratio: 1 / 2;
  }

  .gs-ratio-tablet-4x3 {
    --css-aspect-ratio: 4 / 3;
  }

  .gs-ratio-tablet-3x4 {
    --css-aspect-ratio: 3 / 4;
  }

  .gs-ratio-tablet-16x9 {
    --css-aspect-ratio: 16 / 9;
  }
}

/* Gallery-level ratio helpers override size-ratio-* on items (unless item has its own gs-ratio-*) */
@media (min-width: 768px), print {
  .wp-block-gallery.gs-ratio-tablet-1x1 :is(.wp-block-image, .gb-media):not([class^="gs-ratio-"], [class*=" gs-ratio-"]) {
    --css-aspect-ratio: 1 / 1;
  }

  .wp-block-gallery.gs-ratio-tablet-1x2 :is(.wp-block-image, .gb-media):not([class^="gs-ratio-"], [class*=" gs-ratio-"]) {
    --css-aspect-ratio: 1 / 2;
  }

  .wp-block-gallery.gs-ratio-tablet-4x3 :is(.wp-block-image, .gb-media):not([class^="gs-ratio-"], [class*=" gs-ratio-"]) {
    --css-aspect-ratio: 4 / 3;
  }

  .wp-block-gallery.gs-ratio-tablet-3x4 :is(.wp-block-image, .gb-media):not([class^="gs-ratio-"], [class*=" gs-ratio-"]) {
    --css-aspect-ratio: 3 / 4;
  }

  .wp-block-gallery.gs-ratio-tablet-16x9 :is(.wp-block-image, .gb-media):not([class^="gs-ratio-"], [class*=" gs-ratio-"]) {
    --css-aspect-ratio: 16 / 9;
  }
}

/* Desktop (≥1025px) overrides */
@media (min-width: 1025px), print {
  .gs-ratio-desktop-1x1 {
    --css-aspect-ratio: 1 / 1;
  }

  .gs-ratio-desktop-1x2 {
    --css-aspect-ratio: 1 / 2;
  }

  .gs-ratio-desktop-4x3 {
    --css-aspect-ratio: 4 / 3;
  }

  .gs-ratio-desktop-3x4 {
    --css-aspect-ratio: 3 / 4;
  }

  .gs-ratio-desktop-16x9 {
    --css-aspect-ratio: 16 / 9;
  }
}

/* High-res (≥1800px) overrides */
@media (min-width: 1800px), print {
  .gs-ratio-highres-1x1 {
    --css-aspect-ratio: 1 / 1;
  }

  .gs-ratio-highres-1x2 {
    --css-aspect-ratio: 1 / 2;
  }

  .gs-ratio-highres-4x3 {
    --css-aspect-ratio: 4 / 3;
  }

  .gs-ratio-highres-3x4 {
    --css-aspect-ratio: 3 / 4;
  }

  .gs-ratio-highres-16x9 {
    --css-aspect-ratio: 16 / 9;
  }
}

/* ==========================================================
   Outside-caption (UNIFIED) for non-mosaic galleries
   - Figure owns the ratio; caption remains inside the box
   - Media fills remaining vertical space above caption
   ========================================================== */

/* Reset overlay positioning to outside for item OR gallery scope */
.wp-block-gallery.is-cropped:not(.gs-mosaic) .wp-block-image.gs-caption-outside > figcaption,
.wp-block-gallery.is-cropped:not(.gs-mosaic).gs-caption-outside .wp-block-image > figcaption {
  position: static !important;
  inset: auto !important;
  margin: var(--css-caption-gap, 0) 0 0 !important;
  /*padding: 0 !important;*/
  padding: var(--css-caption-pad);
  line-height: 1.25;
  flex: 0 0 auto;
}

/* The figure owns the aspect box so the caption can't overflow it */
.wp-block-gallery.is-cropped:not(.gs-mosaic) .wp-block-image.gs-caption-outside,
.wp-block-gallery.is-cropped:not(.gs-mosaic).gs-caption-outside .wp-block-image {
  aspect-ratio: var(--css-aspect-ratio) !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Media wrapper fills remaining space above the caption */
.wp-block-gallery.is-cropped:not(.gs-mosaic) .wp-block-image.gs-caption-outside > :is(a,picture,img),
.wp-block-gallery.is-cropped:not(.gs-mosaic).gs-caption-outside .wp-block-image > :is(a,picture,img) {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-width: 0; /* stops rightward overflow in grid/flex */
  min-height: 0;
  display: block;
}

/* Ensure the bitmap covers its wrapper cleanly */
.wp-block-gallery.is-cropped:not(.gs-mosaic) .wp-block-image.gs-caption-outside > :is(a,picture) > img,
.wp-block-gallery.is-cropped:not(.gs-mosaic).gs-caption-outside .wp-block-image > :is(a,picture) > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ==========================================================
   Mosaic mode (column-flow) — opt-in via .gs-mosaic
   ========================================================== */

.wp-block-gallery.gs-mosaic {
  display: block;
  gap: 0;
}

.wp-block-gallery.gs-mosaic > figure.wp-block-image {
  break-inside: avoid;
  margin: 0 0 var(--css-gallery-margin-bottom, 1.25rem) !important;
}

/* Core mosaic utilities */
.gs-mosaic {
  column-count: 2;
  column-gap: var(--css-mosaic-column-gap);
  display: block;
  width: 100%;
  margin-inline: auto;
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.gs-mosaic > :is(picture,figure,div,article,li) {
  display: block;
  break-inside: avoid;
  margin: 0 0 var(--css-mosaic-row-gap);
  padding-top: var(--css-push-this-down, 0);
}

.gs-mosaic > li {
  list-style: none;
}


/* Column-count utilities (2–8) */
.gs-mosaic.gs-col-2 {
  column-count: 2;
}

.gs-mosaic.gs-col-3 {
  column-count: 3;
}

.gs-mosaic.gs-col-4 {
  column-count: 4;
}

.gs-mosaic.gs-col-5 {
  column-count: 5;
}

.gs-mosaic.gs-col-6 {
  column-count: 6;
}

.gs-mosaic.gs-col-7 {
  column-count: 7;
}

.gs-mosaic.gs-col-8 {
  column-count: 8;
}

.gs-mosaic.gs-col-9 {
  column-count: 9;
}

.gs-mosaic.gs-col-10 {
  column-count: 10;
}

/* Responsive column-count helpers */
@media (min-width: 481px) {
  .gs-mosaic.gs-col-mobile-1 {
    column-count: 1;
  }

  .gs-mosaic.gs-col-mobile-2 {
    column-count: 2;
  }

  .gs-mosaic.gs-col-mobile-3 {
    column-count: 3;
  }

  .gs-mosaic.gs-col-mobile-4 {
    column-count: 4;
  }

  .gs-mosaic.gs-col-mobile-5 {
    column-count: 5;
  }

  .gs-mosaic.gs-col-mobile-6 {
    column-count: 6;
  }

  .gs-mosaic.gs-col-mobile-7 {
    column-count: 7;
  }

  .gs-mosaic.gs-col-mobile-8 {
    column-count: 8;
  }

  .gs-mosaic.gs-col-mobile-9 {
    column-count: 9;
  }

  .gs-mosaic.gs-col-mobile-10 {
    column-count: 10;
  }
}

@media (min-width: 768px), print {
  .gs-mosaic.gs-col-tablet-1 {
    column-count: 1;
  }

  .gs-mosaic.gs-col-tablet-2 {
    column-count: 2;
  }

  .gs-mosaic.gs-col-tablet-3 {
    column-count: 3;
  }

  .gs-mosaic.gs-col-tablet-4 {
    column-count: 4;
  }

  .gs-mosaic.gs-col-tablet-5 {
    column-count: 5;
  }

  .gs-mosaic.gs-col-tablet-6 {
    column-count: 6;
  }

  .gs-mosaic.gs-col-tablet-7 {
    column-count: 7;
  }

  .gs-mosaic.gs-col-tablet-8 {
    column-count: 8;
  }

  .gs-mosaic.gs-col-tablet-9 {
    column-count: 9;
  }

  .gs-mosaic.gs-col-tablet-10 {
    column-count: 10;
  }
}

@media (min-width: 1025px), print {
  .gs-mosaic.gs-col-desktop-1 {
    column-count: 1;
  }

  .gs-mosaic.gs-col-desktop-2 {
    column-count: 2;
  }

  .gs-mosaic.gs-col-desktop-3 {
    column-count: 3;
  }

  .gs-mosaic.gs-col-desktop-4 {
    column-count: 4;
  }

  .gs-mosaic.gs-col-desktop-5 {
    column-count: 5;
  }

  .gs-mosaic.gs-col-desktop-6 {
    column-count: 6;
  }

  .gs-mosaic.gs-col-desktop-7 {
    column-count: 7;
  }

  .gs-mosaic.gs-col-desktop-8 {
    column-count: 8;
  }

  .gs-mosaic.gs-col-desktop-9 {
    column-count: 9;
  }

  .gs-mosaic.gs-col-desktop-10 {
    column-count: 10;
  }
}

@media (min-width: 1800px), print {
  .gs-mosaic.gs-col-highres-1 {
    column-count: 1;
  }

  .gs-mosaic.gs-col-highres-2 {
    column-count: 2;
  }

  .gs-mosaic.gs-col-highres-3 {
    column-count: 3;
  }

  .gs-mosaic.gs-col-highres-4 {
    column-count: 4;
  }

  .gs-mosaic.gs-col-highres-5 {
    column-count: 5;
  }

  .gs-mosaic.gs-col-highres-6 {
    column-count: 6;
  }

  .gs-mosaic.gs-col-highres-7 {
    column-count: 7;
  }

  .gs-mosaic.gs-col-highres-8 {
    column-count: 8;
  }

  .gs-mosaic.gs-col-highres-9 {
    column-count: 9;
  }

  .gs-mosaic.gs-col-highres-10 {
    column-count: 10;
  }
}


/* ===============================
   Responsive items-gs-per-column locks
   (Append after your base mosaic rules)
   =============================== */
/*  --- Base Rules --- */
/* Reset within each responsive gs-per-* scope so only this set applies */
.gs-mosaic.gs-per-1 > :is(picture,figure,div,article,li),
.gs-mosaic.gs-per-2 > :is(picture,figure,div,article,li),
.gs-mosaic.gs-per-3 > :is(picture,figure,div,article,li),
.gs-mosaic.gs-per-4 > :is(picture,figure,div,article,li) {
  break-after: var(--css-mosaic-break-after);
  -webkit-column-break-after: var(--css-mosaic-webkit-column-break-after);
}

/* gs-per-1: lock every item to a new column (single per column) */
.gs-mosaic.gs-per-1 > :is(picture,figure,div,article,li) {
  --css-mosaic-break-after: column;
  --css-mosaic-webkit-column-break-after: always;
}

/* gs-per-2 */
.gs-mosaic.gs-per-2 > :is(picture,figure,div,article,li):nth-child(2n) {
  --css-mosaic-break-after: column;
  --css-mosaic-webkit-column-break-after: always;
}

/* gs-per-3 */
.gs-mosaic.gs-per-3 > :is(picture,figure,div,article,li):nth-child(3n) {
  --css-mosaic-break-after: column;
  --css-mosaic-webkit-column-break-after: always;
}

/* gs-per-4 */
.gs-mosaic.gs-per-4 > :is(picture,figure,div,article,li):nth-child(4n) {
  --css-mosaic-break-after: column;
  --css-mosaic-webkit-column-break-after: always;
}




/* ===== Mosaic + outside-caption (canonical) ===== */

/* 1) Keep killing figure AR in mosaics (so push works) */
.wp-block-gallery.gs-mosaic > figure.wp-block-image {
  aspect-ratio: auto !important;
}

/* 2) Only neutralize the AR var for non–outside-caption mosaic tiles */
.wp-block-gallery.gs-mosaic:not(.gs-caption-outside) :is(.wp-block-image, .gb-media)[class*="gs-ratio-"]:not(.gs-caption-outside) {
  --css-aspect-ratio: initial !important;
}

/* 3) Let media size itself naturally in mosaic to avoid forced stretching */
.wp-block-gallery.gs-mosaic .wp-block-image > :is(a, picture, img) {
  height: auto;
}

/* 4) Gallery-level .gs-caption-outside:
      Figure owns AR; grid stacks media (row 1) + caption (row 2) inside the figure */
.wp-block-gallery.gs-mosaic.gs-caption-outside > .wp-block-image {
  display: grid;
  grid-template-rows: 1fr auto;
  aspect-ratio: var(--css-aspect-ratio) !important;
  overflow: hidden;
  justify-content: normal; /* keeps short-caption tiles full width */
}
.wp-block-gallery.gs-mosaic.gs-caption-outside > .wp-block-image > :is(a,picture,img) {
  grid-row: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
}
.wp-block-gallery.gs-mosaic.gs-caption-outside > .wp-block-image > figcaption {
  grid-row: 2;
  margin: var(--css-caption-gap,0) 0 0;
  padding: var(--css-caption-pad);
  line-height: 1.25;
}

/* 5) Item-level .gs-caption-outside:
      Stack a fixed AR “image box” + caption inside the figure */
.wp-block-gallery.gs-mosaic .wp-block-image.gs-caption-outside {
  display: flex;
  flex-direction: column;
  overflow: hidden; /* keeps edges tidy */
}
.wp-block-gallery.gs-mosaic .wp-block-image.gs-caption-outside > :is(a, picture, img) {
  aspect-ratio: var(--css-aspect-ratio) !important; /* image box height */
  width: 100%;
  flex: 0 0 auto; /* fixed-height box from AR */
}
.wp-block-gallery.gs-mosaic .wp-block-image.gs-caption-outside > :is(a, picture) > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.wp-block-gallery.gs-mosaic .wp-block-image.gs-caption-outside > figcaption {
  position: static;
  margin: var(--css-caption-gap, 0) 0 0;
  padding: var(--css-caption-pad);
  line-height: 1.25;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
  display: none;
}


/* --- Tablet (≥768px) --- */
@media (min-width: 768px), print {
  /* Reset within each responsive gs-per-* scope so only this set applies */
  .gs-mosaic.gs-per-tablet-1 > :is(picture,figure,div,article,li):nth-child(n),
  .gs-mosaic.gs-per-tablet-2 > :is(picture,figure,div,article,li):nth-child(n),
  .gs-mosaic.gs-per-tablet-3 > :is(picture,figure,div,article,li):nth-child(n),
  .gs-mosaic.gs-per-tablet-4 > :is(picture,figure,div,article,li):nth-child(n) {
    --css-mosaic-break-after: auto;
    --css-mosaic-webkit-column-break-after: auto;
  }

  /* gs-per-tablet-1: lock every item to a new column (single per column) */
  .gs-mosaic.gs-per-tablet-1 > :is(picture,figure,div,article,li):nth-child(n) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }

  /* gs-per-tablet-2 */
  .gs-mosaic.gs-per-tablet-2 > :is(picture,figure,div,article,li):nth-child(2n) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }

  /* gs-per-tablet-3 */
  .gs-mosaic.gs-per-tablet-3 > :is(picture,figure,div,article,li):nth-child(3n) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }

  /* gs-per-tablet-4 */
  .gs-mosaic.gs-per-tablet-4 > :is(picture,figure,div,article,li):nth-child(4n) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }
}

/* --- Desktop (≥1025px) --- */
@media (min-width: 1025px), print {
  .gs-mosaic.gs-per-desktop-1 > :is(picture,figure,div,article,li):nth-child(n),
  .gs-mosaic.gs-per-desktop-2 > :is(picture,figure,div,article,li):nth-child(n),
  .gs-mosaic.gs-per-desktop-3 > :is(picture,figure,div,article,li):nth-child(n),
  .gs-mosaic.gs-per-desktop-4 > :is(picture,figure,div,article,li):nth-child(n) {
    --css-mosaic-break-after: auto;
    --css-mosaic-webkit-column-break-after: auto;
  }

  .gs-mosaic.gs-per-desktop-1 > :is(picture,figure,div,article,li):nth-child(n) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }

  .gs-mosaic.gs-per-desktop-2 > :is(picture,figure,div,article,li):nth-child(2n) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }

  .gs-mosaic.gs-per-desktop-3 > :is(picture,figure,div,article,li):nth-child(3n) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }

  .gs-mosaic.gs-per-desktop-4 > :is(picture,figure,div,article,li):nth-child(4n) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }
}

/* --- High-res (≥1800px) --- */
@media (min-width: 1800px), print {
  .gs-mosaic.gs-per-highres-1 > :is(picture,figure,div,article,li):nth-child(n),
  .gs-mosaic.gs-per-highres-2 > :is(picture,figure,div,article,li):nth-child(n),
  .gs-mosaic.gs-per-highres-3 > :is(picture,figure,div,article,li):nth-child(n),
  .gs-mosaic.gs-per-highres-4 > :is(picture,figure,div,article,li):nth-child(n) {
    --css-mosaic-break-after: auto;
    --css-mosaic-webkit-column-break-after: auto;
  }

  .gs-mosaic.gs-per-highres-1 > :is(picture,figure,div,article,li):nth-child(n) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }

  .gs-mosaic.gs-per-highres-2 > :is(picture,figure,div,article,li):nth-child(2n) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }

  .gs-mosaic.gs-per-highres-3 > :is(picture,figure,div,article,li):nth-child(3n) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }

  .gs-mosaic.gs-per-highres-4 > :is(picture,figure,div,article,li):nth-child(4n) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }
}




/* ===========================================================
   DEFAULT/MOBILE (≥1px): Responsive gs-per-* with neutralize + re-apply
   =========================================================== */
@media (min-width: 1px) {
  /* ---------- gs-per-1 ---------- */
  /* 1) Neutralize any prior push-down */
  :where(.gs-mosaic.gs-per-1.gs-push-down-odd) > :where(picture,figure,div,article,li),
  :where(.gs-mosaic.gs-per-1.gs-push-down-even) > :where(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  /* 2) Re-apply gs-per-1 patterns per column count */
  :where(.gs-mosaic.gs-per-1.gs-col-2.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(2n+1)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-2.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(2n+2)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-3.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(3n+1)),
  :where(.gs-mosaic.gs-per-1.gs-col-3.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(3n+3)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-3.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(3n+2)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-4.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(4n+1)),
  :where(.gs-mosaic.gs-per-1.gs-col-4.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(4n+3)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-4.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(4n+2)),
  :where(.gs-mosaic.gs-per-1.gs-col-4.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(4n+4)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-5.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(5n+1)),
  :where(.gs-mosaic.gs-per-1.gs-col-5.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(5n+3)),
  :where(.gs-mosaic.gs-per-1.gs-col-5.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(5n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-5.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(5n+2)),
  :where(.gs-mosaic.gs-per-1.gs-col-5.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(5n+4)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-6.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(6n+1)),
  :where(.gs-mosaic.gs-per-1.gs-col-6.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(6n+3)),
  :where(.gs-mosaic.gs-per-1.gs-col-6.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(6n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-6.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(6n+2)),
  :where(.gs-mosaic.gs-per-1.gs-col-6.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(6n+4)),
  :where(.gs-mosaic.gs-per-1.gs-col-6.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(6n+6)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(7n+1)),
  :where(.gs-mosaic.gs-per-1.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(7n+3)),
  :where(.gs-mosaic.gs-per-1.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(7n+5)),
  :where(.gs-mosaic.gs-per-1.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(7n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-7.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(7n+2)),
  :where(.gs-mosaic.gs-per-1.gs-col-7.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(7n+4)),
  :where(.gs-mosaic.gs-per-1.gs-col-7.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(7n+6)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(8n+1)),
  :where(.gs-mosaic.gs-per-1.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(8n+3)),
  :where(.gs-mosaic.gs-per-1.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(8n+5)),
  :where(.gs-mosaic.gs-per-1.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(8n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(8n+2)),
  :where(.gs-mosaic.gs-per-1.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(8n+4)),
  :where(.gs-mosaic.gs-per-1.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(8n+6)),
  :where(.gs-mosaic.gs-per-1.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(8n+8)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* gs-col-9 */
  :where(.gs-mosaic.gs-per-1.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(9n+1)),
  :where(.gs-mosaic.gs-per-1.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(9n+3)),
  :where(.gs-mosaic.gs-per-1.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(9n+5)),
  :where(.gs-mosaic.gs-per-1.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(9n+7)),
  :where(.gs-mosaic.gs-per-1.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(9n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(9n+2)),
  :where(.gs-mosaic.gs-per-1.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(9n+4)),
  :where(.gs-mosaic.gs-per-1.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(9n+6)),
  :where(.gs-mosaic.gs-per-1.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(9n+8)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* gs-col-10 */
  :where(.gs-mosaic.gs-per-1.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(10n+1)),
  :where(.gs-mosaic.gs-per-1.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(10n+3)),
  :where(.gs-mosaic.gs-per-1.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(10n+5)),
  :where(.gs-mosaic.gs-per-1.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(10n+7)),
  :where(.gs-mosaic.gs-per-1.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(10n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-1.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(10n+2)),
  :where(.gs-mosaic.gs-per-1.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(10n+4)),
  :where(.gs-mosaic.gs-per-1.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(10n+6)),
  :where(.gs-mosaic.gs-per-1.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(10n+8)),
  :where(.gs-mosaic.gs-per-1.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(10n+10)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-2 ---------- */
  :where(.gs-mosaic.gs-per-2.gs-push-down-odd) > :where(picture,figure,div,article,li),
  :where(.gs-mosaic.gs-per-2.gs-push-down-even) > :where(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  :where(.gs-mosaic.gs-per-2.gs-col-2.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(4n+1)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-2.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(4n+3)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-3.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(6n+1)),
  :where(.gs-mosaic.gs-per-2.gs-col-3.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(6n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-3.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(6n+3)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-4.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(8n+1)),
  :where(.gs-mosaic.gs-per-2.gs-col-4.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(8n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-4.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(8n+3)),
  :where(.gs-mosaic.gs-per-2.gs-col-4.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(8n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-5.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(10n+1)),
  :where(.gs-mosaic.gs-per-2.gs-col-5.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(10n+5)),
  :where(.gs-mosaic.gs-per-2.gs-col-5.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(10n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-5.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(10n+3)),
  :where(.gs-mosaic.gs-per-2.gs-col-5.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(10n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-6.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(12n+1)),
  :where(.gs-mosaic.gs-per-2.gs-col-6.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(12n+5)),
  :where(.gs-mosaic.gs-per-2.gs-col-6.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(12n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-6.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(12n+3)),
  :where(.gs-mosaic.gs-per-2.gs-col-6.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(12n+7)),
  :where(.gs-mosaic.gs-per-2.gs-col-6.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(12n+11)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(14n+1)),
  :where(.gs-mosaic.gs-per-2.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(14n+5)),
  :where(.gs-mosaic.gs-per-2.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(14n+9)),
  :where(.gs-mosaic.gs-per-2.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(14n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-7.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(14n+3)),
  :where(.gs-mosaic.gs-per-2.gs-col-7.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(14n+7)),
  :where(.gs-mosaic.gs-per-2.gs-col-7.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(14n+11)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(16n+1)),
  :where(.gs-mosaic.gs-per-2.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(16n+5)),
  :where(.gs-mosaic.gs-per-2.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(16n+9)),
  :where(.gs-mosaic.gs-per-2.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(16n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(16n+3)),
  :where(.gs-mosaic.gs-per-2.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(16n+7)),
  :where(.gs-mosaic.gs-per-2.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(16n+11)),
  :where(.gs-mosaic.gs-per-2.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(16n+15)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-2 (C=9,10) ---------- */
  :where(.gs-mosaic.gs-per-2.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(18n+1)),
  :where(.gs-mosaic.gs-per-2.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(18n+5)),
  :where(.gs-mosaic.gs-per-2.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(18n+9)),
  :where(.gs-mosaic.gs-per-2.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(18n+13)),
  :where(.gs-mosaic.gs-per-2.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(18n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(18n+3)),
  :where(.gs-mosaic.gs-per-2.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(18n+7)),
  :where(.gs-mosaic.gs-per-2.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(18n+11)),
  :where(.gs-mosaic.gs-per-2.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(18n+15)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(20n+1)),
  :where(.gs-mosaic.gs-per-2.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(20n+5)),
  :where(.gs-mosaic.gs-per-2.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(20n+9)),
  :where(.gs-mosaic.gs-per-2.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(20n+13)),
  :where(.gs-mosaic.gs-per-2.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(20n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-2.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(20n+3)),
  :where(.gs-mosaic.gs-per-2.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(20n+7)),
  :where(.gs-mosaic.gs-per-2.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(20n+11)),
  :where(.gs-mosaic.gs-per-2.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(20n+15)),
  :where(.gs-mosaic.gs-per-2.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(20n+19)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-3 ---------- */
  :where(.gs-mosaic.gs-per-3.gs-push-down-odd) > :where(picture,figure,div,article,li),
  :where(.gs-mosaic.gs-per-3.gs-push-down-even) > :where(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  :where(.gs-mosaic.gs-per-3.gs-col-2.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(6n+1)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-2.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(6n+4)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-3.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(9n+1)),
  :where(.gs-mosaic.gs-per-3.gs-col-3.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(9n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-3.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(9n+4)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-4.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(12n+1)),
  :where(.gs-mosaic.gs-per-3.gs-col-4.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(12n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-4.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(12n+4)),
  :where(.gs-mosaic.gs-per-3.gs-col-4.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(12n+10)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-5.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(15n+1)),
  :where(.gs-mosaic.gs-per-3.gs-col-5.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(15n+7)),
  :where(.gs-mosaic.gs-per-3.gs-col-5.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(15n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-5.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(15n+4)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-6.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(18n+1)),
  :where(.gs-mosaic.gs-per-3.gs-col-6.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(18n+7)),
  :where(.gs-mosaic.gs-per-3.gs-col-6.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(18n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-6.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(18n+4)),
  :where(.gs-mosaic.gs-per-3.gs-col-6.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(18n+10)),
  :where(.gs-mosaic.gs-per-3.gs-col-6.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(18n+16)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(21n+1)),
  :where(.gs-mosaic.gs-per-3.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(21n+7)),
  :where(.gs-mosaic.gs-per-3.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(21n+13)),
  :where(.gs-mosaic.gs-per-3.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(21n+19)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-7.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(21n+4)),
  :where(.gs-mosaic.gs-per-3.gs-col-7.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(21n+10)),
  :where(.gs-mosaic.gs-per-3.gs-col-7.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(21n+16)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(24n+1)),
  :where(.gs-mosaic.gs-per-3.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(24n+7)),
  :where(.gs-mosaic.gs-per-3.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(24n+13)),
  :where(.gs-mosaic.gs-per-3.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(24n+19)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(24n+4)),
  :where(.gs-mosaic.gs-per-3.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(24n+10)),
  :where(.gs-mosaic.gs-per-3.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(24n+16)),
  :where(.gs-mosaic.gs-per-3.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(24n+22)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-3 (C=9,10) ---------- */
  :where(.gs-mosaic.gs-per-3.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(27n+1)),
  :where(.gs-mosaic.gs-per-3.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(27n+7)),
  :where(.gs-mosaic.gs-per-3.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(27n+13)),
  :where(.gs-mosaic.gs-per-3.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(27n+19)),
  :where(.gs-mosaic.gs-per-3.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(27n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(27n+4)),
  :where(.gs-mosaic.gs-per-3.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(27n+10)),
  :where(.gs-mosaic.gs-per-3.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(27n+16)),
  :where(.gs-mosaic.gs-per-3.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(27n+22)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(30n+1)),
  :where(.gs-mosaic.gs-per-3.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(30n+7)),
  :where(.gs-mosaic.gs-per-3.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(30n+13)),
  :where(.gs-mosaic.gs-per-3.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(30n+19)),
  :where(.gs-mosaic.gs-per-3.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(30n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-3.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(30n+4)),
  :where(.gs-mosaic.gs-per-3.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(30n+10)),
  :where(.gs-mosaic.gs-per-3.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(30n+16)),
  :where(.gs-mosaic.gs-per-3.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(30n+22)),
  :where(.gs-mosaic.gs-per-3.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(30n+28)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-4 ---------- */
  :where(.gs-mosaic.gs-per-4.gs-push-down-odd) > :where(picture,figure,div,article,li),
  :where(.gs-mosaic.gs-per-4.gs-push-down-even) > :where(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  :where(.gs-mosaic.gs-per-4.gs-col-2.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(8n+1)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-2.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(8n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-3.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(12n+1)),
  :where(.gs-mosaic.gs-per-4.gs-col-3.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(12n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-3.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(12n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-4.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(16n+1)),
  :where(.gs-mosaic.gs-per-4.gs-col-4.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(16n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-4.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(16n+5)),
  :where(.gs-mosaic.gs-per-4.gs-col-4.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(16n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-5.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(20n+1)),
  :where(.gs-mosaic.gs-per-4.gs-col-5.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(20n+9)),
  :where(.gs-mosaic.gs-per-4.gs-col-5.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(20n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-5.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(20n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-6.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(24n+1)),
  :where(.gs-mosaic.gs-per-4.gs-col-6.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(24n+9)),
  :where(.gs-mosaic.gs-per-4.gs-col-6.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(24n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-6.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(24n+5)),
  :where(.gs-mosaic.gs-per-4.gs-col-6.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(24n+13)),
  :where(.gs-mosaic.gs-per-4.gs-col-6.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(24n+21)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(28n+1)),
  :where(.gs-mosaic.gs-per-4.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(28n+9)),
  :where(.gs-mosaic.gs-per-4.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(28n+17)),
  :where(.gs-mosaic.gs-per-4.gs-col-7.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(28n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-7.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(28n+5)),
  :where(.gs-mosaic.gs-per-4.gs-col-7.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(28n+13)),
  :where(.gs-mosaic.gs-per-4.gs-col-7.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(28n+21)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(32n+1)),
  :where(.gs-mosaic.gs-per-4.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(32n+9)),
  :where(.gs-mosaic.gs-per-4.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(32n+17)),
  :where(.gs-mosaic.gs-per-4.gs-col-8.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(32n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(32n+5)),
  :where(.gs-mosaic.gs-per-4.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(32n+13)),
  :where(.gs-mosaic.gs-per-4.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(32n+21)),
  :where(.gs-mosaic.gs-per-4.gs-col-8.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(32n+29)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-4 (C=9,10) ---------- */
  :where(.gs-mosaic.gs-per-4.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(36n+1)),
  :where(.gs-mosaic.gs-per-4.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(36n+9)),
  :where(.gs-mosaic.gs-per-4.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(36n+17)),
  :where(.gs-mosaic.gs-per-4.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(36n+25)),
  :where(.gs-mosaic.gs-per-4.gs-col-9.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(36n+33)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(36n+5)),
  :where(.gs-mosaic.gs-per-4.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(36n+13)),
  :where(.gs-mosaic.gs-per-4.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(36n+21)),
  :where(.gs-mosaic.gs-per-4.gs-col-9.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(36n+29)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(40n+1)),
  :where(.gs-mosaic.gs-per-4.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(40n+9)),
  :where(.gs-mosaic.gs-per-4.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(40n+17)),
  :where(.gs-mosaic.gs-per-4.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(40n+25)),
  :where(.gs-mosaic.gs-per-4.gs-col-10.gs-push-down-odd) > :where(picture,figure,div,article,li):where(:nth-child(40n+33)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  :where(.gs-mosaic.gs-per-4.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(40n+5)),
  :where(.gs-mosaic.gs-per-4.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(40n+13)),
  :where(.gs-mosaic.gs-per-4.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(40n+21)),
  :where(.gs-mosaic.gs-per-4.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(40n+29)),
  :where(.gs-mosaic.gs-per-4.gs-col-10.gs-push-down-even) > :where(picture,figure,div,article,li):where(:nth-child(40n+37)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }
}


/* ===========================================================
   TABLET (≥768px): Responsive gs-per-* with neutralize + re-apply
   =========================================================== */
@media (min-width: 768px), print {
  /* ---------- gs-per-tablet-1 ---------- */
  /* 1) Neutralize any prior push-down */
  .gs-mosaic.gs-per-tablet-1:is(.gs-col-tablet-2,.gs-col-tablet-3,.gs-col-tablet-4,.gs-col-tablet-5,.gs-col-tablet-6,.gs-col-tablet-7,.gs-col-tablet-8,.gs-col-tablet-9,.gs-col-tablet-10).gs-push-down-odd > :is(picture,figure,div,article,li),
  .gs-mosaic.gs-per-tablet-1:is(.gs-col-tablet-2,.gs-col-tablet-3,.gs-col-tablet-4,.gs-col-tablet-5,.gs-col-tablet-6,.gs-col-tablet-7,.gs-col-tablet-8,.gs-col-tablet-9,.gs-col-tablet-10).gs-push-down-even > :is(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  /* 2) Re-apply gs-per-1 patterns per column count */
  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-2.gs-push-down-odd > :is(picture,figure,div,article,li):nth-child(2n+1) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-2.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(2n+2) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-3.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(3n+1), :nth-child(3n+3)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-3.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(3n+2) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-4.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(4n+1), :nth-child(4n+3)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-4.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(4n+2), :nth-child(4n+4)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-5.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(5n+1), :nth-child(5n+3), :nth-child(5n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-5.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(5n+2), :nth-child(5n+4)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-6.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(6n+1), :nth-child(6n+3), :nth-child(6n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-6.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(6n+2), :nth-child(6n+4), :nth-child(6n+6)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-7.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(7n+1), :nth-child(7n+3), :nth-child(7n+5), :nth-child(7n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-7.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(7n+2), :nth-child(7n+4), :nth-child(7n+6)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-8.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(8n+1), :nth-child(8n+3), :nth-child(8n+5), :nth-child(8n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-8.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(8n+2), :nth-child(8n+4), :nth-child(8n+6), :nth-child(8n+8)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* gs-col-tablet-9 */
  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-9.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(9n+1), :nth-child(9n+3), :nth-child(9n+5), :nth-child(9n+7), :nth-child(9n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-9.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(9n+2), :nth-child(9n+4), :nth-child(9n+6), :nth-child(9n+8)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* gs-col-tablet-10 */
  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-10.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(10n+1), :nth-child(10n+3), :nth-child(10n+5), :nth-child(10n+7), :nth-child(10n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-1.gs-col-tablet-10.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(10n+2), :nth-child(10n+4), :nth-child(10n+6), :nth-child(10n+8), :nth-child(10n+10)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-tablet-2 ---------- */
  .gs-mosaic.gs-per-tablet-2:is(.gs-col-tablet-2,.gs-col-tablet-3,.gs-col-tablet-4,.gs-col-tablet-5,.gs-col-tablet-6,.gs-col-tablet-7,.gs-col-tablet-8,.gs-col-tablet-9,.gs-col-tablet-10).gs-push-down-odd > :is(picture,figure,div,article,li),
  .gs-mosaic.gs-per-tablet-2:is(.gs-col-tablet-2,.gs-col-tablet-3,.gs-col-tablet-4,.gs-col-tablet-5,.gs-col-tablet-6,.gs-col-tablet-7,.gs-col-tablet-8,.gs-col-tablet-9,.gs-col-tablet-10).gs-push-down-even > :is(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-2.gs-push-down-odd > :is(picture,figure,div,article,li):nth-child(4n+1) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-2.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(4n+3) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-3.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(6n+1), :nth-child(6n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-3.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(6n+3) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-4.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(8n+1), :nth-child(8n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-4.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(8n+3), :nth-child(8n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-5.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(10n+1), :nth-child(10n+5), :nth-child(10n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-5.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(10n+3), :nth-child(10n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-6.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(12n+1), :nth-child(12n+5), :nth-child(12n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-6.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(12n+3), :nth-child(12n+7), :nth-child(12n+11)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-7.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(14n+1), :nth-child(14n+5), :nth-child(14n+9), :nth-child(14n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-7.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(14n+3), :nth-child(14n+7), :nth-child(14n+11)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-8.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(16n+1), :nth-child(16n+5), :nth-child(16n+9), :nth-child(16n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-8.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(16n+3), :nth-child(16n+7), :nth-child(16n+11), :nth-child(16n+15)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-tablet-2 (C=9,10) ---------- */
  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-9.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(18n+1), :nth-child(18n+5), :nth-child(18n+9), :nth-child(18n+13), :nth-child(18n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-9.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(18n+3), :nth-child(18n+7), :nth-child(18n+11), :nth-child(18n+15)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-10.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(20n+1), :nth-child(20n+5), :nth-child(20n+9), :nth-child(20n+13), :nth-child(20n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-2.gs-col-tablet-10.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(20n+3), :nth-child(20n+7), :nth-child(20n+11), :nth-child(20n+15), :nth-child(20n+19)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-tablet-3 ---------- */
  .gs-mosaic.gs-per-tablet-3:is(.gs-col-tablet-2,.gs-col-tablet-3,.gs-col-tablet-4,.gs-col-tablet-5,.gs-col-tablet-6,.gs-col-tablet-7,.gs-col-tablet-8,.gs-col-tablet-9,.gs-col-tablet-10).gs-push-down-odd > :is(picture,figure,div,article,li),
  .gs-mosaic.gs-per-tablet-3:is(.gs-col-tablet-2,.gs-col-tablet-3,.gs-col-tablet-4,.gs-col-tablet-5,.gs-col-tablet-6,.gs-col-tablet-7,.gs-col-tablet-8,.gs-col-tablet-9,.gs-col-tablet-10).gs-push-down-even > :is(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-2.gs-push-down-odd > :is(picture,figure,div,article,li):nth-child(6n+1) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-2.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(6n+4) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-3.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(9n+1), :nth-child(9n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-3.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(9n+4) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-4.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(12n+1), :nth-child(12n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-4.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(12n+4), :nth-child(12n+10)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-5.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(15n+1), :nth-child(15n+7), :nth-child(15n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-5.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(15n+4) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-6.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(18n+1), :nth-child(18n+7), :nth-child(18n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-6.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(18n+4), :nth-child(18n+10), :nth-child(18n+16)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-7.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(21n+1), :nth-child(21n+7), :nth-child(21n+13), :nth-child(21n+19)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-7.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(21n+4), :nth-child(21n+10), :nth-child(21n+16)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-8.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(24n+1), :nth-child(24n+7), :nth-child(24n+13), :nth-child(24n+19)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-8.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(24n+4), :nth-child(24n+10), :nth-child(24n+16), :nth-child(24n+22)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-tablet-3 (C=9,10) ---------- */
  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-9.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(27n+1), :nth-child(27n+7), :nth-child(27n+13), :nth-child(27n+19), :nth-child(27n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-9.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(27n+4), :nth-child(27n+10), :nth-child(27n+16), :nth-child(27n+22)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-10.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(30n+1), :nth-child(30n+7), :nth-child(30n+13), :nth-child(30n+19), :nth-child(30n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-3.gs-col-tablet-10.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(30n+4), :nth-child(30n+10), :nth-child(30n+16), :nth-child(30n+22), :nth-child(30n+28)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-tablet-4 ---------- */
  .gs-mosaic.gs-per-tablet-4.gs-push-down-odd > :is(picture,figure,div,article,li),
  .gs-mosaic.gs-per-tablet-4.gs-push-down-even > :is(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-2.gs-push-down-odd > :is(picture,figure,div,article,li):nth-child(8n+1) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-2.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(8n+5) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-3.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(12n+1), :nth-child(12n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-3.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(12n+5) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-4.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(16n+1), :nth-child(16n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-4.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(16n+5), :nth-child(16n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-5.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(20n+1), :nth-child(20n+9), :nth-child(20n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-5.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(20n+5) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-6.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(24n+1), :nth-child(24n+9), :nth-child(24n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-6.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(24n+5), :nth-child(24n+13), :nth-child(24n+21)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-7.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(28n+1), :nth-child(28n+9), :nth-child(28n+17), :nth-child(28n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-7.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(28n+5), :nth-child(28n+13), :nth-child(28n+21)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-8.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(32n+1), :nth-child(32n+9), :nth-child(32n+17), :nth-child(32n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-8.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(32n+5), :nth-child(32n+13), :nth-child(32n+21), :nth-child(32n+29)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-tablet-4 (C=9,10) ---------- */
  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-9.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(36n+1), :nth-child(36n+9), :nth-child(36n+17), :nth-child(36n+25), :nth-child(36n+33)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-9.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(36n+5), :nth-child(36n+13), :nth-child(36n+21), :nth-child(36n+29)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-10.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(40n+1), :nth-child(40n+9), :nth-child(40n+17), :nth-child(40n+25), :nth-child(40n+33)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-tablet-4.gs-col-tablet-10.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(40n+5), :nth-child(40n+13), :nth-child(40n+21), :nth-child(40n+29), :nth-child(40n+37)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }
}


/* ===========================================================
   DESKTOP (≥1025px): Responsive gs-per-* with neutralize + re-apply
   =========================================================== */
@media (min-width: 1025px), print {
  /* ---------- gs-per-desktop-1 ---------- */
  /* 1) Neutralize any prior push-down */
  .gs-mosaic.gs-per-desktop-1.gs-push-down-odd > :is(picture,figure,div,article,li),
  .gs-mosaic.gs-per-desktop-1.gs-push-down-even > :is(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  /* 2) Re-apply gs-per-1 patterns per column count */
  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-2.gs-push-down-odd > :is(picture,figure,div,article,li):nth-child(2n+1) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-2.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(2n+2) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-3.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(3n+1), :nth-child(3n+3)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-3.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(3n+2) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-4.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(4n+1), :nth-child(4n+3)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-4.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(4n+2), :nth-child(4n+4)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-5.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(5n+1), :nth-child(5n+3), :nth-child(5n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-5.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(5n+2), :nth-child(5n+4)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-6.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(6n+1), :nth-child(6n+3), :nth-child(6n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-6.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(6n+2), :nth-child(6n+4), :nth-child(6n+6)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-7.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(7n+1), :nth-child(7n+3), :nth-child(7n+5), :nth-child(7n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-7.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(7n+2), :nth-child(7n+4), :nth-child(7n+6)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-8.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(8n+1), :nth-child(8n+3), :nth-child(8n+5), :nth-child(8n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-8.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(8n+2), :nth-child(8n+4), :nth-child(8n+6), :nth-child(8n+8)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-desktop-1 (C=9,10) ---------- */
  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-9.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(9n+1), :nth-child(9n+3), :nth-child(9n+5), :nth-child(9n+7), :nth-child(9n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-9.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(9n+2), :nth-child(9n+4), :nth-child(9n+6), :nth-child(9n+8)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-10.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(10n+1), :nth-child(10n+3), :nth-child(10n+5), :nth-child(10n+7), :nth-child(10n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-1.gs-col-desktop-10.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(10n+2), :nth-child(10n+4), :nth-child(10n+6), :nth-child(10n+8), :nth-child(10n+10)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-desktop-2 ---------- */
  .gs-mosaic.gs-per-desktop-2.gs-push-down-odd > :is(picture,figure,div,article,li),
  .gs-mosaic.gs-per-desktop-2.gs-push-down-even > :is(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-2.gs-push-down-odd > :is(picture,figure,div,article,li):nth-child(4n+1) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-2.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(4n+3) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-3.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(6n+1), :nth-child(6n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-3.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(6n+3) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-4.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(8n+1), :nth-child(8n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-4.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(8n+3), :nth-child(8n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-5.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(10n+1), :nth-child(10n+5), :nth-child(10n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-5.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(10n+3), :nth-child(10n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-6.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(12n+1), :nth-child(12n+5), :nth-child(12n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-6.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(12n+3), :nth-child(12n+7), :nth-child(12n+11)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-7.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(14n+1), :nth-child(14n+5), :nth-child(14n+9), :nth-child(14n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-7.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(14n+3), :nth-child(14n+7), :nth-child(14n+11)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-8.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(16n+1), :nth-child(16n+5), :nth-child(16n+9), :nth-child(16n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-8.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(16n+3), :nth-child(16n+7), :nth-child(16n+11), :nth-child(16n+15)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* gs-per-desktop-2 */
  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-9.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(18n+1), :nth-child(18n+5), :nth-child(18n+9), :nth-child(18n+13), :nth-child(18n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-9.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(18n+3), :nth-child(18n+7), :nth-child(18n+11), :nth-child(18n+15)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-10.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(20n+1), :nth-child(20n+5), :nth-child(20n+9), :nth-child(20n+13), :nth-child(20n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-2.gs-col-desktop-10.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(20n+3), :nth-child(20n+7), :nth-child(20n+11), :nth-child(20n+15), :nth-child(20n+19)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-desktop-3 ---------- */
  .gs-mosaic.gs-per-desktop-3.gs-push-down-odd > :is(picture,figure,div,article,li),
  .gs-mosaic.gs-per-desktop-3.gs-push-down-even > :is(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-2.gs-push-down-odd > :is(picture,figure,div,article,li):nth-child(6n+1) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-2.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(6n+4) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-3.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(9n+1), :nth-child(9n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-3.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(9n+4) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-4.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(12n+1), :nth-child(12n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-4.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(12n+4), :nth-child(12n+10)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-5.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(15n+1), :nth-child(15n+7), :nth-child(15n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-5.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(15n+4) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-6.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(18n+1), :nth-child(18n+7), :nth-child(18n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-6.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(18n+4), :nth-child(18n+10), :nth-child(18n+16)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-7.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(21n+1), :nth-child(21n+7), :nth-child(21n+13), :nth-child(21n+19)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-7.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(21n+4), :nth-child(21n+10), :nth-child(21n+16)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-8.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(24n+1), :nth-child(24n+7), :nth-child(24n+13), :nth-child(24n+19)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-8.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(24n+4), :nth-child(24n+10), :nth-child(24n+16), :nth-child(24n+22)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* gs-per-desktop-3 */
  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-9.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(27n+1), :nth-child(27n+7), :nth-child(27n+13), :nth-child(27n+19), :nth-child(27n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-9.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(27n+4), :nth-child(27n+10), :nth-child(27n+16), :nth-child(27n+22)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-10.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(30n+1), :nth-child(30n+7), :nth-child(30n+13), :nth-child(30n+19), :nth-child(30n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-3.gs-col-desktop-10.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(30n+4), :nth-child(30n+10), :nth-child(30n+16), :nth-child(30n+22), :nth-child(30n+28)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-desktop-4 ---------- */
  .gs-mosaic.gs-per-desktop-4.gs-push-down-odd > :is(picture,figure,div,article,li),
  .gs-mosaic.gs-per-desktop-4.gs-push-down-even > :is(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-2.gs-push-down-odd > :is(picture,figure,div,article,li):nth-child(8n+1) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-2.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(8n+5) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-3.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(12n+1), :nth-child(12n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-3.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(12n+5) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-4.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(16n+1), :nth-child(16n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-4.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(16n+5), :nth-child(16n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-5.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(20n+1), :nth-child(20n+9), :nth-child(20n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-5.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(20n+5) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-6.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(24n+1), :nth-child(24n+9), :nth-child(24n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-6.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(24n+5), :nth-child(24n+13), :nth-child(24n+21)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-7.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(28n+1), :nth-child(28n+9), :nth-child(28n+17), :nth-child(28n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-7.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(28n+5), :nth-child(28n+13), :nth-child(28n+21)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-8.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(32n+1), :nth-child(32n+9), :nth-child(32n+17), :nth-child(32n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-8.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(32n+5), :nth-child(32n+13), :nth-child(32n+21), :nth-child(32n+29)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* gs-per-desktop-4 */
  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-9.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(36n+1), :nth-child(36n+9), :nth-child(36n+17), :nth-child(36n+25), :nth-child(36n+33)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-9.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(36n+5), :nth-child(36n+13), :nth-child(36n+21), :nth-child(36n+29)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-10.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(40n+1), :nth-child(40n+9), :nth-child(40n+17), :nth-child(40n+25), :nth-child(40n+33)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-desktop-4.gs-col-desktop-10.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(40n+5), :nth-child(40n+13), :nth-child(40n+21), :nth-child(40n+29), :nth-child(40n+37)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }
}


/* ===========================================================
   HIGHRES (≥1800px): Responsive gs-per-* with neutralize + re-apply
   =========================================================== */
@media (min-width: 1800px), print {
  /* ---------- gs-per-highres-1 ---------- */
  /* 1) Neutralize any prior push-down */
  .gs-mosaic.gs-per-highres-1.gs-push-down-odd > :is(picture,figure,div,article,li),
  .gs-mosaic.gs-per-highres-1.gs-push-down-even > :is(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  /* 2) Re-apply gs-per-1 patterns per column count */
  .gs-mosaic.gs-per-highres-1.gs-col-highres-2.gs-push-down-odd > :is(picture,figure,div,article,li):nth-child(2n+1) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-2.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(2n+2) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-3.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(3n+1), :nth-child(3n+3)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-3.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(3n+2) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-4.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(4n+1), :nth-child(4n+3)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-4.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(4n+2), :nth-child(4n+4)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-5.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(5n+1), :nth-child(5n+3), :nth-child(5n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-5.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(5n+2), :nth-child(5n+4)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-6.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(6n+1), :nth-child(6n+3), :nth-child(6n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-6.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(6n+2), :nth-child(6n+4), :nth-child(6n+6)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-7.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(7n+1), :nth-child(7n+3), :nth-child(7n+5), :nth-child(7n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-7.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(7n+2), :nth-child(7n+4), :nth-child(7n+6)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-8.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(8n+1), :nth-child(8n+3), :nth-child(8n+5), :nth-child(8n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-8.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(8n+2), :nth-child(8n+4), :nth-child(8n+6), :nth-child(8n+8)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* gs-per-highres-1 */
  .gs-mosaic.gs-per-highres-1.gs-col-highres-9.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(9n+1), :nth-child(9n+3), :nth-child(9n+5), :nth-child(9n+7), :nth-child(9n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-9.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(9n+2), :nth-child(9n+4), :nth-child(9n+6), :nth-child(9n+8)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-10.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(10n+1), :nth-child(10n+3), :nth-child(10n+5), :nth-child(10n+7), :nth-child(10n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-1.gs-col-highres-10.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(10n+2), :nth-child(10n+4), :nth-child(10n+6), :nth-child(10n+8), :nth-child(10n+10)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-highres-2 ---------- */
  .gs-mosaic.gs-per-highres-2.gs-push-down-odd > :is(picture,figure,div,article,li),
  .gs-mosaic.gs-per-highres-2.gs-push-down-even > :is(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-2.gs-push-down-odd > :is(picture,figure,div,article,li):nth-child(4n+1) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-2.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(4n+3) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-3.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(6n+1), :nth-child(6n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-3.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(6n+3) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-4.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(8n+1), :nth-child(8n+5)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-4.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(8n+3), :nth-child(8n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-5.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(10n+1), :nth-child(10n+5), :nth-child(10n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-5.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(10n+3), :nth-child(10n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-6.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(12n+1), :nth-child(12n+5), :nth-child(12n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-6.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(12n+3), :nth-child(12n+7), :nth-child(12n+11)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-7.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(14n+1), :nth-child(14n+5), :nth-child(14n+9), :nth-child(14n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-7.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(14n+3), :nth-child(14n+7), :nth-child(14n+11)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-8.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(16n+1), :nth-child(16n+5), :nth-child(16n+9), :nth-child(16n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-8.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(16n+3), :nth-child(16n+7), :nth-child(16n+11), :nth-child(16n+15)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* gs-per-highres-2 */
  .gs-mosaic.gs-per-highres-2.gs-col-highres-9.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(18n+1), :nth-child(18n+5), :nth-child(18n+9), :nth-child(18n+13), :nth-child(18n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-9.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(18n+3), :nth-child(18n+7), :nth-child(18n+11), :nth-child(18n+15)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-10.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(20n+1), :nth-child(20n+5), :nth-child(20n+9), :nth-child(20n+13), :nth-child(20n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-2.gs-col-highres-10.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(20n+3), :nth-child(20n+7), :nth-child(20n+11), :nth-child(20n+15), :nth-child(20n+19)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-highres-3 ---------- */
  .gs-mosaic.gs-per-highres-3.gs-push-down-odd > :is(picture,figure,div,article,li),
  .gs-mosaic.gs-per-highres-3.gs-push-down-even > :is(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-2.gs-push-down-odd > :is(picture,figure,div,article,li):nth-child(6n+1) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-2.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(6n+4) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-3.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(9n+1), :nth-child(9n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-3.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(9n+4) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-4.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(12n+1), :nth-child(12n+7)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-4.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(12n+4), :nth-child(12n+10)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-5.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(15n+1), :nth-child(15n+7), :nth-child(15n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-5.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(15n+4) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-6.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(18n+1), :nth-child(18n+7), :nth-child(18n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-6.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(18n+4), :nth-child(18n+10), :nth-child(18n+16)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-7.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(21n+1), :nth-child(21n+7), :nth-child(21n+13), :nth-child(21n+19)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-7.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(21n+4), :nth-child(21n+10), :nth-child(21n+16)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-8.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(24n+1), :nth-child(24n+7), :nth-child(24n+13), :nth-child(24n+19)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-8.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(24n+4), :nth-child(24n+10), :nth-child(24n+16), :nth-child(24n+22)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* gs-per-highres-3 */
  .gs-mosaic.gs-per-highres-3.gs-col-highres-9.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(27n+1), :nth-child(27n+7), :nth-child(27n+13), :nth-child(27n+19), :nth-child(27n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-9.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(27n+4), :nth-child(27n+10), :nth-child(27n+16), :nth-child(27n+22)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-10.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(30n+1), :nth-child(30n+7), :nth-child(30n+13), :nth-child(30n+19), :nth-child(30n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-3.gs-col-highres-10.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(30n+4), :nth-child(30n+10), :nth-child(30n+16), :nth-child(30n+22), :nth-child(30n+28)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* ---------- gs-per-highres-4 ---------- */
  .gs-mosaic.gs-per-highres-4.gs-push-down-odd > :is(picture,figure,div,article,li),
  .gs-mosaic.gs-per-highres-4.gs-push-down-even > :is(picture,figure,div,article,li) {
    --css-push-this-down: 0;
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-2.gs-push-down-odd > :is(picture,figure,div,article,li):nth-child(8n+1) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-2.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(8n+5) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-3.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(12n+1), :nth-child(12n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-3.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(12n+5) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-4.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(16n+1), :nth-child(16n+9)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-4.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(16n+5), :nth-child(16n+13)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-5.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(20n+1), :nth-child(20n+9), :nth-child(20n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-5.gs-push-down-even > :is(picture,figure,div,article,li):nth-child(20n+5) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-6.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(24n+1), :nth-child(24n+9), :nth-child(24n+17)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-6.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(24n+5), :nth-child(24n+13), :nth-child(24n+21)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-7.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(28n+1), :nth-child(28n+9), :nth-child(28n+17), :nth-child(28n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-7.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(28n+5), :nth-child(28n+13), :nth-child(28n+21)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-8.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(32n+1), :nth-child(32n+9), :nth-child(32n+17), :nth-child(32n+25)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-8.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(32n+5), :nth-child(32n+13), :nth-child(32n+21), :nth-child(32n+29)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  /* gs-per-highres-4 */
  .gs-mosaic.gs-per-highres-4.gs-col-highres-9.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(36n+1), :nth-child(36n+9), :nth-child(36n+17), :nth-child(36n+25), :nth-child(36n+33)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-9.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(36n+5), :nth-child(36n+13), :nth-child(36n+21), :nth-child(36n+29)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-10.gs-push-down-odd > :is(picture,figure,div,article,li):is(:nth-child(40n+1), :nth-child(40n+9), :nth-child(40n+17), :nth-child(40n+25), :nth-child(40n+33)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }

  .gs-mosaic.gs-per-highres-4.gs-col-highres-10.gs-push-down-even > :is(picture,figure,div,article,li):is(:nth-child(40n+5), :nth-child(40n+13), :nth-child(40n+21), :nth-child(40n+29), :nth-child(40n+37)) {
    --css-push-this-down: var(--css-mosaic-push-down);
  }
}



/* === Mosaic + Outside Caption: harden layout === */
/* Force grid on tiles in gallery-level outside mode (beat core flex) */
.wp-block-gallery.gs-mosaic.gs-caption-outside > figure.wp-block-image {
  display: grid !important;
  grid-template-rows: 1fr auto !important;
  aspect-ratio: var(--css-aspect-ratio) !important;
  overflow: hidden;
  justify-content: normal;      /* keep short-caption width fill */
  justify-items: stretch;
}

/* Ensure the media actually fills row 1 (beat later height:auto) */
.wp-block-gallery.gs-mosaic.gs-caption-outside > figure.wp-block-image > :is(a, picture, img) {
  grid-row: 1 !important;
  width: 100%;
  height: 100% !important;      /* defeats the late height:auto */
  min-height: 0;
  display: block;
}
.wp-block-gallery.gs-mosaic.gs-caption-outside > figure.wp-block-image > :is(a, picture) > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Neutralize core overlay/flex rules for outside captions */
.wp-block-gallery.gs-caption-outside .wp-block-image > figcaption {
  position: static !important;  /* undo absolute overlay */
  inset: auto !important;
  grid-row: 2 !important;
  margin: var(--css-caption-gap, 0) 0 0;
  padding: var(--css-caption-pad);
  line-height: 1.25;
  flex: 0 0 auto !important;    /* defeat core flex-grow */
}

/* Kill core overlay pseudo in outside mode */
.wp-block-gallery.has-nested-images.gs-caption-outside figure.wp-block-image:has(figcaption)::before {
  display: none !important;
}

/* Scope the generic mosaic media rule so it no longer stomps outside-mode */
.wp-block-gallery.gs-mosaic:not(.gs-caption-outside) .wp-block-image > :is(a, picture, img) {
  height: auto;
}


/* Optional: prevent captions from forcing growth beyond figure AR */
.wp-block-gallery.gs-mosaic.gs-caption-outside > figure.wp-block-image > figcaption {
  max-height: 100%;         /* tune to taste */
  overflow: auto;
}

/* Re-assert core ratio helpers after neutralizers so figure-owned aspect
   ratios (including caption-outside mosaics) can use them reliably. */
  /*.
  gs-ratio-1x1,
  .size-ratio-1x1,
  .size-thumbnail {
    --css-aspect-ratio: 1 / 1;
  }

  .gs-ratio-4x3,
  .size-ratio-4x3 {
    --css-aspect-ratio: 4 / 3;
  }

  .gs-ratio-3x2,
  .size-ratio-3x2 {
    --css-aspect-ratio: 3 / 2;
  }

  .gs-ratio-16x9,
  .size-ratio-16x9 {
    --css-aspect-ratio: 16 / 9;
  }

  .gs-ratio-2x3,
  .size-ratio-2x3 {
    --css-aspect-ratio: 2 / 3;
  }

  .gs-ratio-9x16,
  .size-ratio-9x16 {
    --css-aspect-ratio: 9 / 16;
  }
*/

/* ===========================================================
   SPECIAL MOSAIC STYLES (≥1px): Responsive gs-per-* with neutralize + re-apply
   =========================================================== */
@media (min-width: 1px) {
  .gs-mosaic.gs-mosaic-custom-7a {
    column-count: 2;
  }

  /*let's setup the css logic, then we can just update variable values*/
  .gs-mosaic.gs-mosaic-custom-7a > figure,
  .gs-mosaic.gs-mosaic-custom-7a > li {
    --css-push-this-down: 0rem; /* set this to 0rem by default, and include units or the calc will break */
    --css-gallery-margin-bottom: calc(var(--css-gallery-row-gap) + var(--css-push-this-down));
    padding-top: 0;
  }

  .gs-mosaic.gs-mosaic-custom-7a > :is(picture,figure,div,article,li) {
    break-after: var(--css-mosaic-break-after);
    -webkit-column-break-after: var(--css-mosaic-webkit-column-break-after);
  }

  .gs-mosaic.gs-mosaic-custom-7a > figure {
    /*if we use padding, the squishes the aspect ratio down, which is good for the left/right pushes but not the down ones*/
    /*instead, we'll need to add a top and also a big bottom margin (the top plus the normal row gap) */
    /* the margin-bottom rule is set on the figure earlier */
    top: var(--css-push-this-down) !important;
    padding-right: var(--css-push-this-left) !important;
    padding-left: var(--css-push-this-right) !important;
    display: flex; /* prevents gaps from appearing in overlay captioned figures */
  }

  .gs-mosaic.gs-mosaic-custom-7a > li {
    --css-push-this-down: var(--css-mosaic-push-down);
    padding-top: var(--css-push-this-down) !important;
    padding-right: var(--css-push-this-left) !important;
    padding-left: var(--css-push-this-right) !important;
  }

  .gs-mosaic.gs-mosaic-custom-7a > figure figcaption {
    margin-left: var(--css-push-this-right) !important;
    margin-right: var(--css-push-this-left) !important;
  }

}

@media (min-width: 768px), print {

  .gs-mosaic.gs-mosaic-custom-7a > figure:is(:nth-child(1)),
  .gs-mosaic.gs-mosaic-custom-7a > li:is(:nth-child(1)) {
    --css-push-this-down: calc(7 * var(--css-mosaic-push-down));
  }

  /* start squeezing in some items */
  .gs-mosaic.gs-mosaic-custom-7a > figure:nth-child(2),
  .gs-mosaic.gs-mosaic-custom-7a > li:nth-child(2) {
    --css-push-this-right: calc(4 * var(--css-mosaic-push-right));
  }

  .gs-mosaic.gs-mosaic-custom-7a > figure:nth-child(5),
  .gs-mosaic.gs-mosaic-custom-7a > li:nth-child(5) {
    --css-push-this-left: calc(8 * var(--css-mosaic-push-left));
  }

  .gs-mosaic.gs-mosaic-custom-7a > figure:nth-child(7),
  .gs-mosaic.gs-mosaic-custom-7a > li:nth-child(7) {
    --css-push-this-left: calc(4 * var(--css-mosaic-push-left));
  }

}

@media (min-width: 1025px), print {
  .gs-mosaic.gs-mosaic-custom-7a {
    column-count: 4;
  }

  /*reset column breaks*/
  .gs-mosaic.gs-mosaic-custom-7a > :is(picture,figure,div,article,li) {
    --css-mosaic-break-after: auto;
    --css-mosaic-webkit-column-break-after: auto;
  }

  /*items the need column breaks*/
  .gs-mosaic.gs-mosaic-custom-7a > :is(picture,figure,div,article,li):nth-child(2),
  .gs-mosaic.gs-mosaic-custom-7a > :is(picture,figure,div,article,li):nth-child(4),
  .gs-mosaic.gs-mosaic-custom-7a > :is(picture,figure,div,article,li):nth-child(5) {
    --css-mosaic-break-after: column;
    --css-mosaic-webkit-column-break-after: always;
  }


  /*with additional columns, let's do some more pushing'*/
  .gs-mosaic.gs-mosaic-custom-7a > figure:nth-child(4),
  .gs-mosaic.gs-mosaic-custom-7a > li:nth-child(4) {
    --css-push-this-left: calc(2 * var(--css-mosaic-push-left));
    --css-push-this-right: calc(2 * var(--css-mosaic-push-right));
  }

  .gs-mosaic.gs-mosaic-custom-7a > figure:is(:nth-child(5)),
  .gs-mosaic.gs-mosaic-custom-7a > li:is(:nth-child(5)) {
    --css-push-this-down: calc(4 * var(--css-mosaic-push-down));
    --css-push-this-left: 0;
  }

  .gs-mosaic.gs-mosaic-custom-7a > figure:is(:nth-child(6)),
  .gs-mosaic.gs-mosaic-custom-7a > li:is(:nth-child(6)) {
    --css-push-this-down: calc(7 * var(--css-mosaic-push-down));
  }

}

@media (min-width: 1800px), print {

}








@page { size: Letter; margin: .5in 0.5in 0.5in 0.5in;}

@media print {
  /* A) One-knob global scale (affects all rem-based tokens) */
  :root {
    --gs-font-scale: 0.825;            /* try 0.88–0.94 to taste */

    /* B) Optional: slightly tighter rhythm for paper */
    --gs-head-mb: 0.6rem;
    --gs-text-md-lh: 1.25;
    --gs-text-sm-lh: 1.25;
    --gs-text-lg-lh: 1.15;

    /* C) Optional (recommended): pin the base so vw doesn't affect print sizes.
       Comment this out if you want to keep the fluid middle term. */
    --gs-font-size-base: 14px;       /* or 15px/17px depending on your target */
  }

  /* 2) Kill body margins; @page handles spacing on every sheet */
  body { margin: 0 !important; }

  /* Make colors render closer to screen (ink-heavy; remove if undesired) */
  html { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  /* Simulate a narrower screen width on paper */
  main, .site-content, .entry-content { max-width: 7.25in; margin: 0 auto; }

  /* Print cleanup (non-typography, but helps output quality) */
  .site-headerX, .site-footerX, #site-navigation, .wp-block-navigationX, .sidebar, .no-print { display:none !important; }

  .site-logo {max-width: 100px;}

  .inside-header {
    align-items: flex-start;
  }

  figure { break-inside: avoid; page-break-inside: avoid; margin-bottom: 0.8rem; }


  imgx, svgx, videox { max-width: 100% !important; height: auto !important; }
  .wp-block-columns { display:block !important; }
  .wp-block-column { width:auto !important; margin: 0 0 0.8rem !important; }
  .alignwide, .alignfull { max-width:100% !important; margin-left:0 !important; margin-right:0 !important; }


  .gs-row {padding: 1rem !important;}

  .gs-print-break {
    break-before: page;
    page-break-before: always; /* fallback */
  }

  /* don't print buttons */
  a.gs-button--primary, a.gs-button--secondary, a.gs-button--outline, a.gs-button--text {display:none !important;}

  /* disable some of the background images */
  .bg-gradient.bg-overlay {
    background: none !important;
  }

  .bg-gradient.bg-overlay {
    background: none !important;
  }

  .bg-gradient.bg-overlay::after {
    display: none !important;
  }

}
