.app-general-section {
  --app-general-section-background: var(--app-color-surface);
  --app-general-section-foreground: var(--app-color-text);
  --app-general-section-muted: var(--app-color-muted);
  background: var(--app-general-section-background);
  color: var(--app-general-section-foreground);
}

.app-general-section--surface-muted {
  --app-general-section-background: var(--app-color-surface-alt);
}

.app-general-section--surface-accent {
  --app-general-section-background: var(--app-color-surface-accent);
}

.app-general-section--surface-primary,
.app-general-section--surface-contrast {
  --app-general-section-background: var(--primary);
  --app-general-section-foreground: var(--primary-inverse, var(--light));
  --app-general-section-muted: rgba(255, 255, 255, 0.78);
}

.app-general-section--surface-dark {
  --app-general-section-background: var(--dark);
  --app-general-section-foreground: var(--light);
  --app-general-section-muted: var(--light-rgba-80);
}

.app-general-section h2,
.app-general-section h3,
.app-general-section h4,
.app-general-section p,
.app-general-section dt,
.app-general-section dd,
.app-general-section label {
  color: inherit;
}

.app-general-section__container {
  --app-general-container-padding-inline: clamp(1.25rem, 4vw, 3rem);
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--app-general-container-padding-inline);
}

.app-general-section__container--content { max-width: 62rem; }
.app-general-section__container--default { max-width: 75rem; }
.app-general-section__container--wide { max-width: 90rem; }
.app-general-section__container--full { max-width: none; }
.app-general-section--full-bleed .app-general-section__container--full { padding-inline: 0; }

.app-general-section--spacing-none .app-general-section__container { padding-block: 0; }
.app-general-section--spacing-sm .app-general-section__container { padding-block: clamp(1.5rem, 3vw, 2.5rem); }
.app-general-section--spacing-md .app-general-section__container { padding-block: clamp(2.5rem, 5vw, 4rem); }
.app-general-section--spacing-lg .app-general-section__container { padding-block: clamp(3.5rem, 7vw, 6rem); }
.app-general-section--spacing-xl .app-general-section__container { padding-block: clamp(5rem, 9vw, 8rem); }

.app-general-section--divider-top,
.app-general-section--divider-both {
  border-top: 1px solid var(--app-color-border);
}

.app-general-section--divider-bottom,
.app-general-section--divider-both {
  border-bottom: 1px solid var(--app-color-border);
}

.app-general-section--height-auto { --app-general-section-min-height: 0; }
.app-general-section--height-compact { --app-general-section-min-height: 26rem; }
.app-general-section--height-standard { --app-general-section-min-height: 32.5rem; }
.app-general-section--height-tall { --app-general-section-min-height: 38rem; }

.app-general-section__heading {
  max-width: 50rem;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.app-general-section__heading--center { margin-inline: auto; text-align: center; }
.app-general-section__heading--end { margin-left: auto; text-align: end; }
.app-general-section__heading--with-actions {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(12rem, 1fr);
  align-items: end;
  gap: 2rem;
  max-width: none;
}
.app-general-section__heading-actions { display: flex; justify-content: flex-end; padding-bottom: .25rem; }

.app-general-section__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  min-height: var(--app-general-section-min-height, 0);
}

.app-general-section__grid--gap-none { gap: 0; }
.app-general-section__grid--gap-sm { gap: clamp(0.75rem, 2vw, 1.25rem); }
.app-general-section__grid--gap-md { gap: clamp(1rem, 3vw, 2rem); }
.app-general-section__grid--gap-lg { gap: clamp(1.5rem, 4vw, 3rem); }
.app-general-section__grid--gap-gutter { gap: 24px; }
.app-general-section__grid--gap-xl { gap: clamp(2rem, 5vw, 4.5rem); }
.app-general-section__grid--align-center { align-items: center; }
.app-general-section__grid--align-end { align-items: end; }
.app-general-section__grid--align-stretch { align-items: stretch; }

.app-general-column {
  --app-general-column-background: transparent;
  --app-general-column-foreground: var(--app-general-section-foreground);
  --app-general-column-muted: var(--app-general-section-muted);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-width: 0;
  grid-column: var(--app-general-start, auto) / span var(--app-general-span, 12);
  background: var(--app-general-column-background);
  color: var(--app-general-column-foreground);
}

.app-general-column--surface-base {
  --app-general-column-background: var(--app-color-surface);
  --app-general-column-foreground: var(--app-color-text);
  --app-general-column-muted: var(--app-color-muted);
}

.app-general-column--surface-muted {
  --app-general-column-background: var(--app-color-surface-alt);
  --app-general-column-foreground: var(--app-color-text);
  --app-general-column-muted: var(--app-color-muted);
}

.app-general-column--surface-accent {
  --app-general-column-background: var(--app-color-surface-accent);
  --app-general-column-foreground: var(--app-color-text);
  --app-general-column-muted: var(--app-color-muted);
}

.app-general-column--surface-contrast,
.app-general-column--surface-primary {
  --app-general-column-background: var(--primary);
  --app-general-column-foreground: var(--primary-inverse, var(--light));
  --app-general-column-muted: color-mix(in srgb, var(--primary-inverse, var(--light)) 78%, transparent);
}

.app-general-column--surface-secondary {
  --app-general-column-background: var(--secondary);
  --app-general-column-foreground: var(--secondary-inverse, var(--light));
  --app-general-column-muted: color-mix(in srgb, var(--secondary-inverse, var(--light)) 78%, transparent);
}

.app-general-column--surface-tertiary {
  --app-general-column-background: var(--tertiary);
  --app-general-column-foreground: var(--tertiary-inverse, var(--light));
  --app-general-column-muted: color-mix(in srgb, var(--tertiary-inverse, var(--light)) 78%, transparent);
}

.app-general-column--surface-quaternary {
  --app-general-column-background: var(--quaternary);
  --app-general-column-foreground: var(--quaternary-inverse, var(--light));
  --app-general-column-muted: color-mix(in srgb, var(--quaternary-inverse, var(--light)) 78%, transparent);
}

.app-general-column--padding-sm { padding: clamp(1rem, 2vw, 1.5rem); }
.app-general-column--padding-md { padding: clamp(1.5rem, 3vw, 2.5rem); }
.app-general-column--padding-lg { padding: clamp(2rem, 4vw, 3.75rem); }
.app-general-column--padding-xl { padding: clamp(3rem, 6vw, 5rem); }
.app-general-column--vertical-center { justify-content: center; }
.app-general-column--vertical-end { justify-content: flex-end; }
.app-general-column--fill-height { height: 100%; }
.app-general-column--fill-height > * { width: 100%; }
/* A single standard card in a fill-height column stretches to the row height; its actions settle at the bottom. */
.app-general-column--fill-height > .app-card-list:has(> .card:only-child) { height: 100%; display: flex; flex-direction: column; }
.app-general-column--fill-height > .app-card-list > .card:only-child { flex: 1 1 auto; }
.app-general-column--fill-height > .app-card-list > .card:only-child > .card-body { display: flex; flex-direction: column; flex: 1 1 auto; }
.app-general-column--fill-height > .app-card-list > .card:only-child > .card-body > .d-flex:last-child { margin-top: auto !important; padding-top: 1.5rem; }

.app-general-column__title {
  margin-bottom: 1rem;
  color: var(--app-general-column-foreground, var(--app-general-section-foreground));
  font-size: clamp(2.25rem, 4vw, 3.0625rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.03em;
  text-transform: none;
}

.app-general-content-flow > :last-child,
.app-general-column > :last-child {
  margin-bottom: 0;
}

.app-general-content-flow .lead {
  color: var(--app-general-column-muted, var(--app-general-section-muted));
}

.app-general-content-flow--panel {
  height: 100%;
  background: var(--app-general-column-background);
  color: var(--app-general-column-foreground);
}

.app-general-content-flow--panel .app-general-column__title {
  font-size: clamp(2rem, 3.2vw, 2.75rem);
}

.app-content-icon-info {
  align-items: center;
  margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

.app-content-icon-info .feature-box-icon {
  flex: 0 0 auto;
}

.app-content-icon-info--large .feature-box-icon {
  width: 3.25rem;
  height: 3.25rem;
  font-size: 1.35rem;
}

.app-content-icon-info__body {
  min-width: 0;
  padding-left: clamp(0.75rem, 2vw, 1.1rem);
}

.app-content-icon-info__title {
  font-family: var(--app-font-ui, inherit);
  font-weight: 600;
  text-transform: uppercase;
  margin: 0 0 0.3rem;
  color: inherit;
  font-size: 1rem;
  line-height: 1.35;
}

.app-content-icon-info__body > :last-child,
.app-content-icon-info__body > :last-child > :last-child {
  margin-bottom: 0;
}

.app-general-content-flow__disclosure-toggle {
  color: var(--app-general-column-foreground);
  font-weight: 600;
  text-decoration: none;
}

.app-general-content-flow__disclosure-toggle:hover,
.app-general-content-flow__disclosure-toggle:focus-visible {
  color: inherit;
  text-decoration: underline;
}

.app-general-content-flow__actions { margin-top: clamp(1.5rem, 4vw, 3rem); }

/* Section continuation links share emphasis without changing filled actions. */
:is(.app-general-content-flow__actions, .app-general-section__heading-actions) a.btn.btn-link {
  font-size: 1rem;
  transition: transform 160ms ease, color 160ms ease;
}

/* Opt-in service copy and resource treatments; ordinary columns are unchanged. */
.app-general-content-flow--service-document,
.app-general-content-flow--resource-card,
.app-general-content-flow--resource-banner { min-width: 0; overflow-wrap: anywhere; }
.mp-site .app-general-content-flow--service-document > h2.app-general-column__title {
  --mp-h2: 1.875rem;
  margin-bottom: 1.5rem;
}
.mp-site .app-general-content-flow--service-document > :is(h3.app-general-column__title, .app-content-subheading) {
  --mp-h3: 1.125rem;
  color: var(--primary);
  text-transform: uppercase;
  margin-block: 2rem 1.25rem;
}
.mp-site .app-general-content-flow--service-document > h3.app-general-column__title { margin-top: 0 !important; }
.app-general-content-flow--service-document > p { margin-bottom: 2rem; }
.app-general-content-flow--service-document > .app-content-list { margin-bottom: 2rem; padding-inline-start: 1.5rem; }
.app-general-content-flow--resource-card {
  height: 100%;
  padding: 1.5rem;
  background: var(--light, #fff);
  color: var(--dark, #29282b);
  box-shadow: 0 5px 30px rgba(0, 0, 0, .08);
}
.mp-site :is(.app-general-content-flow--resource-card, .app-general-content-flow--resource-banner) > .app-general-column__title {
  --mp-h3: 1.125rem;
  --mp-h4: 1.125rem;
  margin-bottom: 1rem;
}
.app-general-content-flow--resource-card > p { margin-bottom: 1rem; }
.app-general-content-flow--resource-card > .app-general-content-flow__actions { margin-top: 1.25rem; }
.app-general-content-flow--resource-card .btn-link { padding: 0; font-weight: 700; text-align: start; }
.app-general-content-flow--resource-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .5rem 2rem;
  padding: 2rem;
  background: var(--primary);
  color: var(--light, #fff);
}
.app-general-content-flow--resource-banner > :not(.app-general-content-flow__actions) { grid-column: 1; }
.app-general-content-flow--resource-banner > p { margin: 0; }
.app-general-content-flow--resource-banner > .app-general-content-flow__actions { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
@media (max-width: 767.98px) {
  .app-general-content-flow--resource-banner { grid-template-columns: minmax(0, 1fr); padding: 1.5rem; }
  .app-general-content-flow--resource-banner > .app-general-content-flow__actions { grid-column: 1; grid-row: auto; margin-top: 1rem; }
}

/* Opt-in professional documents; default editorial columns retain their styling. */
.app-general-content-flow--document {
  max-width: 75ch;
  min-width: 0;
  overflow-wrap: anywhere;
}
.app-general-content-flow--document > .app-general-column__title,
.app-general-content-flow--document > .app-content-subheading {
  color: var(--primary);
  text-transform: none;
}
.app-general-content-flow--document > .app-general-column__title { margin-bottom: .75rem; }
.app-general-content-flow--document > .lead { font-weight: 600; margin-bottom: .5rem; }
.app-general-content-flow--document > .app-content-metadata {
  color: var(--app-color-muted, var(--app-color-text));
  color: color-mix(in srgb, var(--app-color-text) 75%, var(--app-color-background));
  font-size: .9375em;
  margin-bottom: 1.5rem;
}
.app-general-content-flow--document > .app-content-subheading { margin-top: 2.5rem; margin-bottom: 1rem; }
.app-general-content-flow--document .app-content-list { padding-inline-start: 1.5rem; margin-block: 1rem 1.75rem; }
.app-general-content-flow--document .app-content-list > li { padding-inline-start: .25rem; margin-bottom: .85rem; }
.app-general-content-flow--document .app-content-quote {
  margin: 1.25rem 0;
  padding: .25rem 0 .25rem 1.25rem;
  border-inline-start: 3px solid var(--primary);
  font-size: inherit;
  font-style: normal;
}
.app-general-content-flow--document .app-content-quote p { font-size: inherit; font-style: normal; line-height: inherit; }
.app-general-content-flow--document .app-content-quote__attribution { margin-top: .75rem; font-size: .9375em; font-style: normal; }

.app-content-subheading[data-document-heading] { scroll-margin-top: var(--app-document-offset, 12rem); }
.app-content-subheading[data-document-heading]:focus-visible { outline: 2px solid currentColor; outline-offset: .35rem; }

:is(.app-general-content-flow__actions, .app-general-section__heading-actions) a.btn.btn-link:focus-visible {
  outline: 2px solid currentColor !important;
  outline-offset: 4px;
}

@media (hover: hover) and (pointer: fine) {
  :is(.app-general-content-flow__actions, .app-general-section__heading-actions) a.btn.btn-link:hover {
    transform: scale(1.04);
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.app-general-content-flow__actions, .app-general-section__heading-actions) a.btn.btn-link {
    transition: none;
  }
}

.app-general-content-flow__list-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.5rem); margin-block: 1.75rem; }
.app-general-content-flow__list-groups--single { grid-template-columns: minmax(0, 1fr); }
.app-general-content-flow__list-groups .app-content-subheading { color: var(--app-general-column-foreground); font-size: 1rem; font-weight: 700; }
.app-general-content-flow__list-groups .app-check-list li { display: flex; align-items: center; min-height: 2.5rem; padding-left: 0; color: var(--app-general-column-foreground); font-size: 1.05rem; font-weight: 600; }
.app-general-content-flow__list-groups .app-check-list-icon { position: static; flex: 0 0 auto; margin-right: .8rem; }
@media (max-width: 575px) { .app-general-content-flow__list-groups { grid-template-columns: 1fr; } }

.app-general-media,
.app-general-media-collage figure,
.app-general-video {
  margin: 0;
}

.app-general-media img,
.app-general-media-collage img,
.app-general-media-cascade img,
.app-general-video video {
  display: block;
  width: 100%;
  object-fit: cover;
}

.app-general-video--background-cover {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100%;
  min-height: 24rem;
  overflow: hidden;
  background: var(--dark, #212529);
}

.app-general-video--background-cover video {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: 0;
  object-fit: cover;
  box-shadow: none;
}

.app-general-video__overlay {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
}

.app-general-video--overlay-primary-soft .app-general-video__overlay { background: var(--primary-rgba-20, color-mix(in srgb, var(--primary) 20%, transparent)); }
.app-general-video--overlay-primary-medium .app-general-video__overlay { background: var(--primary-rgba-40, color-mix(in srgb, var(--primary) 40%, transparent)); }
.app-general-video--overlay-primary-strong .app-general-video__overlay { background: var(--primary-rgba-80, color-mix(in srgb, var(--primary) 80%, transparent)); }
.app-general-video--overlay-dark-soft .app-general-video__overlay { background: color-mix(in srgb, var(--dark, #212529) 24%, transparent); }
.app-general-video--position-left video { object-position: left center; }
.app-general-video--position-right-quarter video { object-position: 75% center; }
.app-general-video--position-right video { object-position: right center; }
.app-general-video--position-top video { object-position: center top; }
.app-general-video--position-bottom video { object-position: center bottom; }

.app-general-video__overlay-heading {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: clamp(2rem, 4vw, 4rem);
  pointer-events: none;
  color: var(--light, #fff);
}

.app-general-video__overlay-heading--position-top { justify-content: flex-start; }
.app-general-video__overlay-heading--position-center { justify-content: center; }
.app-general-video__overlay-heading--position-bottom { justify-content: flex-end; }
.app-general-video__overlay-heading--align-start { align-items: flex-start; text-align: left; }
.app-general-video__overlay-heading--align-center { align-items: center; text-align: center; }
.app-general-video__overlay-heading--align-end { align-items: flex-end; text-align: right; }

.app-general-video .app-general-video__overlay-heading h2,
.app-general-video .app-general-video__overlay-heading h3,
.app-general-video .app-general-video__overlay-heading h4,
.app-general-video .app-general-video__overlay-heading h5,
.app-general-video .app-general-video__overlay-heading h6 {
  /* Media captions own their measure, including inside heroes with narrow copy titles. */
  min-width: 0;
  max-width: 100%;
  margin: 0;
  color: inherit;
  font-size: clamp(1.75rem, 2.6vw, 2.75rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.025em;
  text-shadow: 0 0.12em 0.6em rgba(0, 0, 0, 0.28);
}

.app-general-video__overlay-heading span {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
}

.app-general-media--has-overlay-caption {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 0.35rem;
}

.app-general-media--has-overlay-caption > img {
  height: 100%;
}

.app-general-media .app-general-media__overlay-caption {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: clamp(1.5rem, 5vw, 3rem);
  color: var(--light);
  font-size: inherit;
  pointer-events: none;
}

.app-general-media__overlay-caption.app-image-frame-caption--position-top {
  justify-content: flex-start;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.84) 0, rgba(0, 0, 0, 0.38) 58%, transparent 100%);
}

.app-general-media__overlay-caption.app-image-frame-caption--position-center {
  justify-content: center;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.24) 0, rgba(0, 0, 0, 0.72) 30%, rgba(0, 0, 0, 0.72) 70%, rgba(0, 0, 0, 0.24) 100%);
}

.app-general-media__overlay-caption.app-image-frame-caption--position-bottom {
  justify-content: flex-end;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0, rgba(0, 0, 0, 0.48) 58%, transparent 100%);
}

.app-general-lightbox-media {
  position: relative;
  display: block;
  min-height: 20rem;
  height: 100%;
  overflow: hidden;
  color: var(--light);
}

.app-general-lightbox-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 450ms ease;
}

.app-general-lightbox-media--focal-left img { object-position: left center; }
.app-general-lightbox-media--focal-right img { object-position: right center; }
.app-general-lightbox-media--focal-top img { object-position: center top; }
.app-general-lightbox-media--focal-bottom img { object-position: center bottom; }

.app-general-lightbox-media__overlay,
.app-general-image-carousel__overlay {
  position: absolute;
  inset: 0;
  background: var(--dark);
  pointer-events: none;
}

.app-general-lightbox-media--overlay-none .app-general-lightbox-media__overlay,
.app-general-image-carousel--overlay-none .app-general-image-carousel__overlay { opacity: 0; }
.app-general-lightbox-media--overlay-soft .app-general-lightbox-media__overlay,
.app-general-image-carousel--overlay-soft .app-general-image-carousel__overlay { opacity: 0.25; }
.app-general-lightbox-media--overlay-medium .app-general-lightbox-media__overlay,
.app-general-image-carousel--overlay-medium .app-general-image-carousel__overlay { opacity: 0.45; }
.app-general-lightbox-media--overlay-strong .app-general-lightbox-media__overlay,
.app-general-image-carousel--overlay-strong .app-general-image-carousel__overlay { opacity: 0.65; }

.app-general-lightbox-media__play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-flex;
  width: 4.25rem;
  height: 4.25rem;
  align-items: center;
  justify-content: center;
  border: 2px solid currentColor;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: transform 250ms ease, background-color 250ms ease;
}

.app-general-lightbox-media:hover img { transform: scale(1.035); }
.app-general-lightbox-media:hover .app-general-lightbox-media__play,
.app-general-lightbox-media:focus-visible .app-general-lightbox-media__play {
  background: color-mix(in srgb, var(--dark) 45%, transparent);
  transform: translate(-50%, -50%) scale(1.08);
}

.app-general-lightbox-media:focus-visible {
  outline: 3px solid var(--primary-inverse, var(--light));
  outline-offset: -3px;
}

.app-general-image-carousel,
.app-general-image-carousel .owl-stage-outer,
.app-general-image-carousel .owl-stage,
.app-general-image-carousel .owl-item,
.app-general-image-carousel__slide {
  height: 100%;
}

.app-general-image-carousel__slide {
  position: relative;
  min-height: 20rem;
  margin: 0;
  overflow: hidden;
}

.app-general-image-carousel__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-general-image-carousel--aspect-square {
  position: relative;
  height: auto;
  min-height: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.app-general-image-carousel--aspect-square .owl-stage-outer {
  position: absolute;
  inset: 0;
}

.app-general-image-carousel--aspect-square.app-general-image-carousel--single .app-general-image-carousel__slide {
  position: absolute;
  inset: 0;
}

.app-general-image-carousel--aspect-square .app-general-image-carousel__slide {
  min-height: 0;
}

.app-general-image-carousel--presentation-title-type .thumb-info,
.app-general-image-carousel--presentation-title-type .thumb-info-wrapper {
  display: block;
  width: 100%;
  height: 100%;
}

.app-general-image-carousel--presentation-title-type .thumb-info {
  pointer-events: none;
}

.app-general-image-carousel--presentation-title-type .thumb-info-wrapper::after {
  opacity: 0;
}

.app-general-image-carousel--presentation-title-type .thumb-info:hover .thumb-info-title {
  background: var(--dark-rgba-80);
}

.app-general-image-carousel--presentation-title-type .thumb-info img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-general-image-carousel--presentation-title-type .thumb-info-title {
  z-index: 2;
}

.app-general-image-carousel__slide figcaption {
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  left: 1.5rem;
  z-index: 2;
  color: var(--light);
}

.app-general-image-carousel .owl-dots {
  text-align: center;
  position: absolute;
  right: 0;
  bottom: 1.25rem;
  left: 0;
  z-index: 3;
}

.app-general-image-carousel--single .owl-dots {
  display: none;
}

.app-general-image-frame-gallery__grid {
  display: grid;
  grid-template-columns: repeat(var(--app-image-frame-columns, 3), minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2rem);
}

.app-general-image-frame-gallery__item,
.app-general-image-frame-gallery__item > .thumb-info {
  min-width: 0;
  height: 100%;
}

.app-general-image-frame-gallery__item .thumb-info-wrapper,
.app-general-image-frame-gallery__item .thumb-info-wrapper img {
  width: 100%;
}

.app-general-image-frame-gallery--full-zoom .owl-carousel {
  position: relative;
  z-index: 1;
}

.app-image-frame-full-zoom {
  position: relative;
  overflow: hidden;
  --app-image-frame-full-zoom-height: clamp(24rem, 34vw, 30rem);
  height: var(--app-image-frame-full-zoom-height);
  min-height: var(--app-image-frame-full-zoom-height);
}

.app-image-frame-full-zoom--height-compact {
  --app-image-frame-full-zoom-height: clamp(18rem, 28vw, 24rem);
}

.app-image-frame-full-zoom--height-standard {
  --app-image-frame-full-zoom-height: clamp(24rem, 34vw, 30rem);
}

.app-image-frame-full-zoom--height-tall {
  --app-image-frame-full-zoom-height: clamp(30rem, 42vw, 38rem);
}

.app-image-frame-full-zoom > .owl-carousel {
  height: 100% !important;
}

.app-image-frame-full-zoom > .owl-carousel .owl-stage-outer,
.app-image-frame-full-zoom > .owl-carousel .owl-stage,
.app-image-frame-full-zoom > .owl-carousel .owl-item,
.app-image-frame-full-zoom .app-general-image-frame-gallery__item,
.app-image-frame-full-zoom .thumb-info,
.app-image-frame-full-zoom .thumb-info > a,
.app-image-frame-full-zoom .thumb-info-wrapper {
  height: 100%;
}

.app-image-frame-full-zoom .thumb-info,
.app-image-frame-full-zoom .thumb-info > a,
.app-image-frame-full-zoom .thumb-info-wrapper {
  display: block;
}

.app-image-frame-full-zoom .thumb-info-wrapper img {
  height: 100%;
  object-fit: cover;
}

.app-image-frame-full-zoom.app-image-frame-full-zoom--captions-visible-until-active .thumb-info.thumb-info-bottom-info .thumb-info-title {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.app-image-frame-full-zoom.app-image-frame-full-zoom--captions-visible-until-active.is-full-zoom-active .thumb-info.thumb-info-bottom-info .thumb-info-title {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
}

.app-image-frame-full-zoom .thumb-info.thumb-info-bottom-info .thumb-info-title.app-image-frame-caption {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  inset: 0;
  max-width: none;
  padding: clamp(1rem, 2.75vw, 2.25rem);
  pointer-events: none;
  transform: none;
  width: 100%;
  letter-spacing: 0;
  opacity: 0;
}

.app-image-frame-full-zoom .thumb-info.thumb-info-bottom-info:hover .app-image-frame-caption,
.app-image-frame-full-zoom .thumb-info.thumb-info-bottom-info:focus-within .app-image-frame-caption,
.app-image-frame-full-zoom.app-image-frame-full-zoom--captions-visible-until-active .thumb-info.thumb-info-bottom-info .app-image-frame-caption {
  opacity: 1;
  transform: none;
}

.app-image-frame-full-zoom.app-image-frame-full-zoom--captions-visible-until-active.is-full-zoom-active .thumb-info.thumb-info-bottom-info .app-image-frame-caption {
  opacity: 0;
  transform: none;
}

.app-image-frame-full-zoom .thumb-info.thumb-info-bottom-info .app-image-frame-caption--position-top {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.82) 0, rgba(0, 0, 0, 0.32) 54%, transparent 100%);
  justify-content: flex-start;
}

.app-image-frame-full-zoom .thumb-info.thumb-info-bottom-info .app-image-frame-caption--position-center {
  background: linear-gradient(to bottom, transparent 0, rgba(0, 0, 0, 0.68) 28%, rgba(0, 0, 0, 0.68) 72%, transparent 100%);
  justify-content: center;
}

.app-image-frame-full-zoom .thumb-info.thumb-info-bottom-info .app-image-frame-caption--position-bottom {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0, rgba(0, 0, 0, 0.32) 54%, transparent 100%);
  justify-content: flex-end;
}

.app-image-frame-caption--align-start {
  align-items: flex-start;
  text-align: left;
}

.app-image-frame-caption--align-center {
  align-items: center;
  text-align: center;
}

.app-image-frame-caption--align-end {
  align-items: flex-end;
  text-align: right;
}

.app-image-frame-caption {
  --app-image-frame-caption-gap: 0.45rem;
}

.app-image-frame-caption--gap-compact { --app-image-frame-caption-gap: 0.2rem; }
.app-image-frame-caption--gap-relaxed { --app-image-frame-caption-gap: 0.8rem; }

.app-image-frame-caption__inner {
  display: flex;
  flex-direction: column;
  gap: var(--app-image-frame-caption-gap);
  max-width: 100%;
}

.app-image-frame-caption__inner--width-sm { width: min(100%, 12rem); }
.app-image-frame-caption__inner--width-md { width: min(100%, 18rem); }
.app-image-frame-caption__inner--width-lg { width: min(100%, 26rem); }
.app-image-frame-caption__inner--width-full { width: 100%; }

.app-image-frame-caption__eyebrow,
.app-image-frame-caption__title,
.app-image-frame-caption__text {
  color: inherit;
  display: block;
  margin: 0;
  max-width: 100%;
}

.app-image-frame-caption__eyebrow {
  line-height: 1.2;
}

.app-image-frame-caption__eyebrow--size-sm { font-size: 0.65rem; }
.app-image-frame-caption__eyebrow--size-md { font-size: 0.75rem; }
.app-image-frame-caption__eyebrow--size-lg,
.app-image-frame-caption__eyebrow--size-xl { font-size: 0.9rem; }

.app-image-frame-caption__title {
  font-weight: 700;
  line-height: 1.08;
}

.app-image-frame-caption__title--size-sm { font-size: clamp(1rem, 1.25vw, 1.2rem); }
.app-image-frame-caption__title--size-md { font-size: clamp(1.2rem, 1.75vw, 1.55rem); }
.app-image-frame-caption__title--size-lg { font-size: clamp(1.45rem, 2.25vw, 2rem); }
.app-image-frame-caption__title--size-xl { font-size: clamp(1.75rem, 3vw, 2.65rem); }

.app-image-frame-caption__text {
  font-weight: 400;
  line-height: 1.45;
}

.app-image-frame-caption__text--size-sm { font-size: 0.78rem; }
.app-image-frame-caption__text--size-md { font-size: 0.9rem; }
.app-image-frame-caption__text--size-lg { font-size: 1.05rem; }
.app-image-frame-caption__text--size-xl { font-size: 1.2rem; }

.app-image-frame-full-zoom.is-full-zoom-active .thumb-info-wrapper img {
  opacity: 0;
}

.app-image-frame-full-zoom__expanded-content {
  align-items: flex-end;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.78) 0, rgba(0, 0, 0, 0.18) 46%, transparent 72%);
  color: var(--light);
  display: flex;
  inset: 0;
  opacity: 0;
  padding: clamp(1.5rem, 5vw, 4.5rem);
  pointer-events: none;
  position: absolute;
  transform: translate3d(0, 1rem, 0);
  transition: opacity 0.3s ease, transform 0.3s ease;
  visibility: hidden;
  z-index: 2;
}

.app-image-frame-full-zoom__expanded-content.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  visibility: visible;
}

.app-image-frame-full-zoom__expanded-content-inner {
  max-width: 42rem;
}

.app-image-frame-full-zoom__expanded-content .app-section-eyebrow {
  margin-bottom: 0.65rem;
}

.app-image-frame-full-zoom__expanded-title {
  color: inherit;
  font-size: clamp(1.75rem, 4vw, 3.5rem);
  font-weight: 700;
  line-height: 1.05;
  margin: 0;
}

.app-image-frame-full-zoom__expanded-body {
  color: inherit;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.6;
  margin: 0.75rem 0 0;
  max-width: 36rem;
}

.app-image-frame-full-zoom__expanded-action {
  color: var(--primary);
  display: inline-flex;
  font-size: 0.95rem;
  font-weight: 600;
  gap: 0.35rem;
  margin-top: 1rem;
  pointer-events: auto;
  position: relative;
  text-decoration: none;
  z-index: 1;
}

.app-image-frame-full-zoom__expanded-action:hover,
.app-image-frame-full-zoom__expanded-action:focus-visible {
  color: var(--light);
  text-decoration: none;
}

.app-image-frame-full-zoom__expanded-action:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 0.3rem;
}

.app-general-section__container--full .app-general-image-frame-gallery--full-zoom {
  margin-inline: calc(var(--app-general-container-padding-inline) * -1);
}

.app-general-media img,
.app-general-video:not(.app-general-video--background-cover) video {
  aspect-ratio: 4 / 3;
  border-radius: 0.35rem;
  box-shadow: 0 1rem 2.5rem rgba(20, 30, 45, 0.14);
}

.app-general-media figcaption,
.app-general-video figcaption {
  margin-top: 0.65rem;
  color: var(--app-general-section-muted);
  font-size: 0.875rem;
}

.app-general-media-collage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(0.75rem, 2vw, 1.25rem);
  min-height: clamp(22rem, 42vw, 35rem);
}

.app-general-media-collage__item--1 { grid-row: 1 / 3; }
.app-general-media-collage img { height: 100%; border-radius: 0.25rem; box-shadow: 0 0.75rem 2rem rgba(20, 30, 45, 0.14); }

.app-general-media-cascade {
  position: relative;
  width: min(100%, 34rem);
  aspect-ratio: 1.08;
  margin-inline: auto;
  isolation: isolate;
}

.app-general-media-cascade__plane {
  position: absolute;
  inset: 10% 8% 5% 6%;
  z-index: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--primary) 42%, transparent);
  background: var(--app-color-surface-tint);
}

.app-general-media-cascade__plane-image {
  width: 100%;
  height: 100%;
  opacity: 0.14;
  object-fit: cover;
}

.app-general-media-cascade > .app-general-media-cascade__image {
  position: absolute;
  z-index: 1;
  width: 76%;
  aspect-ratio: 4 / 3;
  border: 0.5rem solid var(--app-general-section-background);
  box-shadow: 0 1rem 2.5rem rgba(20, 30, 45, 0.18);
}

.app-general-media-cascade > .app-general-media-cascade__image--1 { inset: 0 auto auto 0; }
.app-general-media-cascade > .app-general-media-cascade__image--2 {
  inset: auto 0 0 auto;
  z-index: 2;
  width: 54%;
}
.app-general-media-cascade > .app-general-media-cascade__image--3 {
  inset: 36% auto auto 20%;
  z-index: 3;
  width: 42%;
}

.app-general-media-cascade--mask > .app-general-media-cascade__image--1 {
  clip-path: polygon(0 0, 92% 0, 100% 88%, 8% 100%);
}

.app-general-media-cascade--mask > .app-general-media-cascade__image--2 {
  border-radius: 48% 52% 42% 58% / 55% 38% 62% 45%;
  clip-path: ellipse(49% 46% at 50% 50%);
}

.app-general-media-cascade--shadow > .app-general-media-cascade__image {
  box-shadow: 0 1.75rem 4rem color-mix(in srgb, var(--app-general-section-foreground) 30%, transparent);
}

.app-general-media-cascade--floating > .app-general-media-cascade__image--1 {
  animation: app-general-cascade-float 4.5s ease-in-out infinite;
}

.app-general-media-cascade--floating > .app-general-media-cascade__image--2 {
  animation: app-general-cascade-float 4.5s ease-in-out -2.25s infinite reverse;
}

.app-general-media-cascade__decoration {
  position: absolute;
  pointer-events: none;
}

.app-general-media-cascade__decoration--circle {
  background: color-mix(in srgb, var(--secondary) 26%, transparent);
  border-radius: 50%;
  height: 28%;
  right: -4%;
  top: -5%;
  width: 28%;
}

.app-general-media-cascade__decoration--bar {
  background: var(--primary);
  bottom: 5%;
  height: 42%;
  left: 8%;
  opacity: 0.72;
  transform: rotate(-7deg);
  width: 0.75rem;
  z-index: 3;
}

@keyframes app-general-cascade-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -0.85rem, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .app-general-media-cascade--floating > .app-general-media-cascade__image {
    animation: none;
  }
}

.app-general-progress + .app-general-progress { margin-top: 1.5rem; }
.app-general-progress__label { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 0.45rem; }
.app-general-progress .progress { background: color-mix(in srgb, var(--app-general-section-foreground) 13%, transparent); }

.app-general-faq .accordion-item {
  border-color: var(--app-color-border);
  background: var(--app-color-surface);
  color: var(--app-color-text);
}

.app-general-faq .accordion-button,
.app-general-faq .accordion-body {
  background: var(--app-color-surface);
  color: var(--app-color-text);
}

.app-general-faq .accordion-button:not(.collapsed) {
  background: var(--app-color-surface-tint);
  color: var(--app-color-text);
}

.app-general-faq--editorial-inverse,
.app-general-faq--editorial-numbered {
  --app-general-faq-rule: color-mix(in srgb, var(--tertiary) 38%, transparent);
  --app-general-faq-title: var(--secondary-inverse, var(--light));
  --app-general-faq-answer: color-mix(in srgb, var(--secondary-inverse, var(--light)) 82%, var(--tertiary));
  --app-general-faq-accent: var(--quaternary);
  border-top: 1px solid var(--app-general-faq-rule);
}

.app-general-faq--editorial-numbered {
  --app-general-faq-rule: color-mix(in srgb, var(--tertiary) 72%, var(--app-color-border));
  --app-general-faq-title: var(--app-color-text);
  --app-general-faq-answer: var(--app-color-muted);
  --app-general-faq-accent: var(--primary);
}

.app-general-faq--editorial-inverse .app-general-faq__item,
.app-general-faq--editorial-numbered .app-general-faq__item {
  overflow: visible;
  border: 0;
  border-bottom: 1px solid var(--app-general-faq-rule);
  border-radius: 0;
  background: transparent;
  color: var(--app-general-faq-title);
}

.app-general-faq--editorial-inverse .accordion-header,
.app-general-faq--editorial-numbered .accordion-header {
  margin: 0;
}

.app-general-faq--editorial-inverse .app-general-faq__toggle,
.app-general-faq--editorial-inverse .app-general-faq__toggle:not(.collapsed),
.app-general-faq--editorial-numbered .app-general-faq__toggle,
.app-general-faq--editorial-numbered .app-general-faq__toggle:not(.collapsed) {
  display: grid;
  grid-template-columns: clamp(2.6rem, 4vw, 3.5rem) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(.7rem, 1.5vw, 1.15rem);
  padding: clamp(1.05rem, 1.8vw, 1.4rem) 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--app-general-faq-title);
  box-shadow: none;
  font-size: clamp(.98rem, 1.25vw, 1.12rem);
  font-weight: 750;
  line-height: 1.28;
  text-align: left;
  text-transform: uppercase;
}

.app-general-faq--editorial-inverse .app-general-faq__toggle::after,
.app-general-faq--editorial-numbered .app-general-faq__toggle::after {
  width: .7rem;
  height: .7rem;
  margin: 0 .25rem 0 .75rem;
  border: 0;
  border-right: 2px solid var(--app-general-faq-accent);
  border-bottom: 2px solid var(--app-general-faq-accent);
  background: none;
  transform: rotate(45deg);
  transition: transform .2s ease;
}

.app-general-faq--editorial-inverse .app-general-faq__toggle:not(.collapsed)::after,
.app-general-faq--editorial-numbered .app-general-faq__toggle:not(.collapsed)::after {
  transform: rotate(-135deg);
}

.app-general-faq--editorial-inverse .app-general-faq__toggle:focus-visible,
.app-general-faq--editorial-numbered .app-general-faq__toggle:focus-visible {
  outline: 2px solid var(--app-general-faq-accent);
  outline-offset: 4px;
  box-shadow: none;
}

.app-general-faq--editorial-inverse .app-general-faq__number,
.app-general-faq--editorial-numbered .app-general-faq__number {
  color: var(--app-general-faq-accent);
  font-size: clamp(1.15rem, 1.65vw, 1.4rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1;
}

.app-general-faq--editorial-inverse .app-general-faq__question,
.app-general-faq--editorial-numbered .app-general-faq__question {
  min-width: 0;
}

.app-general-faq--editorial-inverse .app-general-faq__answer,
.app-general-faq--editorial-numbered .app-general-faq__answer {
  padding: 0 clamp(1.85rem, 3.2vw, 2.75rem) clamp(1.15rem, 2vw, 1.5rem) clamp(3.3rem, 5.5vw, 4.65rem);
  background: transparent;
  color: var(--app-general-faq-answer);
  font-size: .98rem;
  line-height: 1.65;
}

@media (max-width: 35.99rem) {
  .app-general-faq--editorial-inverse .app-general-faq__toggle,
  .app-general-faq--editorial-inverse .app-general-faq__toggle:not(.collapsed),
  .app-general-faq--editorial-numbered .app-general-faq__toggle,
  .app-general-faq--editorial-numbered .app-general-faq__toggle:not(.collapsed) {
    grid-template-columns: 2.35rem minmax(0, 1fr) auto;
    gap: .65rem;
  }

  .app-general-faq--editorial-inverse .app-general-faq__answer,
  .app-general-faq--editorial-numbered .app-general-faq__answer {
    padding-right: 1.45rem;
    padding-left: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .app-general-faq--editorial-inverse .app-general-faq__toggle::after,
  .app-general-faq--editorial-numbered .app-general-faq__toggle::after {
    transition: none;
  }
}

.app-general-card-carousel__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.app-general-card-carousel__controls { display: flex; gap: 0.5rem; }

.app-general-card {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--app-color-border);
  border-radius: 0.35rem;
  background: var(--app-color-surface);
  color: var(--app-color-text);
}

.app-general-card h3 { color: var(--app-color-text); }

.app-general-stat-group {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
  gap: 1rem;
  margin: 0;
}

.app-general-stat {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid color-mix(in srgb, var(--app-general-section-foreground) 24%, transparent);
  border-radius: 0.35rem;
  text-align: center;
}

.app-general-stat-listing { --app-eyebrow-color: currentColor; display: grid; gap: 2rem; margin: 0; padding: 0; list-style: none; }
.app-general-stat-listing__item > span { display: block; }
@media (min-width: 768px) { .app-general-stat-listing--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .app-general-stat-listing--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .app-general-stat-listing--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.app-general-stat-listing--align-center { text-align: center; }
.app-general-stat-listing--align-end { text-align: end; }
.app-general-stat-listing__item > .app-section-eyebrow { margin: 0 0 .35rem; }
.app-general-stat-listing__value { font-family: var(--mp-body-font, inherit); font-size: 2.25rem; font-weight: 700; line-height: 1.1; }
.app-general-stat-listing__label { margin-top: .35rem; font-size: 1.125rem; }
/* Base counters (theme-elements .counters .counter): static values in an equal-column grid. */
.app-general-stat-counters { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }
@media (min-width: 768px) { .app-general-stat-counters--cols-1 { grid-template-columns: minmax(0, 1fr); } .app-general-stat-counters--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .app-general-stat-counters--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .app-general-stat-counters--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.app-general-stat-counters--align-start .counter { text-align: start; }
.app-general-stat-counters--align-end .counter { text-align: end; }
.app-general-stat-counters label { margin-bottom: 0; }
/* Base pricing-table plans reduced to static comparison panels: no price, buttons or badges. */
.app-card-list-comparison { display: flex; flex-wrap: nowrap; align-items: stretch; gap: 1.25rem; }
.pricing-table.app-card-list-comparison .plan { overflow: hidden; border: 1px solid #ededed; border-radius: var(--border-radius, 0); flex: 1 1 0; min-width: 0; margin: 0; display: flex; flex-direction: column; }
.app-card-list-comparison .plan-features { flex: 1 1 auto; }
.app-card-list-comparison .plan-features p { margin: 0 0 .75rem; }
.app-card-list-comparison .plan-features p:last-child { margin-bottom: 0; }
.pricing-table.app-card-list-comparison .plan .plan-price { padding: 1.25rem .8rem; }
.app-card-list-comparison .plan-price .price-label { font-size: .8rem; line-height: 1.4; }
.pricing-table.app-card-list-comparison .plan :is(.plan-price, .plan-features) { border: 0; }
.app-card-list-comparison__divider { flex: 0 0 auto; align-self: center; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--primary); }
@media (max-width: 767.98px) { .app-card-list-comparison { flex-direction: column; } .pricing-table.app-card-list-comparison .plan { flex: 0 0 auto; } .app-card-list-comparison__divider { align-self: center; } }
/* Capital stack: inline-SVG isometric cubes with leader lines beside HTML explanations (after the Pender Funds reference). Colours come from the project palette. Figure units: 280 wide, cube 216 x 195, layer step 111. */
.app-capital-stack { --app-stack-1: var(--primary); --app-stack-2: var(--tertiary); --app-stack-3: color-mix(in srgb, var(--secondary), white 62%); --app-stack-4: color-mix(in srgb, var(--tertiary), #bdbdbd 62%); --app-stack-text-1: color-mix(in srgb, var(--primary), black 14%); --app-stack-text-2: var(--tertiary); --app-stack-text-3: color-mix(in srgb, var(--secondary), white 18%); --app-stack-text-4: color-mix(in srgb, var(--tertiary), white 40%); container-type: inline-size; }
.app-capital-stack--primary, .app-capital-stack--secondary, .app-capital-stack--tertiary { --app-stack-text-1: var(--app-stack-1); --app-stack-text-2: var(--app-stack-2); --app-stack-text-3: var(--app-stack-3); --app-stack-text-4: var(--app-stack-4); }
.app-capital-stack--primary { --app-stack-1: var(--primary); --app-stack-2: color-mix(in srgb, var(--primary), black 26%); --app-stack-3: color-mix(in srgb, var(--primary), black 48%); --app-stack-4: color-mix(in srgb, var(--primary), black 64%); }
.app-capital-stack--secondary { --app-stack-1: color-mix(in srgb, var(--secondary), white 20%); --app-stack-2: var(--secondary); --app-stack-3: color-mix(in srgb, var(--secondary), black 30%); --app-stack-4: color-mix(in srgb, var(--secondary), black 55%); }
.app-capital-stack--tertiary { --app-stack-1: color-mix(in srgb, var(--tertiary), white 38%); --app-stack-2: color-mix(in srgb, var(--tertiary), white 18%); --app-stack-3: var(--tertiary); --app-stack-4: color-mix(in srgb, var(--tertiary), black 30%); }
.app-capital-stack__body { display: flex; flex-direction: column; gap: 1.25rem; }
.app-capital-stack__figure { position: relative; order: 2; }
.app-capital-stack__cubes { display: block; width: 100%; max-width: 15rem; height: auto; margin: 0 auto; overflow: visible; }
.app-capital-stack__leaders { display: none; }
.app-capital-stack__cube--1 { --app-stack-hue: var(--app-stack-1); }
.app-capital-stack__cube--2 { --app-stack-hue: var(--app-stack-2); }
.app-capital-stack__cube--3 { --app-stack-hue: var(--app-stack-3); }
.app-capital-stack__cube--4 { --app-stack-hue: var(--app-stack-4); }
.app-capital-stack__face--top { fill: var(--app-stack-hue); }
.app-capital-stack__face--right { fill: color-mix(in srgb, var(--app-stack-hue), black 8%); }
.app-capital-stack__face--left { fill: color-mix(in srgb, var(--app-stack-hue), black 17%); }
.app-capital-stack__label { fill: #fff; font-family: var(--mp-heading-font, inherit); font-size: 27px; font-weight: 700; line-height: 1; }
.app-capital-stack__marker { fill: none; stroke: #fff; stroke-width: 2.4; }
.app-capital-stack__leader-line, .app-capital-stack__leader-white { fill: none; stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: butt; }
.app-capital-stack__leader-line { stroke: var(--app-stack-hue); }
.app-capital-stack__leader-white { stroke: #fff; }
.app-capital-stack__leader--1 { --app-stack-hue: var(--app-stack-1); }
.app-capital-stack__leader--2 { --app-stack-hue: var(--app-stack-2); }
.app-capital-stack__leader--3 { --app-stack-hue: var(--app-stack-3); }
.app-capital-stack__leader--4 { --app-stack-hue: var(--app-stack-4); }
.app-capital-stack__layer { --app-stack-hue: var(--app-stack-1); --app-stack-ink: var(--app-stack-text-1); order: 3; }
.app-capital-stack__layer--2 { --app-stack-hue: var(--app-stack-2); --app-stack-ink: var(--app-stack-text-2); }
.app-capital-stack__layer--3 { --app-stack-hue: var(--app-stack-3); --app-stack-ink: var(--app-stack-text-3); }
.app-capital-stack__layer--4 { --app-stack-hue: var(--app-stack-4); --app-stack-ink: var(--app-stack-text-4); }
.app-capital-stack__head { display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: .35rem; border-bottom: 3px solid var(--app-stack-hue); }
.app-capital-stack__eyebrow { margin: 0 0 .15rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--app-stack-ink); }
.app-capital-stack .app-capital-stack__title { margin: 0; color: var(--app-stack-ink) !important; font-size: 1.35rem !important; line-height: 1.15 !important; text-transform: uppercase; letter-spacing: .02em; }
.app-capital-stack__copy { padding-top: .6rem; }
.app-capital-stack__copy p { margin: 0 0 .5rem; line-height: 1.5; }
.app-capital-stack__copy p:last-child, .app-capital-stack__copy ul:last-child { margin-bottom: 0; }
.app-capital-stack__copy ul { margin: 0; padding-left: 1.25rem; }
.app-capital-stack .app-capital-stack__band span { display: block; line-height: 1.25; color: inherit !important; }
.app-capital-stack__band { display: flex; flex-direction: column; justify-content: center; margin: 0; padding: .6rem 1rem; font-weight: 700; line-height: 1.25; }
.app-capital-stack .app-capital-stack__band--top { order: 1; color: var(--app-stack-text-1); background: color-mix(in srgb, var(--app-stack-1), white 86%); }
.app-capital-stack .app-capital-stack__band--bottom { order: 4; color: color-mix(in srgb, var(--tertiary), white 22%); background: color-mix(in srgb, var(--app-stack-4), white 70%); }
.app-capital-stack__axis, .app-capital-stack__group { display: none; }
@container (min-width: 60rem) {
  .app-capital-stack__body { --app-stack-w: 30cqw; --app-u: calc(var(--app-stack-w) / 280); display: grid; gap: 0; grid-template-columns: 27cqw var(--app-stack-w) minmax(0, 1fr); grid-template-rows: repeat(var(--app-stack-count, 3), calc(var(--app-step, 111) * var(--app-u))) calc(84 * var(--app-u)); }
  .app-capital-stack--no-rail .app-capital-stack__body { grid-template-columns: 0 var(--app-stack-w) minmax(0, 1fr); }
  .app-capital-stack__figure { order: 0; grid-column: 2; grid-row: 1 / -1; }
  .app-capital-stack__cubes { width: calc(216 / 280 * 100%); max-width: none; margin: 0; }
  .app-capital-stack__leaders { display: block; position: absolute; inset: 0 auto auto 0; width: calc(100% * var(--app-leader-scale, 1)); height: auto; overflow: visible; pointer-events: none; }
  .app-capital-stack__layer { order: 0; grid-column: 3; display: flex; flex-direction: column; min-width: 0; }
  .app-capital-stack__layer--1 { grid-row: 1; } .app-capital-stack__layer--2 { grid-row: 2; } .app-capital-stack__layer--3 { grid-row: 3; } .app-capital-stack__layer--4 { grid-row: 4; }
  .app-capital-stack__head { position: relative; flex: 0 0 auto; height: calc(62 * var(--app-u)); box-sizing: border-box; padding-bottom: 0; border-bottom: 0; }
  .app-capital-stack .app-capital-stack__title { font-size: clamp(1.4rem, 2.2cqw, 2.5rem) !important; line-height: 1 !important; margin-bottom: .33em !important; }
  .app-capital-stack__eyebrow { font-size: clamp(.75rem, 1.1cqw, 1rem); }
  .app-capital-stack__copy { padding-top: calc(10 * var(--app-u)); }
  .app-capital-stack__copy p, .app-capital-stack__copy li { font-size: clamp(1rem, 1.3cqw, 1.25rem); line-height: 1.45; }
  .app-capital-stack__band { order: 0; grid-column: 1; grid-row: 1 / -1; align-self: start; height: calc(72 * var(--app-u)); box-sizing: border-box; padding: 0 calc(1.3cqw + 1.25cqw) 0 1.25cqw; font-size: clamp(.85rem, 1.55cqw, 1.3rem); }
  .app-capital-stack__band--top { margin-top: calc(62 * var(--app-u)); color: var(--app-stack-text-1); }
  .app-capital-stack__band--bottom { margin-top: calc(((var(--app-stack-count, 3) - 1) * var(--app-step, 111) + 62) * var(--app-u)); }
  .app-capital-stack__group { position: relative; display: block; grid-column: 1; grid-row: 1 / -1; align-self: start; justify-self: end; box-sizing: border-box; width: 0; margin: calc(var(--bar-top) * var(--app-u)) 1.3cqw 0 0; height: calc(var(--bar-height) * var(--app-u)); border-right: 2px solid currentColor; }
  .app-capital-stack__group span { position: absolute; right: .7cqw; display: block; writing-mode: vertical-rl; transform: rotate(180deg); font-size: clamp(.85rem, 1.8cqw, 1.4rem); font-weight: 800; line-height: 1; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
  .app-capital-stack__group--end span { bottom: 0; }
  .app-capital-stack__group--start span { top: 0; }
  .app-capital-stack__group--center span { top: 50%; translate: 0 -50%; }
  .app-capital-stack__axis { display: block; grid-column: 1; grid-row: 1 / -1; align-self: start; justify-self: center; margin-top: calc(144 * var(--app-u)); height: calc(((var(--app-stack-count, 3) - 1) * 111 - 92) * var(--app-u)); border-left: 2px dotted currentColor; position: relative; }
  .app-capital-stack__axis::before, .app-capital-stack__axis::after { content: ""; position: absolute; left: -1px; width: .55rem; height: .55rem; border: solid currentColor; border-width: 2px 0 0 2px; }
  .app-capital-stack__axis::before { top: 0; transform: translate(-50%, 0) rotate(45deg); }
  .app-capital-stack__axis::after { bottom: 0; transform: translate(-50%, 0) rotate(225deg); }
}
/* Base section containers stacked as colour-scale layers. */
.app-card-list-layers { overflow: hidden; border-radius: var(--border-radius, 0); --app-layer-hue: var(--primary); --app-layer-inverse: var(--primary-inverse, var(--light)); display: grid; }
.app-card-list-layers--secondary { --app-layer-hue: var(--secondary); --app-layer-inverse: var(--secondary-inverse, var(--light)); }
.app-card-list-layers--tertiary { --app-layer-hue: var(--tertiary); --app-layer-inverse: var(--tertiary-inverse, var(--light)); }
.app-card-list-layers--quaternary { --app-layer-hue: var(--quaternary); --app-layer-inverse: var(--quaternary-inverse, var(--light)); }
.app-card-list-layers__layer { margin: 0; padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.25rem, 3vw, 2.5rem); background: var(--app-layer-bg, var(--app-layer-hue)); color: var(--app-layer-fg, var(--app-layer-inverse)); }
.app-card-list-layers__layer--1 { --app-layer-bg: var(--app-layer-hue); }
.app-card-list-layers__layer--2 { --app-layer-bg: color-mix(in srgb, var(--app-layer-hue), black 18%); }
.app-card-list-layers__layer--3 { --app-layer-bg: color-mix(in srgb, var(--app-layer-hue), black 36%); }
.app-card-list-layers__layer--4 { --app-layer-bg: color-mix(in srgb, var(--app-layer-hue), black 54%); }
.app-card-list-layers--palette .app-card-list-layers__layer--1 { --app-layer-bg: var(--primary); --app-layer-fg: var(--primary-inverse, var(--light)); }
.app-card-list-layers--palette .app-card-list-layers__layer--2 { --app-layer-bg: var(--secondary); --app-layer-fg: var(--secondary-inverse, var(--light)); }
.app-card-list-layers--palette .app-card-list-layers__layer--3 { --app-layer-bg: var(--tertiary); --app-layer-fg: var(--tertiary-inverse, var(--light)); }
.app-card-list-layers--palette .app-card-list-layers__layer--4 { --app-layer-bg: var(--quaternary); --app-layer-fg: var(--quaternary-inverse, var(--light)); }
.app-card-list-layers__layer :is(h2, h3, h4, h5, h6, p, li) { color: inherit; }
.app-card-list-layers__title { margin: 0 0 .5rem; }
.app-card-list-layers__eyebrow { margin: 0 0 .35rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .85; }
.app-card-list-layers__layer p { margin: 0 0 .75rem; }
.app-card-list-layers__layer > .app-card-list-layers__inner > :last-child { margin-bottom: 0; }
.app-card-list-layers__layer ul { margin: 0; padding-left: 1.25rem; }
.app-general-stat dd { margin: 0 0 0.45rem; font-size: clamp(1.75rem, 4vw, 3rem); font-weight: 800; line-height: 1; }
.app-general-stat dt { color: var(--app-general-section-muted); font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase; }

.app-general-form {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid var(--app-color-border);
  border-radius: 0.35rem;
  background: var(--app-color-surface);
  color: var(--app-color-text);
}

.app-general-section--summary-row .app-general-section__grid {
  align-items: start;
}

.app-general-section--summary-row .app-general-content-flow {
  text-align: center;
}

.app-general-section--summary-row .app-general-column__title {
  font-size: clamp(1.75rem, 3vw, 2.2rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.04em;
}

@media (min-width: 36rem) {
  .app-general-column { grid-column: var(--app-general-start-sm, var(--app-general-start, auto)) / span var(--app-general-span-sm, var(--app-general-span)); }
}

@media (min-width: 48rem) {
  .app-general-column { grid-column: var(--app-general-start-md, var(--app-general-start-sm, var(--app-general-start, auto))) / span var(--app-general-span-md, var(--app-general-span-sm)); }
}

@media (min-width: 62rem) {
  .app-general-column { grid-column: var(--app-general-start-lg, var(--app-general-start-md, var(--app-general-start-sm, var(--app-general-start, auto)))) / span var(--app-general-span-lg, var(--app-general-span-md)); }
  /* Opt-in rowSpan lets one tall column sit beside a stack of shorter columns. */
  .app-general-column { grid-row: auto / span var(--app-general-row-span-lg, 1); }
}

@media (min-width: 75rem) {
  .app-general-column { grid-column: var(--app-general-start-xl, var(--app-general-start-lg, var(--app-general-start-md, var(--app-general-start-sm, var(--app-general-start, auto))))) / span var(--app-general-span-xl, var(--app-general-span-lg)); }
}

@media (min-width: 87.5rem) {
  .app-general-column { grid-column: var(--app-general-start-xxl, var(--app-general-start-xl, var(--app-general-start-lg, var(--app-general-start-md, var(--app-general-start-sm, var(--app-general-start, auto)))))) / span var(--app-general-span-xxl, var(--app-general-span-xl)); }
}

@media (max-width: 47.99rem) {
  .app-general-media-collage { min-height: 24rem; }
}

@media (max-width: 61.99rem) {
  .app-general-section__grid { min-height: 0; }
  .app-general-lightbox-media,
  .app-general-image-carousel__slide { min-height: 24rem; }

  .app-general-image-frame-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 35.99rem) {
  .app-general-image-frame-gallery__grid { grid-template-columns: 1fr; }
}

/* Exact Base spotlight and arrow-button composition used by the shared Hub. */
.app-general-section--spotlight-links { background: var(--app-color-surface, #fff); }

.app-media-spotlight {
  position: relative;
  isolation: auto;
  width: auto;
  max-width: none;
  aspect-ratio: auto;
  margin: 0;
}

.app-media-spotlight__outer {
  position: relative;
  z-index: 2;
  width: auto;
  height: 100%;
  aspect-ratio: 1 / 1;
  margin: 10%;
  border-radius: 100%;
  background-color: #fff;
  background-position: center;
  background-size: cover;
}

.app-media-spotlight__outer::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: -6%;
  display: block;
  width: 110%;
  height: 110%;
  border: 1px solid var(--shared-spotlight-outline, #e7e7e7);
  border-radius: 50%;
  z-index: 1;
}

.app-media-spotlight__primary-layer {
  position: relative;
  z-index: 3;
  width: auto;
  height: 100%;
  aspect-ratio: 1 / 1;
  border: 70px solid var(--primary);
  border-radius: 100%;
  background-color: #fff;
  opacity: .8;
}

.app-media-spotlight__frame {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  max-width: none;
  overflow: hidden;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
}

.app-media-spotlight__frame img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  object-fit: initial;
}

.app-media-spotlight__callout {
  position: absolute;
  right: auto;
  bottom: 12%;
  left: -5%;
  width: clamp(250px, 40vw, 360px);
  max-width: 40vw;
  border: 0;
  background: var(--light, #fff);
  color: var(--app-color-text);
  box-shadow: var(--box-shadow-7, var(--app-shadow-card));
}

.app-media-spotlight__icon {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 75px;
  height: 75px;
  border-radius: 50%;
  background: var(--tertiary);
}

.app-media-spotlight__icon img { display: block; width: 60px; height: 60px; max-width: none; }

.app-general-section__summary-row > div > p:first-child { letter-spacing: -.04em; }

@media (prefers-reduced-motion: reduce) {
  .app-media-spotlight { transition: none; }
}

@media (max-width: 767px) {
  .app-media-spotlight__primary-layer { border-width: 40px !important; }
  .app-media-spotlight__frame { width: 70%; }
  .app-media-spotlight__callout {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    max-width: 18rem;
    margin: -1.5rem auto 0;
  }
  .app-media-spotlight__icon { width: 4rem; height: 4rem; }
}

@media (max-width: 450px) {
  .app-media-spotlight__callout {
    width: auto;
    min-width: 0;
    max-width: calc(100vw - 2rem);
    padding-inline: 1rem !important;
    transform: translateY(10vh);
  }
  .app-media-spotlight__callout .app-media-spotlight__icon { display: none; }
  .app-media-spotlight__callout-copy { margin-left: 0 !important; padding-inline: 0 !important; text-align: center !important; }
  .app-media-spotlight__callout .d-flex.align-items-center { justify-content: center; }
}

/* Reusable below-hero quick-action band. Base Medical supplies the feature-box
 * skeleton; the first-item connector follows the Accounting 1 services band. */
.app-general-column--quick-action-band { position: relative; z-index: 4; overflow: visible; }
.app-quick-action-band {
  --app-quick-action-height: 150px;
  --app-quick-action-overlap: 78px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(calc(100vw - 2rem), calc(100% + 17.6rem));
  max-width: 86.6rem;
  margin: calc(var(--app-quick-action-overlap) * -1) auto calc(var(--app-quick-action-overlap) * .35);
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  overflow: visible;
}
.app-quick-action {
  position: relative;
  z-index: 1;
  display: block;
  min-width: 0;
  min-height: var(--app-quick-action-height);
}
.app-quick-action:nth-child(1) { z-index: 4; }
.app-quick-action:nth-child(2) { z-index: 3; }
.app-quick-action:nth-child(3) { z-index: 2; }
.app-quick-action--primary { background: var(--app-quick-action-primary, var(--primary)); }
.app-quick-action--secondary { background: var(--app-quick-action-secondary, var(--secondary)); }
.app-quick-action--tertiary { background: var(--app-quick-action-tertiary, var(--tertiary)); }
.app-quick-action--quaternary { background: var(--app-quick-action-quaternary, var(--quaternary)); }
.app-quick-action__link {
  position: relative;
  z-index: 1;
  display: block;
  height: 100%;
  color: var(--light, #fff) !important;
  text-decoration: none !important;
  transition: transform .2s ease;
  transform-origin: center;
}
.app-quick-action__link:hover,
.app-quick-action__link:focus-visible { z-index: 10; color: var(--light, #fff) !important; text-decoration: none !important; transform: scale(1.1); }
.app-quick-action--connector::after {
  content: "";
  position: absolute;
  top: 0;
  right: -40px;
  z-index: 5;
  width: 40px;
  height: 100%;
  background: inherit;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media (min-width: 768px) { .app-quick-action--connector::after { right: -39px; } }
.app-quick-action__box { min-height: var(--app-quick-action-height); height: 100%; padding: 1rem !important; gap: .25rem; }
.app-quick-action:nth-child(2) .app-quick-action__box { padding-left: 3.5rem !important; }
.app-quick-action:nth-child(3) .app-quick-action__box { padding-left: 1.5rem !important; }
.app-quick-action__box .app-quick-action__icon { flex: 0 0 auto; width: auto; height: auto; margin-right: 0; }
.app-quick-action__icon img { display: block; width: 6.9rem; height: 6.9rem; object-fit: contain; filter: brightness(0) invert(1); }
.app-quick-action__box .app-quick-action__content { flex: 1 1 auto; padding-left: 0; min-width: 0; text-align: left; }
.app-quick-action__content strong { display: block; color: inherit; font-size: 1.875rem; font-weight: 700; line-height: 1.2; }
.app-quick-action__content small { display: block; color: color-mix(in srgb, var(--light, #fff) 88%, transparent); font-size: 1rem; font-weight: 500; line-height: 1.2; }

@media (min-width: 768px) {
  .app-quick-action:not(:first-child) { margin-left: -1px; }
  .app-quick-action--connector::after { right: -39px; }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .app-quick-action-band {
    --app-quick-action-height: 128px;
    --app-quick-action-overlap: 64px;
    width: min(calc(100vw - 1.5rem), calc(100% + 5rem));
  }
  .app-quick-action__box { padding: 1.5rem !important; gap: .85rem; }
  .app-quick-action:nth-child(2) .app-quick-action__box { padding-left: 3.5rem !important; }
  .app-quick-action:nth-child(3) .app-quick-action__box { padding-left: 2.35rem !important; }
  .app-quick-action__icon img { width: 5rem; height: 5rem; }
  .app-quick-action__content strong { font-size: 1.55rem; }
  .app-quick-action__content small { font-size: .9rem; }
}

/* Full-width 50/50 image column with the geometric edge treatment used by
 * Base Auto Services. The adjacent content column remains independently configurable. */
.app-general-section--geometric-split {
  --app-geometric-split-surface: var(--app-color-surface-accent);
  --app-geometric-split-shape: var(--app-color-geometric-split-surface, var(--tertiary));
  margin-bottom: 70px;
  background-color: var(--app-geometric-split-shape);
  background-image: var(--app-geometric-media-image);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  overflow: hidden;
}
.app-general-section--geometric-split .app-general-section__grid { min-height: var(--app-general-section-min-height, 0); }
.app-general-section--geometric-split .app-general-column--geometric-media { background: transparent; }
.app-geometric-media { position: relative; width: 100%; height: 100%; min-height: 0; overflow: hidden; background-position: var(--app-geometric-media-position, center); background-repeat: no-repeat; background-size: cover; }
.app-geometric-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--app-geometric-media-position, center); opacity: 0; }
.app-geometric-media::before,
.app-geometric-media::after { content: ""; position: absolute; right: -90%; z-index: 2; width: 100%; height: 100%; background: var(--app-geometric-split-shape); }
.app-geometric-media::before { top: -35%; transform: rotate(75deg); }
.app-geometric-media::after { top: 35%; transform: rotate(-75deg); }
.app-general-section--geometric-split .app-general-column--content-flow { padding: 3rem .75rem 3rem 3rem; background: var(--app-geometric-split-shape); color: var(--app-color-text); }
.app-general-section--geometric-split .app-general-content-flow,
.app-general-section--geometric-split .app-general-content-flow p,
.app-general-section--geometric-split .app-check-list li { color: var(--app-color-text); }
.app-general-section--geometric-split .app-section-eyebrow { color: var(--primary); }
.app-general-section--geometric-split .app-general-content-flow__actions { margin-top: 1.5rem; }

@media (min-width: 1250px) {
  .app-general-section--geometric-split .app-general-section__container { max-width: 1190px; padding-inline: 0; }
}
@media (min-width: 1400px) {
  .app-general-section--geometric-split .app-general-section__container { max-width: 1320px; }
}
@media (min-width: 1092px) and (max-width: 1249px) {
  .app-general-section--geometric-split .app-general-section__container { width: 100vw; max-width: 100vw; padding-inline: 0; }
  .app-general-section--geometric-split .app-geometric-media::before { top: -38%; right: -100%; }
  .app-general-section--geometric-split .app-geometric-media::after { top: 38%; right: -100%; }
}
@media (max-width: 1091px) {
  .app-general-section--geometric-split { margin-bottom: 0; background-image: none; }
  .app-general-section--geometric-split .app-general-section__container { width: 100%; max-width: none; padding-inline: 0; }
  .app-general-section--geometric-split .app-general-section__grid { min-height: 0; }
  .app-general-section--geometric-split .app-general-column { grid-column: 1 / -1; }
  .app-geometric-media { min-height: clamp(300px, 58vw, 600px); background-image: var(--app-geometric-media-image); }
  .app-geometric-media::before,
  .app-geometric-media::after { content: none; }
  .app-general-section--geometric-split .app-general-column--content-flow { padding: 3rem 1rem; }
}

@media (max-width: 1399.98px) {
  .app-general-section--geometric-split.app-general-section--stack-at-xxl { margin-bottom: 0; background-image: none; }
  .app-general-section--geometric-split.app-general-section--stack-at-xxl .app-general-section__container { width: 100%; max-width: none; padding-inline: 0; }
  .app-general-section--geometric-split.app-general-section--stack-at-xxl .app-general-section__grid { min-height: 0; }
  .app-general-section--geometric-split.app-general-section--stack-at-xxl .app-general-column { grid-column: 1 / -1; }
  .app-general-section--geometric-split.app-general-section--stack-at-xxl .app-geometric-media { min-height: clamp(300px, 58vw, 600px); background-image: var(--app-geometric-media-image); }
  .app-general-section--geometric-split.app-general-section--stack-at-xxl .app-geometric-media::before,
  .app-general-section--geometric-split.app-general-section--stack-at-xxl .app-geometric-media::after { content: none; }
  .app-general-section--geometric-split.app-general-section--stack-at-xxl .app-general-column--content-flow { padding: 3rem 1rem; }
}

/* Project-neutral Base media-card carousel and logo carousel columns. The
 * nested thumb-info structure intentionally mirrors Base's proven swap
 * composition; flattening these layers breaks its sizing and hover states. */
.app-media-card-carousel-shell { left: auto; width: auto; margin-right: calc(var(--app-general-container-padding-inline, 0px) * -1); margin-left: calc(var(--app-general-container-padding-inline, 0px) * -1); padding-inline: 2.5rem; }
.app-media-card-carousel { padding: 0; }
.app-media-card-carousel .owl-stage { display: flex; }
.app-media-card-carousel .owl-item,
.app-media-card-carousel .owl-item > div { height: 100%; }
.app-media-card { display: block; height: 100%; border-radius: calc(var(--border-radius2x, 4px) * 2); }
.app-media-card__wrapper { position: relative; min-height: 31rem; border-radius: inherit; }
.app-media-card__media { position: absolute; inset: 0; background-color: #8fb1cc; background-image: linear-gradient(145deg, rgba(255,255,255,.18), rgba(0,0,0,.08)); }
.app-media-card__media::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9,29,46,.08), rgba(9,29,46,.38)); content: ""; }
.app-media-card__media--1 { background-color: #8fb1cc; }
.app-media-card__media--2 { background-color: #91bfc0; }
.app-media-card__media--3 { background-color: #7ea2bf; }
.app-media-card__media--4 { background-color: #86a8bf; }
.app-media-card__media--5 { background-color: #7299ba; }
.app-media-card__image { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: center; transition-duration: .8s !important; }
.app-media-card__icon { width: 60px !important; height: 60px !important; max-width: 60px; object-fit: contain !important; filter: brightness(0) invert(1); }
.app-media-card .thumb-info-inner.text-start.ps-5 { padding-left: 1.5rem !important; transform: translateY(.875rem); }
.app-media-card.thumb-info-slow-image-zoom-hover:hover img { transform: scale(1.25); }
.app-media-card .overlay::before,
.app-media-card .thumb-info-wrapper::after { background-color: var(--secondary); }
.app-media-card:hover .thumb-info-wrapper::after { opacity: .5; }
.app-media-card .thumb-info-title.top-0 { z-index: 3; padding: 3rem 1.5rem 1.5rem !important; }
.app-media-card__bottom { z-index: 3; bottom: .875rem; }
.app-media-card__title { display: block; margin-bottom: 1rem; color: var(--light, #fff); font-size: 1.6rem; font-weight: 700; line-height: 1.2; text-transform: none; }
.app-media-card__summary { display: block; color: var(--light, #fff); }
.app-media-card .thumb-info-swap-content-wrapper > .app-media-card__details { display: block; width: 100%; box-sizing: border-box; color: var(--light, #fff); }
.app-media-card__copy { display: block; max-width: 18rem; margin: 0 1.5rem; color: inherit; font-size: 1.37rem; font-weight: 500; line-height: 1.5; text-transform: none; }
.app-media-card__cta { display: inline-flex; align-items: center; justify-content: flex-start; gap: .55rem; width: auto; max-width: none; min-width: 0; margin: 1.25rem 0 0 1.25rem; padding: .65rem 1.5rem; border: 1px solid rgba(255,255,255,.95); background: transparent; color: var(--light, #fff); font-weight: 700; line-height: 1.2; text-decoration: none; text-transform: none; white-space: nowrap; }
.app-media-card__cta:hover,
.app-media-card__cta:focus-visible { border-color: var(--light, #fff); background: rgba(255,255,255,.14); color: var(--light, #fff); text-decoration: none; }
.app-media-card-carousel__nav { position: absolute; inset: 50% 0 auto; z-index: 5; pointer-events: none; transform: translateY(-50%); }
.app-media-card-carousel__nav-button { position: absolute; display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 46px; border: 0; border-radius: var(--border-radius2x); background: var(--primary); color: var(--light, #fff); box-shadow: 0 10px 30px rgba(15,38,59,.12); pointer-events: auto; }
.app-media-card-carousel__nav-button--previous { left: .75rem; }
.app-media-card-carousel__nav-button--next { right: .75rem; }
.app-media-card-carousel__nav-button:disabled { cursor: not-allowed; opacity: .38; }

/* Evidence-led editorial cards pair Base's proven horizontal carousel behavior
 * with an always-visible matter summary and optional supporting evidence. Image
 * and metric panels share one stable contract so existing compositions remain valid. */
.app-media-card-carousel-shell--editorial-evidence { margin-top: 2rem; padding-inline: 0; overflow: hidden; }
.app-media-card-carousel-shell--editorial-evidence .app-media-card-carousel__nav { position: static; display: flex; justify-content: flex-start; gap: .65rem; margin-bottom: 1.25rem; transform: none; }
.app-media-card-carousel-shell--editorial-evidence .app-media-card-carousel__nav-button { position: static; width: 44px; height: 44px; border: 1px solid color-mix(in srgb, var(--primary) 30%, transparent); border-radius: 50%; background: transparent; color: var(--primary); box-shadow: none; transition: border-color .2s ease, background-color .2s ease, color .2s ease, opacity .2s ease; }
.app-media-card-carousel-shell--editorial-evidence .app-media-card-carousel__nav-button:not(:disabled):hover,
.app-media-card-carousel-shell--editorial-evidence .app-media-card-carousel__nav-button:not(:disabled):focus-visible { border-color: var(--primary); background: var(--primary); color: var(--light, #fff); }
.app-media-card-carousel-shell--editorial-evidence .app-media-card-carousel__nav-button:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary) 28%, transparent); outline-offset: 3px; }
.app-media-card-carousel--editorial-evidence .owl-stage { display: flex; align-items: stretch; }
.app-media-card-carousel--editorial-evidence .owl-item { display: flex; height: auto; align-items: stretch; }
.app-media-card-carousel--editorial-evidence .owl-item > .app-editorial-evidence-card-wrap { display: flex; width: 100%; height: auto; }
.app-editorial-evidence-card-wrap { min-height: 0; }
.app-editorial-evidence-card { display: flex; height: auto; min-height: 0; flex: 1 1 auto; flex-direction: column; overflow: hidden; border: 1px solid color-mix(in srgb, var(--secondary) 14%, transparent); border-radius: 0; background: var(--app-color-surface, #fff); color: var(--app-color-text); box-shadow: 0 18px 48px -38px color-mix(in srgb, var(--secondary) 68%, transparent); text-decoration: none; transition: border-color .25s ease, box-shadow .25s ease; }
.app-editorial-evidence-card:hover,
.app-editorial-evidence-card:focus-visible { border-color: color-mix(in srgb, var(--primary) 52%, transparent); color: var(--app-color-text); box-shadow: 0 24px 55px -34px color-mix(in srgb, var(--secondary) 62%, transparent); text-decoration: none; }
.app-editorial-evidence-card:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary) 32%, transparent); outline-offset: -3px; }
.app-editorial-evidence-card__visual { position: relative; display: flex; min-height: 16.5rem; flex: 0 0 16.5rem; overflow: hidden; }
.app-editorial-evidence-card__visual--image { align-items: flex-end; background: var(--secondary); }
.app-editorial-evidence-card__visual--image::after { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 24%, transparent), color-mix(in srgb, var(--primary) 40%, transparent) 48%, color-mix(in srgb, var(--secondary) 78%, transparent)); content: ""; }
.app-editorial-evidence-card__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.app-editorial-evidence-card:hover .app-editorial-evidence-card__image,
.app-editorial-evidence-card:focus-visible .app-editorial-evidence-card__image { transform: scale(1.035); }
.app-editorial-evidence-card__image-label { position: relative; z-index: 2; display: block; max-width: 14rem; padding: 1.5rem; color: var(--light, #fff); font-size: clamp(1.45rem, 2.4vw, 2.1rem); font-weight: 800; letter-spacing: -.025em; line-height: 1.02; text-transform: uppercase; }
.app-editorial-evidence-card__overlay-metric { position: absolute; right: clamp(1.35rem, 2.5vw, 2rem); bottom: clamp(1.35rem, 2.5vw, 1.85rem); left: clamp(1.35rem, 2.5vw, 2rem); z-index: 2; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; color: var(--light, #fff); text-shadow: 0 2px 20px color-mix(in srgb, var(--secondary) 72%, transparent); }
.app-editorial-evidence-card__overlay-metric strong { display: block; color: inherit; font-size: clamp(2.75rem, 4.4vw, 4.15rem); font-weight: 800; letter-spacing: -.055em; line-height: .9; overflow-wrap: anywhere; }
.app-editorial-evidence-card__overlay-metric span { display: block; margin-top: .65rem; color: inherit; font-size: .78rem; font-weight: 800; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.app-editorial-evidence-card__visual--metric { display: grid; grid-template-rows: minmax(0, 3fr) minmax(0, 2fr); background: var(--secondary); color: var(--light, #fff); }
.app-editorial-evidence-card__metric { display: flex; min-width: 0; flex-direction: column; justify-content: flex-end; padding: clamp(1.35rem, 2.6vw, 2rem); }
.app-editorial-evidence-card__metric--primary { background: linear-gradient(145deg, color-mix(in srgb, var(--secondary) 86%, var(--primary)), var(--secondary)); }
.app-editorial-evidence-card__metric--secondary { border-top: 1px solid color-mix(in srgb, var(--light, #fff) 24%, transparent); background: color-mix(in srgb, var(--primary) 78%, var(--secondary)); }
.app-editorial-evidence-card__metric strong { display: block; color: inherit; font-size: clamp(2rem, 3.8vw, 3.25rem); font-weight: 800; letter-spacing: -.045em; line-height: .96; overflow-wrap: anywhere; }
.app-editorial-evidence-card__metric--secondary strong { font-size: clamp(1.65rem, 2.9vw, 2.45rem); }
.app-editorial-evidence-card__metric span { display: block; margin-top: .55rem; color: inherit; font-size: .76rem; font-weight: 700; letter-spacing: .1em; line-height: 1.25; text-transform: uppercase; }
.app-editorial-evidence-card__content { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; align-items: flex-start; padding: clamp(1.5rem, 2.5vw, 2rem); }
.app-editorial-evidence-card__category { display: block; margin-bottom: .9rem; color: var(--quaternary, var(--primary)); font-size: .78rem; font-weight: 800; letter-spacing: .11em; line-height: 1.25; text-transform: uppercase; }
.app-editorial-evidence-card__title { display: block; margin-bottom: .85rem; color: var(--secondary, var(--app-color-heading)); font-size: clamp(1.45rem, 2.2vw, 1.85rem); font-weight: 750; letter-spacing: -.025em; line-height: 1.08; }
.app-editorial-evidence-card__body { display: block; margin-bottom: 1.15rem; color: var(--app-color-text); font-size: 1rem; line-height: 1.65; }
.app-editorial-evidence-card__footer { display: flex; width: 100%; align-items: center; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid color-mix(in srgb, var(--primary) 20%, transparent); }
.app-editorial-evidence-card__evidence { display: grid; min-width: 0; flex: 1 1 auto; gap: .35rem; color: var(--primary); font-size: .93rem; font-weight: 750; line-height: 1.35; }
.app-editorial-evidence-card__evidence > span { display: block; }
.app-editorial-evidence-card__arrow { display: inline-flex; width: 2.65rem; height: 2.65rem; flex: 0 0 2.65rem; align-items: center; justify-content: center; margin-left: auto; border: 1px solid color-mix(in srgb, var(--primary) 52%, transparent); border-radius: 50%; color: var(--primary); transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.app-editorial-evidence-card:hover .app-editorial-evidence-card__arrow,
.app-editorial-evidence-card:focus-visible .app-editorial-evidence-card__arrow { background: var(--primary); color: var(--light, #fff); transform: translateX(.25rem); }

@media (max-width: 767px) {
  .app-media-card-carousel-shell--editorial-evidence .app-media-card-carousel__nav { justify-content: flex-start; }
  .app-editorial-evidence-card__visual { min-height: 15rem; flex-basis: 15rem; }
}

@media (prefers-reduced-motion: reduce) {
  .app-media-card-carousel-shell--editorial-evidence .app-media-card-carousel__nav-button,
  .app-editorial-evidence-card,
  .app-editorial-evidence-card__image,
  .app-editorial-evidence-card__arrow { transition: none; }
  .app-editorial-evidence-card:hover .app-editorial-evidence-card__image,
  .app-editorial-evidence-card:focus-visible .app-editorial-evidence-card__image,
  .app-editorial-evidence-card:hover .app-editorial-evidence-card__arrow,
  .app-editorial-evidence-card:focus-visible .app-editorial-evidence-card__arrow { transform: none; }
}
.app-logo-carousel__item { display: flex; align-items: center; justify-content: center; min-height: 8rem; padding: 1rem; }
.app-logo-carousel__item img { display: block; width: auto !important; max-width: 100%; max-height: 5rem; margin: auto; object-fit: contain; filter: grayscale(1); opacity: .72; transition: filter .2s ease, opacity .2s ease; }
.app-logo-carousel__item:hover img { filter: none; opacity: 1; }

/* Testimonials are a shared section family with a proof-forward carousel and
 * a compact card-grid presentation. */
.app-testimonials { padding-inline: 1.5rem; background: transparent; color: var(--app-color-text); }
.app-testimonials__frame { background: var(--app-testimonials-surface, var(--app-color-surface)); }
.app-testimonials--card-grid { --app-testimonials-surface: var(--app-color-surface-alt); }
.app-testimonials__rating-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .55rem; margin-top: 1.25rem; color: var(--app-color-text); }
.app-testimonials__brand,
.app-testimonials__score { font-weight: 700; }
.app-testimonials__total { color: var(--app-color-text); font-weight: 500; }
.app-testimonials__stars,
.app-testimonial__stars { display: inline-flex; gap: .18rem; color: var(--app-testimonial-star, #fbbc04); }
.app-testimonials__star { width: 1.1rem; height: 1.1rem; flex: 0 0 auto; fill: var(--app-testimonial-star, #fbbc04); }
.app-testimonials__title-wrap { perspective: 100px; }
.app-testimonials__carousel .owl-stage { display: flex; align-items: stretch; }
.app-testimonials__carousel .owl-item { display: flex; align-items: stretch; }
.app-testimonials__carousel .owl-item > .app-testimonial { width: 100%; margin-inline: 0; }
.app-testimonial--featured { min-height: 0; }
@media (min-width: 992px) {
  .app-testimonial--featured > :first-child { flex: 0 0 12rem; width: 12rem; padding-left: 1rem !important; }
  .app-testimonial--featured > :last-child { flex: 1 1 0; width: auto; min-width: 0; }
}
.app-testimonial--featured .app-testimonial__body { color: var(--app-color-text); font-family: var(--app-testimonial-font, "Playfair Display", serif); }
.app-testimonial__avatar-wrap { position: relative; display: inline-block; }
.app-testimonial__avatar { display: inline-flex; align-items: center; justify-content: center; width: 120px; height: 120px; border-radius: 50%; background: var(--app-testimonial-avatar, color-mix(in srgb, var(--primary) 45%, var(--app-color-surface))); color: var(--light, #fff); font-size: 3.5rem; font-weight: 700; }
.app-testimonial__avatar--tone-1 { --app-testimonial-avatar: #8fa7c6; }
.app-testimonial__avatar--tone-2 { --app-testimonial-avatar: #b697b9; }
.app-testimonial__avatar--tone-3 { --app-testimonial-avatar: #9db5a2; }
.app-testimonial__avatar--tone-4 { --app-testimonial-avatar: #c4a08f; }
.app-testimonial__avatar--tone-5 { --app-testimonial-avatar: #9aa5ba; }
.app-testimonial__avatar--tone-6 { --app-testimonial-avatar: #b6a0c4; }
.app-testimonial__avatar--tone-7 { --app-testimonial-avatar: #bfa784; }
.app-testimonial__avatar--tone-8 { --app-testimonial-avatar: #98a2bf; }
.app-testimonial__quote { position: absolute; top: -1rem; left: -1rem; z-index: 3; display: inline-flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; border-radius: 50%; background: var(--primary); color: var(--light, #fff); font-size: 1.55rem; }
.app-testimonial__meta { display: block; margin-top: .35rem; color: var(--app-color-muted); font-size: .9rem; }
.app-testimonials__carousel .owl-prev,
.app-testimonials__carousel .owl-next { border: 1px solid rgba(0,0,0,.08) !important; background-color: #fff !important; color: var(--dark) !important; box-shadow: 0 15px 30px -15px rgba(0,0,0,.2); }
.app-testimonials__carousel .owl-prev::before,
.app-testimonials__carousel .owl-next::before { color: var(--dark) !important; }
.app-testimonial--card { display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid color-mix(in srgb, var(--primary) 14%, transparent); border-radius: calc(var(--border-radius2x, 4px) * 2); background: var(--app-color-surface); box-shadow: var(--app-shadow-card); }
.app-testimonial--card .app-testimonial__stars { margin-bottom: 1.25rem; }
.app-testimonial--card blockquote { flex: 1 1 auto; margin: 0 0 1.5rem; }
.app-testimonial--card blockquote p { margin: 0; color: var(--app-color-text); font-family: var(--app-testimonial-font, inherit); font-size: 1.15rem; line-height: 1.75; }
.app-testimonial--card cite,
.app-testimonial--card footer span { display: block; }
.app-testimonial--card cite { color: var(--app-color-text); font-style: normal; font-weight: 700; }
.app-testimonial--card footer span { margin-top: .25rem; color: var(--app-color-muted); font-size: .9rem; }
.app-testimonials__actions { display: flex; justify-content: center; margin-top: 2.5rem; }

@media (max-width: 991px) {
  .app-general-section__heading--with-actions { grid-template-columns: 1fr; align-items: start; gap: 1.25rem; }
  .app-general-section__heading-actions { justify-content: flex-start; padding-bottom: 0; }
  .app-quick-action-band { --app-quick-action-height: 104px; --app-quick-action-overlap: 52px; width: calc(100vw - 1rem); }
  .app-quick-action__box { padding: .5rem !important; gap: .25rem; }
  .app-quick-action:nth-child(2) .app-quick-action__box { padding-left: 1.8rem !important; }
  .app-quick-action:nth-child(3) .app-quick-action__box { padding-left: 1rem !important; }
  .app-quick-action__icon img { width: 3.45rem; height: 3.45rem; }
  .app-quick-action__content strong { font-size: 1.25rem; }
  .app-media-card__wrapper,
  .app-media-card__media { min-height: 28rem; }
  .app-media-card .thumb-info-title.top-0 { padding: 3rem 1.5rem 1.5rem !important; }
  .app-media-card__copy { max-width: none; }
  .app-media-card__cta { margin-left: 1.5rem; }
}
@media (max-width: 767px) {
  .app-quick-action-band { --app-quick-action-height: 90px; --app-quick-action-overlap: 45px; position: static; left: auto; display: flex; flex-direction: column; width: 100%; transform: none; }
  .app-quick-action { width: 100%; }
  .app-quick-action--connector::after { content: none; }
  .app-quick-action__box,
  .app-quick-action:nth-child(2) .app-quick-action__box,
  .app-quick-action:nth-child(3) .app-quick-action__box { justify-content: flex-start; padding: 1rem 1rem 1rem 1.35rem !important; gap: .8rem; }
  .app-quick-action__icon img { width: 4.8rem; height: 4.8rem; }
  .app-quick-action__content strong { font-size: 1.4rem; }
  .app-media-card-carousel__nav { position: static; display: flex; justify-content: center; gap: .65rem; margin-bottom: 1rem; transform: none; }
  .app-media-card-carousel__nav-button { position: static; }
  .app-media-card__bottom { bottom: 1rem; }
  .app-media-card__wrapper,
  .app-media-card__media { min-height: 25rem; }
  .app-testimonial--featured { text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .app-quick-action,
  .app-quick-action__link,
  .app-media-card__image,
  .app-logo-carousel__item img { transition: none; }
  .app-quick-action__link:hover,
  .app-quick-action__link:focus-visible { transform: none; }
}

/* Renewable-energy donor adaptations. These remain column-level capabilities so
 * the surrounding General Section controls width, surface, order, and stacking. */
.app-general-cover-media {
  position: relative;
  height: 100%;
  min-height: 26rem;
  margin: 0;
  overflow: hidden;
  background: var(--app-color-surface-alt);
}
.app-general-cover-media--compact { min-height: 22rem; }
.app-general-cover-media--standard { min-height: 32rem; }
.app-general-cover-media--tall { min-height: 37.5rem; }
.app-general-cover-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.035); }
.app-general-cover-media--motion-drift-left img { animation: app-cover-media-drift-left 18s ease-out both; }
.app-general-cover-media--motion-drift-right img { animation: app-cover-media-drift-right 18s ease-out both; }

.app-image-filled-text { display: flex; flex-direction: column; justify-content: center; min-height: 20rem; }
.app-image-filled-text--align-center { align-items: center; text-align: center; }
.app-image-filled-text--align-end { align-items: flex-end; text-align: end; }
.app-image-filled-text__value {
  margin: 0;
  color: var(--primary);
  font-size: clamp(7rem, 18vw, 13rem);
  font-weight: 800;
  line-height: .78;
  letter-spacing: -.075em;
}
.app-image-filled-text--md .app-image-filled-text__value { font-size: clamp(5.5rem, 13vw, 9rem); }
.app-image-filled-text--xl .app-image-filled-text__value { font-size: clamp(9rem, 23vw, 18.75rem); }
.app-image-filled-text__value small { margin-left: .06em; font-size: .55em; letter-spacing: -.04em; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .app-general-section .app-image-filled-text__value {
    background: var(--app-image-filled-text-image) center / cover no-repeat;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
}
.app-image-filled-text__caption { max-width: 32rem; margin: 1.5rem 0 0; color: var(--app-general-column-muted); }

.app-media-text-mosaic {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(15rem, 1fr);
  height: 100%;
  min-height: 30rem;
  overflow: hidden;
}
.app-media-text-mosaic--compact { grid-auto-rows: minmax(12rem, 1fr); min-height: 24rem; }
.app-media-text-mosaic--tall { grid-auto-rows: minmax(18.75rem, 1fr); min-height: 37.5rem; }
.app-media-text-mosaic--oversize { margin-block: clamp(-2.5rem, -3vw, -1.5rem); }
.app-media-text-mosaic__tile { position: relative; min-width: 0; min-height: 0; margin: 0; overflow: hidden; }
.app-media-text-mosaic__tile--image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.app-media-text-mosaic__tile--text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  color: var(--app-mosaic-foreground, var(--light));
  text-align: center;
  text-decoration: none;
  transition: background-color .25s ease, color .25s ease, transform .25s ease;
}
.app-media-text-mosaic__tile--surface-primary { --app-mosaic-background: var(--primary); --app-mosaic-foreground: var(--primary-inverse, var(--light)); }
.app-media-text-mosaic__tile--surface-secondary { --app-mosaic-background: var(--secondary); --app-mosaic-foreground: var(--secondary-inverse, var(--light)); }
.app-media-text-mosaic__tile--surface-tertiary { --app-mosaic-background: var(--tertiary); --app-mosaic-foreground: var(--tertiary-inverse, var(--light)); }
.app-media-text-mosaic__tile--surface-quaternary { --app-mosaic-background: var(--quaternary); --app-mosaic-foreground: var(--quaternary-inverse, var(--light)); }
.app-media-text-mosaic__tile--text { background: var(--app-mosaic-background); }
.app-media-text-mosaic__tile--text strong { color: inherit; font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: 1.15; }
.app-media-text-mosaic__eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.app-media-text-mosaic__body { max-width: 24rem; color: inherit; opacity: .82; }
.app-media-text-mosaic__arrow { display: inline-grid; width: 2.35rem; height: 2.35rem; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
.app-media-text-mosaic a.app-media-text-mosaic__tile--text:hover,
.app-media-text-mosaic a.app-media-text-mosaic__tile--text:focus-visible {
  z-index: 2;
  background: var(--primary);
  color: var(--primary-inverse, var(--light));
  text-decoration: none;
  transform: scale(1.025);
}
.app-media-text-mosaic a.app-media-text-mosaic__tile--text:focus-visible { outline: 3px solid currentColor; outline-offset: -5px; }
.app-general-section--media-mosaic-split .app-general-section__grid { overflow: visible; }

.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--placement-top-left { grid-column: 1; grid-row: 1; }
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--placement-top-right { grid-column: 2; grid-row: 1; }
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--placement-bottom-right { grid-column: 2; grid-row: 2; }
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--placement-bottom-left { grid-column: 1; grid-row: 2; }
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0;
  padding: clamp(1.5rem, 3.25vw, 3rem);
  color: var(--app-mosaic-foreground, var(--light));
  text-align: start;
  text-decoration: none;
  isolation: isolate;
  transition: background-color .3s ease, color .3s ease, transform .3s ease;
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked.app-media-text-mosaic__tile--image {
  --app-mosaic-foreground: var(--primary-inverse, var(--light));
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked > img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.035);
  transition: transform .5s ease;
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__scrim {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: color-mix(in srgb, var(--primary) 72%, transparent);
  transition: background-color .3s ease;
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .7rem;
  width: 100%;
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__content strong {
  color: inherit;
  font-size: clamp(1.45rem, 2.4vw, 2.1rem);
  line-height: 1.08;
  transition: transform .3s ease;
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__body {
  max-width: 25rem;
  font-size: .95rem;
  line-height: 1.45;
  opacity: .78;
  transition: opacity .3s ease, transform .3s ease;
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__arrow {
  transition: transform .3s ease;
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:hover,
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:focus-visible {
  z-index: 2;
  background: var(--primary);
  color: var(--primary-inverse, var(--light));
  text-decoration: none;
  transform: scale(1.025);
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:hover .app-media-text-mosaic__scrim,
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:focus-visible .app-media-text-mosaic__scrim {
  background: var(--primary);
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:hover > img,
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:focus-visible > img {
  transform: scale(1.09) translate3d(1%, 0, 0);
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:hover .app-media-text-mosaic__content strong,
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:focus-visible .app-media-text-mosaic__content strong {
  transform: translateY(-.15rem);
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:hover .app-media-text-mosaic__body,
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:focus-visible .app-media-text-mosaic__body {
  opacity: 1;
  transform: translateY(-.1rem);
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:hover .app-media-text-mosaic__arrow,
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:focus-visible .app-media-text-mosaic__arrow {
  transform: translateX(.3rem);
}
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: -6px;
}
.app-general-section--linked-mosaic-split .app-general-section__grid { overflow: visible; }

@media (min-width: 62rem) {
  .app-general-section--linked-mosaic-split .app-general-section__grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  }
  .app-general-section--linked-mosaic-split .app-general-section__grid > .app-general-column {
    grid-column: auto;
  }
}

.app-general-section--editorial-resource-split,
.app-general-section--document-resource-split {
  overflow: hidden;
}

.app-numbered-editorial-field--collage {
  position: relative;
  isolation: isolate;
  min-height: clamp(34rem, 43vw, 43rem);
  overflow: hidden;
}

.app-numbered-editorial-field--collage::before,
.app-numbered-editorial-field--collage::after {
  position: absolute;
  z-index: -1;
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.app-numbered-editorial-field--collage::before {
  top: -22%;
  right: -17%;
  width: 68%;
  aspect-ratio: 1;
}

.app-numbered-editorial-field--collage::after {
  bottom: -35%;
  left: -20%;
  width: 76%;
  aspect-ratio: 1.35;
}

.app-numbered-editorial-field--collage .app-numbered-editorial-field__list {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.app-numbered-editorial-field--collage .app-numbered-editorial-field__item {
  position: absolute;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: end;
  gap: clamp(.65rem, 1.4vw, 1.15rem);
  width: min(48%, 27rem);
}

.app-numbered-editorial-field--collage .app-numbered-editorial-field__number {
  color: color-mix(in srgb, var(--primary) 58%, var(--light));
  font-size: clamp(5.5rem, 9vw, 9.25rem);
  font-weight: 800;
  line-height: .72;
  letter-spacing: -.09em;
}

.app-numbered-editorial-field--collage .app-numbered-editorial-field__label {
  padding-bottom: .35rem;
  color: currentColor;
  font-size: clamp(.78rem, 1.05vw, 1rem);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(1) { top: 4%; left: 1%; }
.app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(2) { top: 14%; right: 0; }
.app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(3) { top: 42%; left: 22%; }
.app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(4) { bottom: 4%; left: -3%; }
.app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(5) { right: 0; bottom: 10%; }
.app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(6) { right: 24%; bottom: 36%; }

.app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(2) .app-numbered-editorial-field__number,
.app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(5) .app-numbered-editorial-field__number {
  color: var(--tertiary);
  font-size: clamp(4.75rem, 7.4vw, 7.4rem);
}

.app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(3) .app-numbered-editorial-field__number,
.app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(6) .app-numbered-editorial-field__number {
  color: color-mix(in srgb, var(--quaternary) 76%, var(--light));
  font-size: clamp(5rem, 8.2vw, 8rem);
}

.app-numbered-editorial-field--document-checklist {
  display: flex;
  min-height: clamp(35rem, 40vw, 41rem);
  align-items: center;
  justify-content: center;
}

.app-practitioner-document {
  position: relative;
  isolation: isolate;
  width: min(100%, 46rem);
  overflow: hidden;
  padding: clamp(2.1rem, 4vw, 3.75rem);
  border: 1px solid color-mix(in srgb, var(--tertiary) 82%, var(--secondary));
  background: color-mix(in srgb, var(--app-color-background, #faf8f5) 95%, var(--tertiary));
  color: var(--app-color-text, #252426);
  box-shadow: 0 2.25rem 5rem -3rem color-mix(in srgb, var(--secondary) 78%, transparent), .8rem .8rem 0 color-mix(in srgb, var(--tertiary) 22%, transparent);
}

.app-practitioner-document__watermark {
  position: absolute;
  z-index: -1;
  top: clamp(-1rem, -1.5vw, -.25rem);
  right: clamp(.5rem, 2vw, 1.5rem);
  color: color-mix(in srgb, var(--primary) 8%, transparent);
  font-size: clamp(9rem, 17vw, 16rem);
  font-weight: 800;
  line-height: .8;
  letter-spacing: -.11em;
  pointer-events: none;
}

.app-practitioner-document__header {
  position: relative;
  max-width: 31rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  padding-bottom: clamp(1.35rem, 2.5vw, 2rem);
  border-bottom: 3px solid var(--primary);
}

.app-practitioner-document__kicker {
  margin: 0 0 .65rem;
  color: var(--quaternary);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.3;
  text-transform: uppercase;
}

.app-practitioner-document__title {
  max-width: 25rem;
  margin: 0;
  color: var(--secondary, var(--app-color-text));
  font-size: clamp(2rem, 3.4vw, 3.25rem);
  font-weight: 750;
  letter-spacing: -.04em;
  line-height: .98;
  text-transform: uppercase;
}

.app-practitioner-document__list {
  margin: 0;
  padding: 0;
  border-top: 1px solid color-mix(in srgb, var(--quaternary) 62%, var(--tertiary));
  list-style: none;
}

.app-practitioner-document__item {
  display: grid;
  grid-template-columns: clamp(2.75rem, 5vw, 4rem) minmax(0, 1fr);
  align-items: baseline;
  gap: clamp(.75rem, 2vw, 1.35rem);
  padding: clamp(.85rem, 1.65vw, 1.15rem) 0;
  border-bottom: 1px solid color-mix(in srgb, var(--quaternary) 62%, var(--tertiary));
}

.app-practitioner-document__number {
  color: var(--primary);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1;
}

.app-practitioner-document__label {
  color: var(--secondary, var(--app-color-text));
  font-size: clamp(.95rem, 1.45vw, 1.12rem);
  font-weight: 700;
  line-height: 1.28;
}

.app-practitioner-document__footer {
  margin: clamp(1.35rem, 2.4vw, 2rem) 0 0;
  color: var(--primary);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.3;
  text-align: right;
  text-transform: uppercase;
}

@media (min-width: 62rem) {
  .app-general-section--editorial-resource-split .app-general-section__grid {
    grid-template-columns: minmax(0, 9fr) minmax(0, 11fr);
  }

  .app-general-section--document-resource-split .app-general-section__grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  }

  .app-general-section--editorial-resource-split .app-general-section__grid > .app-general-column,
  .app-general-section--document-resource-split .app-general-section__grid > .app-general-column {
    grid-column: auto;
  }
}

@media (max-width: 61.99rem) {
  .app-numbered-editorial-field--collage {
    min-height: 0;
    overflow: visible;
  }

  .app-numbered-editorial-field--collage::before,
  .app-numbered-editorial-field--collage::after {
    display: none;
  }

  .app-numbered-editorial-field--collage .app-numbered-editorial-field__list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid color-mix(in srgb, currentColor 22%, transparent);
    border-left: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  }

  .app-numbered-editorial-field--collage .app-numbered-editorial-field__item,
  .app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(n) {
    position: relative;
    inset: auto;
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    width: auto;
    min-height: 10rem;
    padding: clamp(1.25rem, 4vw, 2rem);
    border-right: 1px solid color-mix(in srgb, currentColor 22%, transparent);
    border-bottom: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  }

  .app-numbered-editorial-field--collage .app-numbered-editorial-field__item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .app-numbered-editorial-field--collage .app-numbered-editorial-field__number,
  .app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(n) .app-numbered-editorial-field__number {
    flex: 0 0 auto;
    font-size: clamp(4rem, 12vw, 6.5rem);
  }

  .app-numbered-editorial-field--collage .app-numbered-editorial-field__label {
    max-width: 15rem;
  }

  .app-numbered-editorial-field--document-checklist {
    min-height: 0;
  }

  .app-practitioner-document {
    width: min(100%, 43rem);
  }
}

@media (max-width: 35.99rem) {
  .app-numbered-editorial-field--collage .app-numbered-editorial-field__list {
    grid-template-columns: 1fr;
  }

  .app-numbered-editorial-field--collage .app-numbered-editorial-field__item,
  .app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(n),
  .app-numbered-editorial-field--collage .app-numbered-editorial-field__item:last-child:nth-child(odd) {
    grid-column: auto;
    min-height: 7.5rem;
  }

  .app-numbered-editorial-field--collage .app-numbered-editorial-field__number,
  .app-numbered-editorial-field--collage .app-numbered-editorial-field__item:nth-child(n) .app-numbered-editorial-field__number {
    font-size: clamp(3.75rem, 18vw, 5.25rem);
  }

  .app-practitioner-document {
    padding: 1.75rem 1.4rem;
    box-shadow: 0 1.5rem 3rem -2.25rem color-mix(in srgb, var(--secondary) 76%, transparent), .35rem .35rem 0 color-mix(in srgb, var(--tertiary) 22%, transparent);
  }

  .app-practitioner-document__title {
    max-width: 16rem;
    font-size: clamp(1.75rem, 9vw, 2.35rem);
  }

  .app-practitioner-document__watermark {
    top: .5rem;
    right: .5rem;
    font-size: 8rem;
  }
}

@keyframes app-cover-media-drift-left { from { transform: scale(1.08) translateX(1.5%); } to { transform: scale(1.035) translateX(0); } }
@keyframes app-cover-media-drift-right { from { transform: scale(1.08) translateX(-1.5%); } to { transform: scale(1.035) translateX(0); } }

@media (max-width: 767px) {
  .app-media-text-mosaic { grid-auto-rows: minmax(12rem, auto); }
  .app-media-text-mosaic--oversize { margin-block: 0; }
}

@media (max-width: 575px) {
  .app-media-text-mosaic { grid-template-columns: 1fr; }
  .app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile { grid-column: auto; grid-row: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .app-general-cover-media img { animation: none; transform: none; }
  .app-media-text-mosaic__tile,
  .app-media-text-mosaic__tile--image img { transition: none; }
  .app-media-text-mosaic a.app-media-text-mosaic__tile--text:hover,
  .app-media-text-mosaic a.app-media-text-mosaic__tile--text:focus-visible,
  .app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:hover,
  .app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:focus-visible { transform: none; }
  .app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:hover > img,
  .app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:focus-visible > img { transform: scale(1.035); }
}


/* Configured treatments of the existing General Section, action row and horizontal cards. */
.app-general-section--split-surface-band {
--app-general-section-background: var(--app-color-background);
  overflow: hidden;
}

.app-general-section--split-surface-band .app-general-section__grid > .app-general-column:first-child {
position: relative;
  isolation: isolate;
  padding-inline-start: 0;
}

.app-general-section--split-surface-band .app-general-section__grid > .app-general-column:nth-child(2) {
position: relative;
  isolation: isolate;
  padding-inline-end: 0;
}

.app-general-section--split-surface-band .app-general-section__grid > .app-general-column:first-child::before,
.app-general-section--split-surface-band .app-general-section__grid > .app-general-column:nth-child(2)::before {
position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  width: 100vw;
  content: "";
  pointer-events: none;
}

.app-general-section--split-surface-band .app-general-section__grid > .app-general-column:first-child::before {
right: 100%;
  background: var(--secondary);
}

.app-general-section--split-surface-band .app-general-section__grid > .app-general-column:nth-child(2)::before {
left: 100%;
  background: var(--primary);
}

.app-general-section--split-surface-band .app-general-content-flow--panel {
display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 45rem;
  padding: 3rem;
  --app-general-column-background: var(--app-color-background);
  --app-general-column-foreground: var(--app-color-text);
}

.app-general-section--split-surface-band .app-general-content-flow--panel .app-general-column__title {
font-size: clamp(1.9rem, 2.6vw, 2.35rem) !important;
  line-height: 1.08;
}

.app-general-section--split-surface-band .app-general-column--surface-secondary > .app-general-content-flow {
width: 100%;
  max-width: 35rem;
}

.app-general-section--split-surface-band .app-general-column--surface-secondary > .app-general-content-flow .app-general-column__title {
line-height: 1.04;
}

.app-general-section--split-surface-band .app-general-column--surface-secondary > .app-general-content-flow > p:not(.app-section-eyebrow) {
font-size: 1.125rem !important;
  line-height: 1.6;
}

.app-general-section--split-surface-band .app-general-column--surface-secondary .app-content-list {
margin: 2.5rem 0 0;
  padding: 0;
  border-top: 1px solid color-mix(in srgb, var(--tertiary) 36%, transparent);
  list-style: none;
}

.app-general-section--split-surface-band .app-general-column--surface-secondary .app-content-list li {
padding: 1.1875rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--tertiary) 36%, transparent);
  color: var(--light);
  font-size: 1.1875rem !important;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.app-general-section--split-surface-band .app-general-column--surface-secondary > .app-general-content-flow > .app-general-content-flow__actions {
margin-top: 2rem;
}

.app-general-section--split-surface-band .app-general-column--surface-primary .app-general-content-flow--panel > .app-general-content-flow__actions {
display: flex;
  justify-content: flex-end;
  margin-top: auto;
  padding-top: clamp(1.5rem, 4vw, 3rem);
  text-align: end;
}

.app-general-section--split-surface-band .app-general-column--surface-primary .app-general-content-flow--panel > .app-general-content-flow__actions .btn-link {
font-size: 1.0625rem !important;
  font-weight: 700 !important;
}

.app-general-section--compact-actions {
--app-general-section-background: var(--app-color-background);
  --app-quick-action-secondary: var(--light-200);
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.app-general-section--compact-actions .app-quick-action-band {
--app-quick-action-height: 11.5rem;
  --app-quick-action-overlap: 0px;
  width: 100%;
  max-width: none;
  left: auto;
  transform: none;
  margin: 0 auto;
}

.app-general-section--compact-actions .app-quick-action.appear-animation {
opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.app-general-section--compact-actions .app-quick-action__box,
.app-general-section--compact-actions .app-quick-action:nth-child(2) .app-quick-action__box,
.app-general-section--compact-actions .app-quick-action:nth-child(3) .app-quick-action__box {
align-items: flex-start;
  justify-content: center;
  gap: 0;
  padding: 1.75rem !important;
}

.app-general-section--compact-actions .app-quick-action:not(:first-child) .app-quick-action__box {
padding-left: 4.25rem !important;
}

.app-general-section--compact-actions .app-quick-action__content strong {
order: -1;
  margin-bottom: .65rem;
  font-size: clamp(1.35rem, 1.55vw, 1.75rem) !important;
  line-height: 1.15;
}

.app-general-section--compact-actions .app-quick-action__content {
display: flex;
  flex-direction: column;
}

.app-general-section--compact-actions .app-quick-action__content small {
font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.45;
}

.app-general-section--compact-actions .app-quick-action--secondary .app-quick-action__link,
.app-general-section--compact-actions .app-quick-action--secondary .app-quick-action__link:hover,
.app-general-section--compact-actions .app-quick-action--secondary .app-quick-action__link:focus-visible,
.app-general-section--compact-actions .app-quick-action--tertiary .app-quick-action__link,
.app-general-section--compact-actions .app-quick-action--tertiary .app-quick-action__link:hover,
.app-general-section--compact-actions .app-quick-action--tertiary .app-quick-action__link:focus-visible,
.app-general-section--compact-actions .app-quick-action--quaternary .app-quick-action__link,
.app-general-section--compact-actions .app-quick-action--quaternary .app-quick-action__link:hover,
.app-general-section--compact-actions .app-quick-action--quaternary .app-quick-action__link:focus-visible {
color: var(--app-color-text) !important;
}

.app-general-section--compact-actions .app-quick-action--secondary .app-quick-action__content small,
.app-general-section--compact-actions .app-quick-action--tertiary .app-quick-action__content small,
.app-general-section--compact-actions .app-quick-action--quaternary .app-quick-action__content small {
color: color-mix(in srgb, var(--app-color-text) 84%, transparent);
}

.app-general-section--inline-action {
--app-general-section-background: var(--app-color-background);
}

.app-general-section--inline-action .app-general-content-flow {
display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: clamp(3rem, 7vw, 7rem);
}

.app-general-section--inline-action .app-general-content-flow > :not(.app-general-content-flow__actions) {
grid-column: 1;
}

.app-general-section--inline-action .app-general-content-flow > p:not(.app-section-eyebrow) {
max-width: 52rem;
  margin-bottom: 0;
  font-size: 1.125rem !important;
  line-height: 1.6;
}

.app-general-section--inline-action .app-general-content-flow > .app-general-content-flow__actions {
grid-column: 2;
  grid-row: 1 / span 3;
  justify-self: end;
  margin-top: 0;
}

@media (max-width: 35.99rem) {
.app-general-section--split-surface-band .app-general-column--surface-primary {
padding: 1rem;
}

.app-general-section--split-surface-band .app-general-content-flow--panel {
padding: 1.5rem;
}

.app-general-section--split-surface-band .app-general-content-flow--panel .app-general-column__title {
font-size: 1.65rem !important;
}
}

@media (max-width: 61.99rem) {
.app-general-section--split-surface-band .app-general-section__grid > .app-general-column:first-child::before,
  .app-general-section--split-surface-band .app-general-section__grid > .app-general-column:nth-child(2)::before {
right: calc(var(--app-general-container-padding-inline) * -1);
    left: calc(var(--app-general-container-padding-inline) * -1);
    width: auto;
}

.app-general-section--compact-actions .app-quick-action-band {
--app-quick-action-height: auto;
}

.app-general-section--compact-actions .app-quick-action__box,
  .app-general-section--compact-actions .app-quick-action:nth-child(2) .app-quick-action__box,
  .app-general-section--compact-actions .app-quick-action:nth-child(3) .app-quick-action__box,
  .app-general-section--compact-actions .app-quick-action:not(:first-child) .app-quick-action__box {
padding: 1.5rem !important;
}

.app-general-section--inline-action .app-general-content-flow {
grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
}

.app-general-section--inline-action .app-general-content-flow > .app-general-content-flow__actions {
grid-column: 1;
    grid-row: auto;
    justify-self: start;
    margin-top: 1.75rem;
}
}

.app-card-list--flat .app-card-image-horizontal {
--bs-border-radius: 0;
  --bs-card-color: var(--app-general-column-foreground, var(--app-color-text));
  color: var(--app-general-column-foreground, var(--app-color-text));
  border-color: var(--app-color-border);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}

.app-card-list--flat .app-card-image-horizontal .col-lg-4 {
position: relative;
}

.app-card-list--flat .app-card-image-horizontal .col-lg-4::after {
position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(135deg, rgba(var(--primary-rgb), .18), rgba(var(--secondary-rgb), .12));
  pointer-events: none;
}

.app-card-list--flat .app-card-image-horizontal img {
width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.app-card-list--flat .app-card-image-horizontal .card-body {
padding: clamp(1.5rem, 3vw, 2.5rem);
  width: 100%;
  flex: 0 1 auto;
}

.app-card-list--flat .app-card-image-horizontal .row > .col-lg-8 {
  display: flex;
  align-items: center;
}

.app-card-list--flat .app-card-image-horizontal .card-title {
line-height: 1.3;
  color: inherit;
  text-transform: none;
}

.app-card-list--flat .app-card-image-horizontal .card-text {
  color: inherit;
}

.app-card-list--flat .app-card-image-horizontal .read-more {
  color: inherit;
}
.app-card-list--flat .app-card-image-horizontal .read-more:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: .25rem;
}

.app-cta-section--inline {
background: var(--app-color-background);
  border-top: 1px solid var(--tertiary);
}

.app-cta-section--inline .app-cta-block {
background: transparent;
  border-radius: 0;
  box-shadow: none;
  padding-block: 1rem;
}

.app-cta-section--inline .app-cta-block .app-section-title {
max-width: 48rem;
}

@media (min-width: 992px) {
.app-cta-section--inline .app-cta-block {
display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 3rem;
}

.app-cta-section--inline .app-cta-block > :not(.app-button-row) {
grid-column: 1;
}

.app-cta-section--inline .app-cta-block > .app-button-row {
grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
}
}

/* Opt-in emphasis, paired schedules and icon captions. */
.app-content-list-unstyled-emphasis{margin:1.5rem 0;padding:0 0 0 1rem;list-style:none;font-family:var(--app-font-body);font-size:1.0625rem;font-weight:700;line-height:1.45}
.app-content-list-unstyled-emphasis li+li{margin-top:.45rem}
.app-general-content-flow--paired-schedule{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(1.5rem,4vw,3rem);width:100%}
.app-general-content-flow--paired-schedule> :is(.app-section-eyebrow,.app-general-column__title,.app-content-list-schedule-details){grid-column:1/-1}
.app-general-content-flow--paired-schedule>.app-general-column__title{max-width:13ch;line-height:1.08}
.app-general-content-flow--paired-schedule :is(.app-content-list-schedule-labels,.app-content-list-schedule-values){margin:clamp(1.25rem,2.5vw,1.75rem) 0 0;padding:0;list-style:none;color:inherit;font-size:clamp(1.05rem,1.6vw,1.2rem);font-weight:700;line-height:1.25}
.app-content-list-schedule-values{text-align:right}
.app-general-content-flow--paired-schedule :is(.app-content-list-schedule-labels,.app-content-list-schedule-values) li{padding:.18rem 0}
.app-general-content-flow--paired-schedule>.app-content-list-schedule-details{margin:clamp(1.25rem,2.5vw,1.75rem) 0 0;padding:clamp(1rem,2vw,1.4rem) 0 0;border-top:1px solid var(--app-color-border);list-style:none}
.app-content-list-schedule-details li{margin:0;padding:.34rem 0;font-size:clamp(1rem,1.5vw,1.125rem);font-weight:600;line-height:1.25}
.app-general-media--single.app-general-media--icon-list{height:clamp(24rem,33vw,29rem)}
.app-general-media--icon-list>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.app-general-media--icon-list .app-general-media__overlay-caption{padding:clamp(1.5rem,4vw,2.75rem);background:linear-gradient(90deg,rgba(8,10,13,.92),rgba(8,10,13,.68) 52%,rgba(8,10,13,.12))}
.app-general-media--icon-list .app-image-frame-caption__inner{gap:clamp(.75rem,1.5vw,1.1rem)}
.app-general-media--icon-list .app-image-frame-caption__text{display:flex;align-items:center;gap:.9rem;color:#fff;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:700;letter-spacing:-.015em;line-height:1.15;text-shadow:0 2px 14px rgba(0,0,0,.72);text-transform:none}
.app-general-media--icon-list .app-image-frame-caption__text i{flex:0 0 2.5rem;text-align:center;font-size:1.7rem}

/* Filled media columns stretch with their authored row, independent of intrinsic image size. */
@media (min-width: 992px) {
  .app-general-section__grid--align-stretch > :is(.app-general-column--single-media,.app-general-column--image-carousel).app-general-column--fill-height { position:relative; min-height:20rem; }
  .app-general-section__grid--align-stretch > .app-general-column--single-media.app-general-column--fill-height > .app-general-media--single,
  .app-general-section__grid--align-stretch > .app-general-column--image-carousel.app-general-column--fill-height > .app-general-image-carousel { position:absolute; inset:0; height:100%; }
  .app-general-section__grid--align-stretch > .app-general-column--single-media.app-general-column--fill-height > .app-general-media--single img { height:100%; aspect-ratio:auto; border-radius:0; box-shadow:none; }
}
/* Controls over photographs need their own contrasting surface in every document mode. */
.app-general-image-carousel.owl-theme .owl-dots .owl-dot span { width:8px; height:8px; margin:5px; border-radius:50%; background:#333a3e; border:0; }
.app-general-image-carousel.owl-theme .owl-dots .owl-dot:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.app-general-image-carousel.owl-theme .owl-dots .owl-dot:focus-visible span { background:var(--primary); }
.app-general-image-carousel.owl-theme .owl-dots .owl-dot.active span,
.app-general-image-carousel.owl-theme .owl-dots .owl-dot:hover span { background:var(--primary); }

/* Optional contained gallery and details presentations. */
.app-general-section__container--bootstrap { --app-general-container-padding-inline: calc(var(--bs-gutter-x, 1.5rem) * .5); }
.app-thumbnail-gallery__stage { position: relative; }
.app-thumbnail-gallery__slide { margin: 0; }
.app-thumbnail-gallery__slide img { display: block; width: 100%; height: auto; }
.app-thumbnail-gallery__controls:not([hidden]) { position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; pointer-events: none; z-index: 2; }
.app-thumbnail-gallery__controls button { pointer-events: auto; border: 0; border-radius: 50%; width: 2.75rem; height: 2.75rem; margin: .75rem; background: var(--primary); color: var(--primary-inverse, #fff); font-size: 2rem; line-height: 1; }
.app-thumbnail-gallery__controls button:disabled { opacity: .4; cursor: default; }
.app-thumbnail-gallery__thumbnails:not([hidden]) { display: flex; gap: 15px; overflow-x: auto; position: relative; margin-top: 15px; }
.app-thumbnail-gallery__thumbnails button { flex: 0 0 calc((100% - 45px) / 4); min-width: 0; padding: 0; border: 0; background: transparent; opacity: .5; }
.app-thumbnail-gallery__thumbnails button[aria-current="true"] { opacity: 1; }
.app-thumbnail-gallery__thumbnails img { display: block; width: 100%; height: auto; }
.app-thumbnail-gallery button:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; }
.app-general-content-flow--compact-details.app-general-content-flow--panel { padding: 1.5rem; border-radius: var(--mp-radius, .5rem); box-shadow: 0 .25rem 1rem rgba(0, 0, 0, .12); }
.app-general-content-flow--compact-details .app-general-column__title { text-align: center; font-family: var(--app-font-ui, inherit); font-size: 1.25rem; font-weight: 700; color: var(--primary); margin-bottom: 1.5rem; }
.app-general-content-flow__details { margin: 0; }
.app-general-content-flow__details > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1rem; padding-block: .5rem; }
.app-general-content-flow__details dt { font-weight: 700; }
.app-general-content-flow__details dd { margin: 0; overflow-wrap: anywhere; }

/* Authored decoration and photographic bands are independent of content columns. */
.app-general-section--decorated { position:relative; isolation:isolate; overflow:hidden; }
.app-general-section--decorated > .app-general-section__container { position:relative; z-index:1; }
.app-general-section--backdrop { background-image:var(--app-section-backdrop); background-size:cover; background-position:center; }
.app-general-section--backdrop::before { content:""; position:absolute; inset:0; background:var(--primary); pointer-events:none; opacity:0; }
.app-general-section--overlay-soft::before { opacity:.4; }
.app-general-section--overlay-strong::before { opacity:.8; }
.app-general-section--backdrop-top { background-position:center top; }
.app-general-section--content-panel-dark .app-general-section__container { position:relative; z-index:1; margin-block:clamp(2.5rem,6vw,5rem); padding-inline:clamp(1.5rem,4vw,3rem); background:rgba(0,0,0,var(--app-section-panel-opacity,.5)); }
.app-general-section--parallax { background-attachment:fixed; }
.app-general-section__decoration { position:absolute; z-index:0; pointer-events:none; width:min(75rem,100%); max-width:none; top:0; opacity:.65; }
.app-general-section__decoration--left { left:-35%; transform:rotate(45deg); }
.app-general-section__decoration--right { right:-35%; transform:rotate(-40deg); }
.app-general-media--decorated { position:relative; isolation:isolate; padding:2.5rem; }
.app-general-media--decorated > .app-general-media__decoration { position:absolute; z-index:-1; inset:0; width:100%; height:100%; object-fit:fill; aspect-ratio:auto; pointer-events:none; }
.app-countdown { text-align:center; color:inherit; }
.app-countdown__units { display:flex; flex-wrap:wrap; justify-content:center; gap:clamp(1rem,5vw,4rem); }
.app-countdown__units[hidden] { display:none; }
.app-countdown__unit { display:flex; flex-direction:column; }
.app-countdown__unit strong { font-size:clamp(2rem,6vw,4rem); line-height:1.1; font-variant-numeric:tabular-nums; }
.app-countdown__unit > span { text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; }
.app-gallery-album__open { display:block; color:inherit; text-decoration:none; }
.app-gallery-album__open:hover { text-decoration:none; }
.app-gallery-album__cover { display:block; position:relative; overflow:hidden; }
.app-gallery-album__cover > img { width:100%; height:auto; display:block; }
.app-gallery-album__cover > span { position:absolute; inset:0; display:grid; place-items:center; color:#fff; background:rgba(0,0,0,.3); opacity:0; font-size:3rem; transition:opacity .2s; }
.app-gallery-album__open:hover .app-gallery-album__cover > span, .app-gallery-album__open:focus-visible .app-gallery-album__cover > span { opacity:1; }
.app-gallery-album__label, .app-gallery-album__count { display:block; text-transform:uppercase; letter-spacing:.12em; margin-top:.75rem; }
.app-gallery-album__count { font-size:.75rem; margin-top:.25rem; }
.app-gallery-dialog { color:#fff; background:transparent; border:0; padding:3rem 2.5rem 1rem; width:100vw; height:100dvh; max-width:100vw; max-height:100dvh; overflow:auto; }
.app-gallery-dialog::backdrop { background:rgba(0,0,0,.95); }
.app-gallery-dialog__close { position:fixed; z-index:3; top:.5rem; right:.5rem; border:0; width:2.75rem; height:2.75rem; color:var(--primary-inverse,#fff); background:var(--primary,#333); font-size:2rem; }
.app-gallery-dialog .app-thumbnail-gallery__slide { margin:0; }
.app-gallery-dialog .app-thumbnail-gallery__slide > img { width:100%; height:70dvh; object-fit:contain; }
.app-gallery-dialog .app-thumbnail-gallery__thumbnails { justify-content:center; transition:opacity .2s; }
.app-gallery-dialog--quiet .app-thumbnail-gallery__thumbnails:not(:hover):not(:focus-within) { opacity:.15; }
.app-gallery-dialog :is(button,a):focus-visible { outline:3px solid #fff; outline-offset:3px; }
@media(max-width:991px), (prefers-reduced-motion:reduce) { .app-general-section--parallax { background-attachment:scroll; } }
@media(max-width:575px) { .app-gallery-dialog { padding:3.25rem .75rem 1rem; } .app-general-media--decorated { padding:1.5rem; } }
@media(prefers-reduced-motion:reduce) { .app-gallery-album__cover > span, .app-gallery-dialog .app-thumbnail-gallery__thumbnails { transition:none; } }

.app-gallery-dialog .app-thumbnail-gallery__thumbnails button { flex:0 0 clamp(3rem,6vw,6rem); }
.app-gallery-dialog .app-thumbnail-gallery__thumbnails img { height:8vh; object-fit:cover; }
/* Occasion presentation of the existing card-list column. */
.app-occasion-card-list { display:grid; gap:3rem; }
.app-occasion-card { max-width:22.25rem; margin-inline:auto; width:100%; color:var(--app-color-muted,#777); }
.app-occasion-card__image { display:block; width:100%; aspect-ratio:356/160; object-fit:cover; }
.app-occasion-card .app-occasion-card__title { margin:2.5rem 0 .5rem; color:var(--primary); text-align:center; font-family:var(--mp-heading-font,var(--app-font-display,inherit)); font-size:3.125rem; font-weight:700; line-height:1.1; text-transform:none; letter-spacing:0; }
.app-occasion-card__date,.app-occasion-card__time { margin:0 0 .4rem; text-align:center; text-transform:uppercase; letter-spacing:.15em; font-size:.8125rem; }
.app-occasion-card__date { font-weight:700; }
.app-occasion-card-list--fill .app-occasion-card { max-width:none; }
.app-occasion-card-list--landscape .app-occasion-card__image { aspect-ratio:5/3; }
.app-occasion-card__location { margin:0 0 .4rem; text-align:center; color:var(--primary); font-family:var(--mp-body-font,inherit); font-size:1.125rem; font-weight:700; }
.app-occasion-card__venue { display:flex; justify-content:space-between; align-items:center; gap:1rem; border-block:1px solid var(--app-color-border,#eee); padding:1.5rem 0; margin:1.5rem 0; }
.app-occasion-card__venue strong { display:block; color:var(--primary); font-family:var(--mp-body-font,inherit); font-size:1.125rem; font-weight:700; }
.app-occasion-card__venue span { display:block; }
.app-occasion-card__directions { flex-shrink:0; text-align:center; color:inherit; font-size:.625rem; text-transform:uppercase; text-decoration:none; }
.app-occasion-card__directions i { display:grid; place-items:center; width:3.125rem; height:3.125rem; border:1px solid var(--app-color-border,#ddd); border-radius:50%; color:var(--app-color-text,#333); margin:0 auto .35rem; }
.app-occasion-card__directions:hover,.app-occasion-card__directions:focus-visible { color:var(--primary); }
.app-occasion-card__body { font-size:.875rem; line-height:1.85; }
/* Editorial display introduction; all colors inherit the authored section surface. */
.app-general-content-flow--occasion-intro { max-width:58rem; margin-inline:auto; text-align:center; padding-block:clamp(2rem,5vw,5rem); }
.app-general-content-flow--occasion-intro > .app-general-column__title { font-family:var(--mp-heading-font,var(--app-font-display,inherit)); font-size:clamp(4rem,8vw,8rem); line-height:1.05; margin:0; text-transform:none; letter-spacing:0; text-shadow:0 .06em .06em rgba(0,0,0,.24); }
.app-general-content-flow--occasion-intro > .app-general-column__title + * { margin-top:2rem; }
.app-general-content-flow--align-center { text-align:center; }
.app-general-content-flow--align-center .app-button-row { display:flex; flex-wrap:wrap; justify-content:center; }
.app-general-content-flow--align-end .app-button-row { display:flex; flex-wrap:wrap; justify-content:flex-end; }
.app-general-content-flow--align-end { text-align:end; }
.app-general-content-flow--occasion-intro p { max-width:48rem; margin-inline:auto; font-size:clamp(1rem,1.2vw,1.1875rem); }

/* Team presentation of the card carousel: portrait photo, name and role below, social toggle on hover. */
.app-team-carousel{--app-lite-carousel-gap:1.25rem}
.app-team-carousel .app-lite-carousel-track{padding-block:.5rem 1rem}
@container (min-width:22rem){.app-team-carousel .app-lite-carousel-track{--app-lite-carousel-items:2}}
@container (min-width:54rem){.app-team-carousel .app-lite-carousel-track{--app-lite-carousel-items:4}}
@container (min-width:64rem){.app-team-carousel .app-lite-carousel-track{--app-lite-carousel-items:5}}
.app-team-card{display:flex;flex-direction:column;background:var(--app-color-surface,#fff)}
.app-team-card__info{flex:1}
.app-team-card__image{display:block;overflow:hidden}
.app-team-card__image img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:top;transition:transform .3s ease}
.app-team-card:hover .app-team-card__image img{transform:scale(1.08)}
.app-team-card__info{position:relative;padding:1.5rem 1.5rem 1.25rem;background:var(--app-color-muted-surface,#f4f5f6)}
.app-team-card__name{margin:0 0 .15rem;font-size:1.0625rem !important;font-family:var(--mp-body-font,inherit);font-weight:600;text-transform:none;letter-spacing:0;line-height:1.3}
.app-team-card__name a{color:inherit;text-decoration:none}
.app-team-card__role{display:block;font-weight:300;opacity:.8}
.app-team-card__social{position:absolute;right:.9rem;bottom:calc(100% - 1.3rem);width:2.6rem;overflow:hidden;z-index:1}
.app-team-card__social-toggle{position:absolute;bottom:0;left:0;z-index:2;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;color:#fff;background:#58605a;transition:background .3s}
.app-team-card__social::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1.3rem;background:var(--app-color-muted-surface,#f4f5f6)}
.app-team-card__social-links{display:grid;gap:.25rem;justify-items:center;padding-bottom:2.6rem;transform:translateY(100%);transition:transform .3s}
.app-team-card__social-links a{color:#0077b5;padding:.6rem;opacity:.7}
.app-team-card__social:hover .app-team-card__social-links,.app-team-card__social:focus-within .app-team-card__social-links{transform:translateY(0)}
.app-team-card__social:hover .app-team-card__social-toggle{background:var(--primary)}

/* Tertiary surface, rounded panel and display-title section presentations. */
.app-general-section--surface-tertiary{--app-general-section-background:var(--tertiary,var(--dark));--app-general-section-foreground:var(--light);--app-general-section-muted:var(--light-rgba-80)}
.app-general-section--rounded-panel{position:relative;overflow:hidden;width:calc(100% - clamp(1rem,5vw,4rem));margin-inline:auto;border-radius:.75rem}
.app-general-section--display-title{overflow:hidden;padding-block:clamp(1.5rem,4vw,3rem) 0;text-align:center}
.app-general-section--display-title .app-general-section__heading{margin:0;justify-content:center}
.app-general-section--display-title .app-general-section__title{margin:0;white-space:nowrap;font-size:clamp(3.5rem,12vw,11rem);font-weight:600;letter-spacing:-.05em;line-height:1;color:var(--app-color-border,#e8eaec)}
/* Post card: image with date badge over it, then title, excerpt and read-more link. */
.app-post-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1.5rem}
.app-post-card{display:flex;flex-direction:column;overflow:hidden;border-radius:.5rem;background:var(--app-color-surface,#fff);box-shadow:0 .5rem 2rem rgba(0,0,0,.08);transition:transform .3s,box-shadow .3s}
.app-post-card:hover{transform:translateY(-10px);box-shadow:0 1rem 2.5rem rgba(0,0,0,.14)}
.app-post-card__media{position:relative}
.app-post-card__media img{display:block;width:100%;height:auto}
.app-post-card__date{position:absolute;top:.6rem;left:.6rem;z-index:1;padding:.25rem .5rem;font-size:.85rem;font-weight:700;color:var(--secondary,#212529);background:#fff}
.app-post-card__body{padding:1.5rem}
.app-post-card__title{margin:.5rem 0;font-size:1.2rem;line-height:1.3;text-transform:none;letter-spacing:0}
.app-post-card__title a{color:inherit;text-decoration:none}
.app-post-card__text{margin:0 0 .5rem}
.app-post-card__more{font-size:.85rem;font-weight:600;color:var(--secondary,inherit);text-decoration:none}

/* Media-card carousel image-top presentation: image, then title, summary and a detail link in a light body. */
.app-media-tile{display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:.5rem;background:var(--app-color-surface,#fff);color:var(--app-color-text,#212529);box-shadow:0 .5rem 2rem rgba(0,0,0,.18)}
.app-media-tile__image-link{display:block;overflow:hidden}
.app-media-tile__image{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .4s}
.app-media-tile:hover .app-media-tile__image{transform:scale(1.06)}
.app-media-tile__body{display:flex;flex:1;flex-direction:column;gap:.5rem;padding:1.5rem}
.app-media-tile__title{margin:0;font-size:1.1rem;line-height:1.3;text-transform:none;letter-spacing:0;color:inherit}
.app-media-tile__title a{color:inherit;text-decoration:none}
.app-media-tile__copy{margin:0;font-size:.9rem;line-height:1.6;color:inherit;opacity:.8}
.app-media-tile__more{margin-top:auto;padding-top:.5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;color:var(--secondary,inherit);text-decoration:none}
.app-general-section--display-title .app-general-column__title{margin:0;white-space:nowrap;font-size:clamp(3.5rem,12vw,11rem);font-weight:600;letter-spacing:-.05em;line-height:1;color:var(--app-color-border,#e8eaec);text-align:center}
.app-general-section .app-media-tile__title{font-size:1.1rem;line-height:1.3;text-transform:none;letter-spacing:0;color:inherit}

/* image-top tiles: Base thumb-info carousel bleeding off the right edge, controls below, hover-revealed link. */
.app-media-card-carousel-shell--tile { margin-left:0; margin-right:calc(50% - 50vw); padding-inline:0; display:flex; flex-direction:column; width:auto; max-width:none; overflow:hidden; }
.app-media-card-carousel-shell--tile .app-media-card-carousel__nav { order:2; position:static; transform:none; display:flex; gap:.65rem; margin-top:1.25rem; pointer-events:auto; }
.app-media-card-carousel-shell--tile .app-media-card-carousel__nav-button { position:static; width:54px; height:54px; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:transparent; color:#fff; }
.app-media-card-carousel-shell--tile .app-media-card-carousel__nav-button:not(:disabled):hover { background:var(--primary); border-color:var(--primary); }
.app-media-card-carousel-shell--tile .owl-stage-outer { overflow:visible; }
.app-media-card-carousel-shell--tile .app-media-card-carousel { padding-bottom:.5rem; }
.app-media-tile { position:relative; border-radius:.75rem; box-shadow:0 .75rem 2.5rem rgba(0,0,0,.14); }
.app-media-tile__image-link { position:relative; }
.app-media-tile__image-link::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,0) 45%, rgba(0,0,0,.65) 100%); }
.app-media-tile__image { aspect-ratio:16/9; }
.app-media-tile__body { padding:1.5rem 1.5rem 2.25rem; gap:0; }
.app-media-tile__title { font-size:1.3125rem; font-weight:600; line-height:1.25; margin-bottom:.5rem; color:#111; }
.app-media-tile__copy { font-size:.875rem; line-height:1.7; color: var(--app-color-muted, #555); opacity:1; }
.app-media-tile__more { position:absolute; left:1.5rem; right:1.5rem; bottom:0; margin:0; padding:.75rem 0; display:flex; align-items:center; justify-content:space-between; background:#fff; font-size:.8125rem; font-weight:600; text-decoration:underline; color:var(--secondary,#1f6b46); opacity:0; transform:translateY(8px); transition:opacity .25s, transform .25s; }
.app-media-tile__more .fa-arrow-right { display:inline-flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; margin:-.25rem -.5rem -.25rem 0; border-radius:50%; background:#fff; color:#111; box-shadow:0 .5rem 1.25rem rgba(0,0,0,.14); font-size:.8rem; }
.app-media-tile:hover .app-media-tile__more, .app-media-tile:focus-within .app-media-tile__more { opacity:1; transform:none; }
.mp-site .app-general-section h3.app-media-tile__title { font-size:1.3125rem !important; font-weight:600; line-height:1.25; letter-spacing:0; margin:0 0 .5rem; color:#111; }
.mp-site .app-general-section .app-media-tile__copy { font-size:.875rem; line-height:1.7; color: var(--app-color-muted, #555); opacity:1; margin:0; }
.mp-site .app-general-section .app-media-card-carousel-shell--tile { padding-left:0; padding-right:0; margin-top:1rem; }
.mp-site .app-media-card-carousel-shell--tile .owl-stage-outer { padding-left:0; }

/* listing-label-first: label above a large primary-colored value, hairline dividers (Base counters). */
.app-general-stat-listing--label-first { gap:0; }
.app-general-stat-listing--label-first .app-general-stat-listing__item { display:flex; flex-direction:column-reverse; padding:1.25rem 0; border-bottom:1px solid rgba(0,0,0,.1); }
.app-general-stat-listing--label-first .app-general-stat-listing__item:last-child { border-bottom:0; }
.app-general-stat-listing--label-first .app-general-stat-listing__label { margin:0; font-size:1.0625rem; font-weight:400; color:#111; }
.app-general-stat-listing--label-first .app-general-stat-listing__value { font-size:clamp(2.25rem,4.4vw,3.25rem); font-weight:700; color:var(--primary); letter-spacing:-.01em; }
@media(min-width:992px){.app-general-section--rounded-panel{width:calc(100% - 6rem)}}

/* Small left-aligned section heading, ghost display heading, post-card title (Base demo-accounting-1). */
.mp-site .app-general-section .app-general-content-flow--heading-sm > .app-general-column__title { font-size:1.75rem !important; letter-spacing:0 !important; font-weight:700 !important; line-height:1.2 !important; margin-bottom:1rem; }
.mp-site .app-general-section.app-general-section--display-title :is(.app-general-column__title,.app-general-section__title,.app-section-title) { font-size:clamp(3rem,10vw,9rem) !important; font-weight:600 !important; letter-spacing:-.05em !important; line-height:1 !important; color:#f1f2f3 !important; white-space:nowrap; margin:0; text-align:center; }
.app-general-section--display-title { margin-bottom:calc(clamp(3rem,10vw,9rem) * -.32); }
.app-general-section--display-title + .app-general-section { position:relative; z-index:1; }
.mp-site .app-general-section h3.app-post-card__title { font-size:1.1875rem !important; font-weight:600 !important; line-height:1.3 !important; letter-spacing:0 !important; margin:0 0 .5rem; color:#111; }
.mp-site .app-general-section .app-post-card__text { font-size:.875rem; line-height:1.7; color: var(--app-color-muted, #555); margin:0 0 .75rem; }

.mp-site .app-team-card h3.app-team-card__name { font-size:1.0625rem !important; line-height:1.3 !important; letter-spacing:0 !important; }

/* Services tiles: equal height, Base hover (image zoom, text slides up, link and arrow fade in), right-edge fade. */
.app-media-card-carousel-shell--tile .owl-stage { display:flex; }
.app-media-card-carousel-shell--tile .owl-item { display:flex; float:none; }
.app-media-card-carousel-shell--tile .owl-item > .app-media-tile { width:100%; }
.app-media-tile { overflow:hidden; }
.app-media-tile:hover .app-media-tile__image { transform:scale(1.1); }
.app-media-tile__body { position:relative; z-index:1; background:#fff; transition:transform .3s ease-out; }
.app-media-tile:hover .app-media-tile__body, .app-media-tile:focus-within .app-media-tile__body { transform:translateY(-3.125rem); }
.app-media-tile__more { top:100%; bottom:auto; left:1.5rem; right:1.5rem; height:3.125rem; padding:0; background:transparent; transform:none; transition:opacity .3s ease-out; }
.app-media-card-carousel-shell--tile::after { content:""; position:absolute; top:0; right:0; bottom:0; width:clamp(6rem,14vw,12.5rem); z-index:3; pointer-events:none; background:linear-gradient(to right, rgba(28,46,35,0) 0%, rgba(28,46,35,.82) 60%, var(--tertiary,#1c2e23) 100%); }
@media(max-width:767.98px){ .app-media-card-carousel-shell--tile::after { display:none; } }
.app-media-card-carousel-shell--tile .owl-item > div { display:flex; width:100%; }
.app-media-card-carousel-shell--tile .owl-item > div > .app-media-tile { width:100%; }
.app-media-card-carousel-shell--tile .row.px-4 { padding-left:0 !important; padding-right:0 !important; margin:0; }
.app-media-card-carousel-shell--tile .owl-stage { align-items:stretch !important; }
.app-media-card-carousel-shell--tile .owl-item { align-self:stretch !important; height:auto !important; }
.app-general-section.app-general-section--display-title { padding-top:0 !important; padding-bottom:0 !important; margin-top:-3rem; margin-bottom:calc(clamp(3rem,10vw,9rem) * -.72); }
.app-general-section--display-title > .container, .app-general-section--display-title .app-general-section__inner { padding-bottom:0; margin-bottom:0; }

/* Cascading media, porto-mask treatment: rounded first photo with a second photo clipped by the Base accounting-1 blob mask. */
.app-general-media-cascade--porto-mask { width: 100%; aspect-ratio: auto; padding: 40% 0 0 30%; margin: 0; }
.app-general-media-cascade--porto-mask .app-general-media-cascade__plane { display: none; }
.app-general-media-cascade--porto-mask > .app-general-media-cascade__image { position: relative; inset: auto; border: 0; box-shadow: none; aspect-ratio: auto; height: auto; }
.app-general-media-cascade--porto-mask > .app-general-media-cascade__image--1 { display: block; width: 100%; margin-left: -20%; border-radius: 0.5rem; }
.app-general-media-cascade--porto-mask > .app-general-media-cascade__image--2 {
  position: absolute; z-index: 2; top: calc(40% + 11%); left: calc(30% - 10%); width: 70%;
  -webkit-mask: url("/img/base/demos/accounting-1/generic/mask-image-3.png?v=a9f7ef3cb8f1635e") center / 100% no-repeat;
  mask: url("/img/base/demos/accounting-1/generic/mask-image-3.png?v=a9f7ef3cb8f1635e") center / 100% no-repeat;
}

/* Stacked (below lg) the second photo hangs below the cascade box; reserve that space so it never covers the following content. */
@media (max-width: 991.98px) { .app-general-column > .app-general-media-cascade--porto-mask { margin-bottom: 24%; } }

/* Action link list, arrowTone: dark (Base accounting-1 industries list: dark round arrow, compact bold label). */
.app-action-link-list--dark-arrow .app-action-link-list__item.btn strong { font-size: .875rem !important; letter-spacing: 0; }
.app-action-link-list--dark-arrow .app-action-link-list__items { gap: 1.5rem; }
.app-action-link-list--dark-arrow .app-action-link-list__item.btn { border-radius: 10px; box-shadow: 0 12px 45px rgba(0, 0, 0, .08); }
.app-action-link-list--dark-arrow .app-action-link-list__item.btn .app-action-link-list__arrow { background: #111 !important; }
.app-action-link-list--dark-arrow .app-action-link-list__item.btn .app-action-link-list__arrow i { color: #fff !important; }

/* Icon info (large): filled primary circle, small uppercase label and a dark link, as in the Base call-us feature box. */
.app-general-section .app-content-icon-info--large { gap: .75rem; margin-top: 1.5rem; }
.app-general-section .app-content-icon-info--large .feature-box-icon { display: inline-flex; align-items: center; justify-content: center; width: 3.375rem; height: 3.375rem; border-radius: 50%; background: var(--primary); box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.14); }
.app-general-section .app-content-icon-info--large .feature-box-icon i { color: #fff !important; font-size: 1.1rem; }
.app-general-section .app-content-icon-info--large .app-content-icon-info__title { margin: 0; font-size: .6875rem !important; font-weight: 700; letter-spacing: 0; text-transform: uppercase; color: var(--primary) !important; line-height: 1.2; }
.app-general-section .app-content-icon-info--large .app-content-icon-info__body p { margin: 0; }
.app-general-section .app-content-icon-info--large .app-content-icon-info__body a { color: #111; font-size: 1.25rem; font-weight: 600; letter-spacing: -.02em; text-decoration: none; }
.app-general-section .app-content-icon-info--large .app-content-icon-info__body a:hover { color: var(--primary); }

/* Stat group, callout presentation: large figure with trend icon, italic display label and supporting paragraph. */
.app-stat-callout { padding-top: 1rem; }
.app-stat-callout p { margin: 0; }
.app-stat-callout__value { display: flex; align-items: center; gap: 1rem; }
.app-stat-callout__value strong { font-size: clamp(2rem, 4vw, 3rem); line-height: 1; letter-spacing: -.05em; color: #111; font-family: var(--mp-font-headings, inherit); font-weight: 600; }
.app-stat-callout__icon { color: var(--primary); font-size: 1.75rem; }
.app-stat-callout__label { margin-top: .5rem !important; font-family: var(--mp-font-display, serif); font-style: italic; font-size: 1.5rem; letter-spacing: -.02em; color: #111; line-height: 1.2; }
.app-stat-callout__text { margin-top: .75rem !important; font-size: .875rem; line-height: 1.7; color: var(--mp-muted, #777); }

/* Stat group, icon-tiles presentation: centered icon over an uppercase label, three per row. */
.app-stat-icon-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 1rem; margin: 0; padding: 0; list-style: none; text-align: center; }
.app-stat-icon-tiles__item { display: flex; flex-direction: column; align-items: center; gap: .75rem; }
.app-stat-icon-tiles__icon { display: block; width: 4.5rem; aspect-ratio: 1; background-color: var(--primary); -webkit-mask: var(--app-tile-icon) center / contain no-repeat; mask: var(--app-tile-icon) center / contain no-repeat; }
.app-stat-icon-tiles__label { font-size: .6875rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: #111; }
@media (max-width: 575.98px) { .app-stat-icon-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* FAQ accordion, toggle-minimal presentation (Base toggle-minimal: hairline rows with a plus/minus marker). */
.app-general-faq--toggle-minimal .app-faq-toggle { border-bottom: 1px solid rgba(0,0,0,.08); }
.app-general-faq--toggle-minimal .app-faq-toggle__heading { margin: 0; font-size: 1rem !important; }
.app-general-faq--toggle-minimal .app-faq-toggle__title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; padding: 1.1rem 0; border: 0; background: transparent; color: #111; font-size: 1rem; font-weight: 600; text-align: left; letter-spacing: -.01em; }
.app-general-faq--toggle-minimal .app-faq-toggle__title::after { content: "\2212"; flex: none; font-size: 1.25rem; line-height: 1; color: #111; }
.app-general-faq--toggle-minimal .app-faq-toggle__title.collapsed::after { content: "+"; }
.app-general-faq--toggle-minimal .app-faq-toggle__content { padding: 0 0 1.25rem; font-size: .875rem; line-height: 1.7; }

.app-general-section--surface-quaternary{--app-general-section-background:var(--quaternary,#f7f0e7);--app-general-section-foreground:var(--dark,#111)}

.app-content-lead-in strong { color: var(--primary); font-size: 1.125rem; font-weight: 700; }
.app-stat-callout__image { display: block; width: 100%; height: auto; margin-bottom: 1rem; border-radius: .5rem; }
.mp-main-content .app-general-section--rounded-panel { width: 100%; }
.mp-main-content .app-general-section--rounded-panel .app-general-section__container { padding-inline: clamp(1.25rem, 3vw, 2.5rem); }

/* Check list (Base list-icons style 3): pale round marker with a check mark. */
.app-content-list-check { margin: 0 0 16px; padding: 0; list-style: none; }
.app-content-list-check li { position: relative; min-height: 36px; padding: 10px 0 0 46px; margin-bottom: 13px; font-size: 15.4px; line-height: 24px; }
.app-content-list-check li::before { content: "\f00c"; position: absolute; left: 0; top: 5px; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(17,17,17,.1); color: var(--secondary, #1f6b46); font-family: "Font Awesome 6 Free", "Font Awesome 5 Free"; font-weight: 900; font-size: 16.94px; }

/* Accordion modern-status, primary arrow tone. */
.accordion.accordion-modern-status.accordion-modern-status-arrow-primary > .card .card-header a:after { border-radius: 50%; background: var(--primary); width: 30px; text-align: center; height: 30px; line-height: 30px; color: #fff; }

/* Stat listing, display presentation: large figure over a soft primary highlight bar, italic display label below. */
.app-general-stat-listing--display { gap: 1.5rem; }
.app-general-stat-listing--display .app-general-stat-listing__value { display: inline-block; position: relative; z-index: 0; font-family: var(--mp-font-headings, inherit); font-size: clamp(2.75rem, 5vw, 3.75rem); font-weight: 700; letter-spacing: -.05em; line-height: 1; color: inherit; }
.app-general-stat-listing--display .app-general-stat-listing__value::after { content: ""; position: absolute; z-index: -1; left: 0; right: 0; bottom: .05em; height: 30%; background: color-mix(in srgb, var(--primary) 30%, transparent); }
.app-general-stat-listing--display .app-general-stat-listing__label { margin-top: .5rem; font-family: var(--mp-font-display, serif); font-style: italic; font-size: 1.5rem; letter-spacing: -.02em; color: inherit; }

/* Base document copy (opt-in): bold dark title, uppercase bold subheadings, compact lists. */
.app-general-content-flow--porto-document { min-width: 0; }
.mp-site .app-general-content-flow--porto-document > h2.app-general-column__title { font-size: 1.75rem !important; font-weight: 800 !important; line-height: 1.15 !important; letter-spacing: -.01em !important; margin-bottom: .75rem; color: #111; }
.mp-site .app-general-content-flow--porto-document > :is(h3.app-general-column__title, .app-content-subheading) { font-size: 1.125rem !important; font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: 0 !important; text-transform: uppercase; color: #111; margin: 2rem 0 .75rem; }
.app-general-content-flow--porto-document > p { margin-bottom: 1rem; }
.app-general-content-flow--porto-document .app-content-list { padding-inline-start: 1.25rem; margin-block: .75rem 1.25rem; }

/* Icon info (default size) inside page content: sentence-case bold label, muted copy. */
.app-general-section .app-content-icon-info--default { gap: 0; align-items: flex-start !important; }
.app-general-section .app-content-icon-info--default .feature-box-icon { flex: 0 0 43px; width: 43px; height: 43px; display: inline-flex; align-items: center; justify-content: center; margin: 0 !important; }
.app-general-section .app-content-icon-info--default .feature-box-icon i { font-size: 27.2px; color: #24a857; line-height: 1; }
.app-general-section .app-content-icon-info--default .app-content-icon-info__title { font-size: 19.6px !important; line-height: 27px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; color: #111 !important; letter-spacing: -.98px !important; margin: 0 0 8px; }
.app-general-section .app-content-icon-info--default .app-content-icon-info__body p { margin: 0 0 20px; letter-spacing: -.252px; font-size: 16.8px; line-height: 30.24px; color: var(--app-color-muted, #555); }
.app-general-section .app-content-icon-info--default .app-content-icon-info__body a { font-size: 21px; color: #24a857; text-decoration: none; }
.app-general-section:has(.app-general-content-flow--porto-document) .app-general-media--ratio-natural img { border-radius: 0; }

/* Team card grid (static, same card as the team carousel): three per row, two on small screens. */
.app-team-grid .app-lite-carousel-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; overflow: visible; }
.app-team-grid .app-team-card { flex: none; width: auto; min-width: 0; }
@media (max-width: 767.98px) { .app-team-grid .app-lite-carousel-track { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479.98px) { .app-team-grid .app-lite-carousel-track { grid-template-columns: minmax(0, 1fr); } }

/* FAQ modern-status: keep long questions clear of the round arrow marker. */
.accordion.app-general-faq--modern-status .card-header .accordion-toggle { padding-right: 4.25rem !important; }

/* Icon info presentation call-us (Base accounting-1 intro CTA): button, dash separator and a 59px secondary phone badge on one row. Sizes measured at 1400px. */
.app-general-content-flow:has(> .app-content-icon-info--call-us) { display: flex; flex-wrap: wrap; align-items: center; }
.app-general-content-flow:has(> .app-content-icon-info--call-us) > * { flex: 0 0 100%; }
.app-general-content-flow:has(> .app-content-icon-info--call-us) > :is(.app-button-row, .app-content-icon-info--call-us) { flex: 0 0 auto; width: auto; }
.app-general-section .app-content-icon-info--call-us { margin-top: 1rem; gap: 0; }
@media (min-width: 992px) { .app-general-section .app-content-icon-info--call-us { margin-top: 0; } .app-general-section .app-button-row + .app-content-icon-info--call-us::before { content: "-"; padding: 0 1rem; font-size: 1.05rem; color: var(--app-color-muted, #555); } .app-general-content-flow:has(> .app-content-icon-info--call-us) { padding-top: 1rem; } }
.app-general-section .app-content-icon-info--call-us .feature-box-icon { width: 59px; height: 59px; background: var(--secondary, #1f6b46); box-shadow: 0 5px 20px rgba(0, 0, 0, .1); }
.app-general-section .app-content-icon-info--call-us .feature-box-icon i { display: none; }
.app-general-section .app-content-icon-info--call-us .feature-box-icon::before { content: ""; width: 30px; height: 30px; background: #fff; -webkit-mask: url("/img/base/icons/phone-2.svg?v=a2e0a1f2f0435739") center / contain no-repeat; mask: url("/img/base/icons/phone-2.svg?v=a2e0a1f2f0435739") center / contain no-repeat; }
.app-general-section .app-content-icon-info--call-us .app-content-icon-info__body { padding-left: 8px; }
.app-general-section .app-content-icon-info--call-us .app-content-icon-info__title { display: block; position: relative; top: 2px; margin: 0; font-size: .875rem !important; line-height: 26px; font-weight: 700; text-transform: uppercase; color: var(--secondary, #1f6b46) !important; letter-spacing: normal; }
.app-general-section .app-content-icon-info--call-us .app-content-icon-info__body a { position: relative; bottom: 2px; font-size: 1.3125rem; line-height: 26px; font-weight: 600; letter-spacing: -.05em; color: #111; white-space: nowrap; }
.app-general-section .app-content-icon-info--call-us .app-content-icon-info__body a:hover { color: var(--primary); }
.app-media-tile__more { font-size: .875rem !important; line-height: 26px; }

/* Content flow width (opt-in): constrain the reading measure to a share of the column; centered when align is center. */
.app-general-content-flow--width-sm { max-width: 50%; }
.app-general-content-flow--width-md { max-width: 75%; }
.app-general-content-flow--width-lg { max-width: 90%; }
.app-general-content-flow--width-sm.app-general-content-flow--align-center, .app-general-content-flow--width-md.app-general-content-flow--align-center, .app-general-content-flow--width-lg.app-general-content-flow--align-center { margin-inline: auto; }
@media (max-width: 991.98px) { :is(.app-general-content-flow--width-sm, .app-general-content-flow--width-md, .app-general-content-flow--width-lg) { max-width: none; } }

/* Paragraph role inset: keeps long intro copy off the right edge of its column (Base pe-lg-5). */
@media (min-width: 992px) { .app-general-content-flow > p.app-content-inset { padding-right: 3rem; } }

/* Static media tile grid (Base thumb-info on the services overview): 3:2 image, 4px radius, even 24px body padding. */
.app-media-tile-grid .app-media-tile { border-radius: 4px; }
.app-media-tile-grid .app-media-tile__image { aspect-ratio: 3 / 2; border-radius: 3px; }
.app-media-tile-grid .app-media-tile__body { padding: 1.5rem; }

/* Base detail document (accounting-1 services detail main column). Values measured on the original at 1400px. */
.mp-site .app-general-section .app-general-content-flow--porto-heading > h2.app-general-column__title { font-size: 28px !important; line-height: 1 !important; font-weight: 600 !important; letter-spacing: -.05em !important; margin-bottom: 24px; }
.mp-main-content .app-content-lead-in strong { font-size: 21.6px; line-height: 1.8; }
.mp-main-content .app-general-content-flow .app-content-list > li { color: var(--app-color-muted, #777); }
/* Stat callout */
.app-stat-callout__value strong { font-size: 49px; line-height: 26px; font-weight: 700; letter-spacing: -.07em; }
.app-stat-callout__label { font-size: 28px; line-height: 26px; letter-spacing: -.0357em; margin-top: 16px !important; }
.app-stat-callout__text { font-size: 1.15rem; line-height: 2; letter-spacing: 0; color: var(--app-color-muted, #555); }
/* Collateral panel (quaternary rounded panel with icon tiles) */
.mp-main-content .app-general-section--surface-quaternary > .app-general-section__container { padding: 8px 28px 0; }
.mp-main-content .app-general-section--surface-quaternary .app-general-content-flow--porto-heading > h2.app-general-column__title { font-size: 35px !important; line-height: 1 !important; font-weight: 600 !important; letter-spacing: -.05em !important; color: #111; margin-bottom: 24px; }
.mp-main-content .app-stat-icon-tiles { gap: 0 24px; }
.mp-main-content .app-stat-icon-tiles__item { gap: 0; padding-bottom: 24px; }
.mp-main-content .app-stat-icon-tiles__icon { width: 105px; }
.mp-main-content .app-stat-icon-tiles__label { margin-top: 0; margin-bottom: 14px; font-family: var(--mp-font-headings, "Lexend", sans-serif); font-size: 14px; font-weight: 600; letter-spacing: -.05em; line-height: 18px; }
/* Accordion cards and FAQ toggles */
.mp-main-content .accordion-modern-status .accordion-toggle { color: #111 !important; }
.app-general-faq--toggle-minimal .app-faq-toggle__title { font-family: var(--mp-font-body, "Poppins", sans-serif); font-size: 16.8px; line-height: 26px; letter-spacing: -.012em; color: #111; padding: 12px 35px 12px 0; }
.app-general-faq--toggle-minimal .app-faq-toggle__heading { font-size: 16.8px !important; }
@media (min-width: 992px) {
  .mp-main-content .app-general-section__grid:has(> .app-general-column--stat-group .app-stat-callout) { grid-template-columns: 1.948fr 1fr; column-gap: 60px; }
  .mp-main-content .app-general-section__grid:has(> .app-general-column--stat-group .app-stat-callout) > .app-general-column { grid-column: auto; }
}
.mp-main-content .app-stat-callout .app-stat-callout__label { line-height: 26px; }
.mp-main-content .app-stat-callout .app-stat-callout__text { font-size: 1.15rem; line-height: 2; color: var(--app-color-muted, #555); margin: 8px 0 0 !important; }

/* Detail pages: no extra grid gap between a heading section and the component under it (Base spacing is the heading's own 24px margin). */
.mp-main-content .app-general-section__grid { row-gap: 0; }
.app-general-faq--toggle-minimal .app-faq-toggle { margin-top: 10px; padding-bottom: 10px; }
.mp-site .app-general-faq--toggle-minimal .app-faq-toggle__heading { margin: 0 !important; }

/* Sidebar detail pages: Base stacks rows with a 48px top margin (mt-5) and no extra section padding. */
.mp-sidebar-layout:has(.app-aside-card--panel-list) .mp-main-content > .app-general-section > .app-general-section__container { padding-block: 0; }
.mp-sidebar-layout:has(.app-aside-card--panel-list) .mp-main-content > .app-general-section + .app-general-section { margin-top: 48px; }
.mp-main-content .app-stat-callout__image { margin-bottom: 8px; border-radius: 10px; }
.mp-main-content .app-stat-callout__value { margin-top: 24px; min-height: 68px; }
.mp-main-content .app-stat-callout__icon { display: inline-block; width: 48px; height: 28px; margin-left: 12px; padding: 0; font-size: 0; color: transparent; background-color: var(--primary); -webkit-mask: url("/assets/img/icons/trend-up.svg") center / contain no-repeat; mask: url("/assets/img/icons/trend-up.svg") center / contain no-repeat; }
.mp-main-content .app-stat-callout__icon::before { content: none; }
.mp-sidebar-layout:has(.app-aside-card--panel-list) .mp-main-content > .app-general-section--surface-quaternary + .app-general-section { margin-top: 66px; }
.mp-main-content .app-stat-callout { padding-top: 0; }
.mp-main-content .app-stat-callout__icon { margin-left: 0; }
.mp-main-content .app-stat-callout .app-stat-callout__label { line-height: 32px; }
.mp-main-content .app-general-section--surface-quaternary > .app-general-section__container { padding-top: 24px; }

/* Contact form split (Base accounting-1 contact): eyebrow + large title above a 7/5 grid of form and rail (stat, dark explore card, quick reply). Measured at 1400px. */
.app-contact-split { padding-block: 0 4rem; }
.app-contact-split__head { padding-top: 3.5rem; }
.app-contact-split__head .app-section-eyebrow { display: inline-block; margin: 0 0 1.5rem; }
.app-contact-split .app-contact-split__title { margin: 0 0 1.5rem; font-size: 3.5rem !important; line-height: 1; font-weight: 600; letter-spacing: -.05em; color: #111; text-align: left; }
.app-contact-split__grid { display: grid; gap: 2rem 24px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 992px) { .app-contact-split__grid { grid-template-columns: minmax(0, 641fr) minmax(0, 451fr); } }
.app-form-split .app-form { padding-top: 1rem; box-shadow: none; background: transparent; border: 0; padding-inline: 0; }
.app-form-split .app-form-fields { gap: 1rem 24px; }
.app-form-split .app-form-field { gap: 0; }
.app-form-split .app-form-field > label { margin-bottom: 4px; font-size: .9rem; line-height: 26px; font-weight: 700; text-transform: uppercase; color: #111; }
.app-form-split .app-form :is(input, select, textarea) { padding: 8px 12px; border: 2px solid #ddd; border-radius: 4px; font-size: .9rem; line-height: 1.5; background: #fff; color: #333; }
.app-form-split .app-form-status { margin: 0; }
.app-form-split__submit { margin-top: 1rem; }
.app-contact-split__stat { display: flex; align-items: center; padding: .5rem 0 1.5rem; margin-top: .25rem; }
.app-contact-split__stat mark { padding: 0; background: linear-gradient(to top, var(--primary-rgba-30, rgba(36,168,87,.3)) 0 38%, transparent 38%); color: #111; font-family: var(--mp-font-display, Lexend, sans-serif); font-size: 3.75rem; line-height: 1; font-weight: 700; letter-spacing: -.05em; }
.app-contact-split__stat span { padding-left: .5rem; font-family: var(--mp-font-display, Georgia, serif); font-style: italic; font-size: 1.5rem; line-height: 26px; letter-spacing: -1px; color: #111; max-width: 11rem; }
.app-contact-split__explore { display: flex; flex-direction: column; margin-top: 1rem; overflow: hidden; border-radius: 4px; background: var(--secondary, #1f6b46); text-align: center; color: #fff; }
.app-contact-split__explore-title { display: block; padding: 24px 48px; font-size: 1rem; line-height: 26px; font-weight: 500; text-transform: uppercase; background: linear-gradient(to right, rgba(0,0,0,.28), transparent 70%); }
.app-contact-split__explore a { display: block; padding: 8px 35px; margin: 12px 16px 0; font-size: 1.1rem; line-height: 1.5; font-weight: 500; color: #fff; text-decoration: none; }
.app-contact-split__explore a:last-child { margin-bottom: 12px; }
.app-contact-split__explore a i { margin-left: .5rem; font-size: .8em; }
.app-contact-split__explore a:hover { color: #fff; opacity: .85; }
.app-contact-split__reply { padding-top: 1.75rem; }
.app-contact-split__reply span { display: inline-block; padding: 8px 16px; border: 1px solid #e5e5e5; border-radius: 800px; background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.06); font-size: .9rem; line-height: 1; font-weight: 600; text-transform: uppercase; color: #111; letter-spacing: -.05em; }
.app-contact-split__reply p { margin: .5rem 0 0; font-size: 1.1rem; line-height: 1.8; color: #111; letter-spacing: -.015em; }

/* Icon info presentation contact-option (Base accounting-1 contact page): 59px secondary circle with a 30px light line icon, bold title and grey 15.4px lines with underlined secondary links. Measured at 1400px. */
.app-general-section .app-content-icon-info--contact-option { align-items: flex-start !important; margin-bottom: 32px; }
.app-general-section .app-content-icon-info--contact-option .feature-box-icon { flex: 0 0 59px; width: 59px; height: 59px; background: var(--secondary, #1f6b46); box-shadow: 0 5px 20px rgba(0, 0, 0, .1); }
.app-general-section .app-content-icon-info--contact-option .feature-box-icon i { display: none; }
.app-general-section .app-content-icon-info--contact-option .feature-box-icon::before { content: ""; width: 30px; height: 30px; background: #fff; -webkit-mask: var(--app-option-icon) center / contain no-repeat; mask: var(--app-option-icon) center / contain no-repeat; }
.app-general-section .app-content-icon-info--contact-option:has(.fa-map-marker-alt) { --app-option-icon: url("/img/base/icons/pin-light.svg?v=c323a2fd32eb63a8"); }
.app-general-section .app-content-icon-info--contact-option:has(.fa-phone-alt) { --app-option-icon: url("/img/base/icons/phone-2.svg?v=a2e0a1f2f0435739"); }
.app-general-section .app-content-icon-info--contact-option:has(.fa-at) { --app-option-icon: url("/img/base/icons/email.svg?v=77628060bc30ceeb"); }
.app-general-section .app-content-icon-info--contact-option .app-content-icon-info__body { padding-left: 16px; }
.app-general-section .app-content-icon-info--contact-option .app-content-icon-info__title { display: block; margin: 0 0 4px; font-size: 18.9px !important; line-height: 26px; font-weight: 700; text-transform: none; letter-spacing: normal; color: #111 !important; }
.app-general-section .app-content-icon-info--contact-option .app-content-icon-info__body p { margin: 0; font-size: 1.15rem; line-height: 2; letter-spacing: 0; color: var(--app-color-muted, #555); }
.app-general-section .app-content-icon-info--contact-option .app-content-icon-info__body p a { font-size: inherit; line-height: inherit; font-weight: 600; letter-spacing: inherit; color: var(--secondary, #1f6b46); text-decoration: underline; }
.app-general-section .app-content-icon-info--contact-option .app-content-icon-info__body p a:hover { color: var(--primary); }
.app-general-section .app-content-icon-info--contact-option .app-content-icon-info__body p + p:has(a:only-child) { padding-bottom: 1rem; }
.app-general-section .app-content-icon-info--contact-option .app-content-icon-info__body p:last-child:has(a:only-child) { padding-bottom: 1rem; }
.app-contact-split .app-contact-split__title { font-size: 49px !important; letter-spacing: -2.45px; }
.app-contact-split__stat mark { font-family: var(--mp-font-headings, Lexend, sans-serif); }

.app-general-section .app-content-icon-info--contact-option .feature-box-icon { margin: 0; }
.app-form-split .app-form-field > label { font-size: 12.6px; }
.app-form-split .app-form :is(input, select, textarea) { font-size: 12.6px; }
.app-form-split__submit { font-family: var(--mp-font-headings); font-size: 14.4px; }
.app-contact-split__stat mark { font-family: var(--mp-font-body); font-size: 80px; line-height: 80px; letter-spacing: -3.5px; }
.app-contact-split__stat span { font-size: 25.2px; }
.app-contact-split__explore-title { font-size: 14px; }
.app-contact-split__explore a { font-family: var(--mp-font-headings); font-size: 15.4px; line-height: 23.1px; }

.app-general-section .app-content-icon-info--contact-option { gap: 0; }
.app-contact-split__explore a { display: inline-block; align-self: center; margin: 12px 16px 0; }
.app-contact-split__reply span { font-family: var(--mp-font-headings); font-size: 12.6px; letter-spacing: -.63px; }
.app-contact-split__reply p { font-size: 1.15rem; line-height: 2; letter-spacing: 0; }

/* Per-edge section spacing overrides (opt-in spacingTop / spacingBottom). */
.app-general-section.app-general-section--pt-none .app-general-section__container { padding-top: 0; }
.app-general-section.app-general-section--pb-none .app-general-section__container { padding-bottom: 0; }
.app-general-section.app-general-section--pt-sm .app-general-section__container { padding-top: clamp(1.5rem, 3vw, 2.5rem); }
.app-general-section.app-general-section--pb-sm .app-general-section__container { padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.app-general-section.app-general-section--pt-md .app-general-section__container { padding-top: clamp(2.5rem, 5vw, 4rem); }
.app-general-section.app-general-section--pb-md .app-general-section__container { padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.app-general-section.app-general-section--pt-lg .app-general-section__container { padding-top: clamp(3.5rem, 7vw, 6rem); }
.app-general-section.app-general-section--pb-lg .app-general-section__container { padding-bottom: clamp(3.5rem, 7vw, 6rem); }
.app-general-section.app-general-section--pt-xl .app-general-section__container { padding-top: clamp(5rem, 9vw, 8rem); }
.app-general-section.app-general-section--pb-xl .app-general-section__container { padding-bottom: clamp(5rem, 9vw, 8rem); }
.app-contact-split .app-contact-split__title { line-height: 49px; }
.app-form-split .app-form-fields { row-gap: 24px; }
.app-contact-split__stat { margin-top: 46px; padding-bottom: 0; }
.app-contact-split__explore { margin-top: 1px; }
.app-form-split .app-form :is(input, select, textarea) { font-size: 14px; line-height: 26px; border-color: #eaeaea; border-radius: 10px; }
.app-form-split .app-form-split__submit.btn { padding: 16px 35.2px; border-radius: 35px; background: #111; border-color: #111; color: #fff; line-height: 21.6px; }
.app-form-split .app-form-split__submit i { margin-left: .5rem; }
.app-contact-split .app-contact-split__title { line-height: 49px !important; }
.app-form-split .app-form-fields { row-gap: 17px; }
.app-form-split__submit { margin-top: 5px; }
.app-contact-split .app-contact-split__explore a:last-child { margin-bottom: 24px; }
.app-contact-split .app-contact-split__reply p { font-size: 1.15rem !important; line-height: 2 !important; letter-spacing: 0; }
.app-contact-split__stat span { max-width: none; white-space: nowrap; }
.app-contact-split__stat mark { font-weight: 600; }
.app-contact-split__stat { margin-top: 33px; }
.app-contact-split__explore { margin-top: 14px; }
.app-contact-split__stat span { max-width: 150px; white-space: normal; font-size: 21px; }
.app-contact-split__stat span { max-width: 180px; font-size: 25.2px; }
.app-contact-split__stat mark { font-weight: 700; }
.app-contact-split__head { padding-top: 50px; }
.app-contact-split__stat { margin-top: 27px; }
.app-contact-split__explore { margin-top: 20px; }
.app-contact-split__reply { padding-top: 40px; }

/* Error page simple presentation (Base accounting-1 error pages): large bold status heading and one sentence. */
.app-error-simple { padding: 0; }
.app-error-simple .app-error-simple__code { margin: 0 0 1.5rem; font-size: 70px !important; line-height: 1; font-weight: 700; letter-spacing: -.05em; color: #111; }

/* Legal document (Base accounting-1 privacy/terms): 12px inner gutter, 28px extra-bold title, 25.2px uppercase bold headings, grey 16px copy. Measured at 1400px. */
.app-general-content-flow--porto-legal { min-width: 0; padding-inline: 12px; padding-top: 1rem; }
.mp-site .app-general-content-flow--porto-legal > h2.app-general-column__title { margin: 0 0 8px; font-size: 28px !important; font-weight: 800 !important; line-height: 42px !important; letter-spacing: -1.4px !important; color: #111; }
.mp-site .app-general-content-flow--porto-legal > :is(h3.app-general-column__title, .app-content-subheading) { margin: 24px 0 8px; font-size: 25.2px !important; font-weight: 700 !important; line-height: 24px !important; letter-spacing: -1.26px !important; text-transform: uppercase; color: #111; }
.app-general-content-flow--porto-legal > p { margin: 0 0 20px; font-size: 1.15rem; line-height: 2; letter-spacing: 0; color: var(--app-color-muted, #555); }
.mp-site .app-general-content-flow--porto-legal > :is(h3.app-general-column__title, .app-content-subheading) { margin-top: 44px; }
.app-error-simple .app-error-simple__code { font-size: 63px !important; line-height: 63px; letter-spacing: -3.15px; margin-bottom: 24px; }
.app-error-simple p { font-size: 1.15rem; line-height: 2; letter-spacing: 0; color: var(--app-color-muted, #555); }
.mp-site .app-error-simple { padding-top: 24px; }
.mp-site .app-error-simple .app-error-simple__code { font-weight: 700 !important; line-height: 63px !important; }
.mp-site .app-error-simple p { font-size: 1.15rem !important; line-height: 2 !important; color: var(--app-color-muted, #555) !important; }
.app-general-content-flow--porto-legal { padding-top: 24px; }

/* Post card measured on Base accounting-1 news at 1400px. */
.mp-site .app-general-section h3.app-post-card__title { font-size: 19.6px !important; line-height: 27px !important; }
.mp-site .app-general-section .app-post-card__text { font-size: 1.15rem; line-height: 2; letter-spacing: 0; }
.mp-site .app-general-section .app-post-card__more { font-size: 12.6px; line-height: 26px; }
.mp-site .app-general-section .app-post-card__date { line-height: 26px; padding-block: 0; }

/* Article body (Base accounting-1 news article): 30.8px bold title, 16px copy, 25.2px regular uppercase headings, green uppercase date line. */
.app-general-content-flow--porto-article { min-width: 0; }
.mp-site .app-general-content-flow--porto-article > h2.app-general-column__title { margin: 25px 0 20px; font-size: 30.8px !important; font-weight: 700 !important; line-height: 42px !important; letter-spacing: -1.54px !important; color: #111; }
.mp-site .app-general-content-flow--porto-article > :is(h3.app-general-column__title, .app-content-subheading) { margin: 0 0 33px; font-size: 25.2px !important; font-weight: 400 !important; line-height: 24px !important; letter-spacing: -1.26px !important; text-transform: uppercase; color: #111; }
.app-general-content-flow--porto-article > p { margin: 0 0 20px; font-size: 1.15rem; line-height: 2; letter-spacing: 0; color: var(--app-color-muted, #555); }
.app-general-content-flow--porto-article > p a { color: var(--primary, #24a857); }
.mp-site .app-general-content-flow--porto-article > .app-content-metadata { margin: 0 0 16px; font-size: 14px; font-weight: 600; line-height: 25.2px; letter-spacing: -.21px; text-transform: uppercase; color: var(--secondary, #1f6b46); }

/* Natural-ratio media: show the whole image (no 4:3 crop), 10px radius, no shadow (Base article post image). */
.app-general-media--ratio-natural img { aspect-ratio: auto; height: auto; border-radius: 10px; box-shadow: none; }
.app-general-media--ratio-natural { padding-bottom: 25px; }
.mp-site .app-general-content-flow--porto-article > p.app-content-metadata { margin: 0 0 16px; font-size: 14px !important; font-weight: 600; line-height: 25.2px !important; letter-spacing: -.21px; text-transform: uppercase; color: var(--secondary, #1f6b46) !important; }
.mp-site .app-general-section .app-general-content-flow--porto-article > p.app-content-metadata { margin: 0 0 16px; font-size: 14px !important; line-height: 25.2px !important; }
.mp-site .app-general-section:is(:has(.app-general-content-flow--porto-article), :has(.app-general-media--ratio-natural)) { margin-top: 0 !important; }
.mp-site .app-general-section .app-general-content-flow--porto-article > p.app-content-metadata:not(.app-section-eyebrow):not(.app-content-lead-in-label) { font-size: 14px !important; line-height: 25.2px !important; letter-spacing: -.21px; }
.app-general-media--ratio-natural { padding-bottom: 0; }
.mp-site .app-general-content-flow--porto-article > h2.app-general-column__title { margin: 25px 0 32px; }
.mp-sidebar-layout:has(.app-aside-card--panel-list) .mp-main-content > .app-general-section:has(.app-general-content-flow--porto-legal) + .app-general-section { margin-top: 0; }
.mp-site .app-general-content-flow--porto-legal > :is(h3.app-general-column__title, .app-content-subheading):first-child { margin-top: 24px; }
.mp-main-content .app-general-section:has(.app-general-content-flow--porto-legal) + .app-general-section .accordion-modern-status .card-body p { font-size: 1.3rem; line-height: 2; letter-spacing: 0; color: var(--app-color-muted, #555); }

/* Location blocks (porto-document title above a natural-ratio image): tighter display title. */
.mp-site .app-general-section:has(.app-general-media--ratio-natural) .app-general-content-flow--porto-document > h2.app-general-column__title { line-height: 42px !important; letter-spacing: -1.4px !important; margin-bottom: 0; }
.mp-site .mp-main-content .app-general-section:has(.app-content-icon-info--default) { padding-bottom: 43px; }

/* Base list-icons inside legal-style copy: small green check, large uppercase check, bold-label rows. */
.app-general-content-flow--porto-legal .app-content-list-icons,
.app-general-content-flow--porto-legal .app-content-list-check-filled,
.app-general-content-flow--porto-legal .app-content-list-unstyled-emphasis { margin: 0 0 20px; padding: 0 0 4px; list-style: none; }
.app-general-content-flow--porto-legal :is(.app-content-list-icons, .app-content-list-check-filled) li { position: relative; padding: 0 0 0 25px; margin: 0 0 13px; font-size: 14px !important; line-height: 24px !important; color: var(--app-color-muted, #555); }
.app-general-content-flow--porto-legal :is(.app-content-list-icons, .app-content-list-check-filled) li::before { content: "\f00c"; position: absolute; left: 0; top: 5px; font-family: "Font Awesome 6 Free", "Font Awesome 5 Free"; font-weight: 900; font-size: 14px; line-height: 14px; color: #24a857; }
.app-general-content-flow--porto-legal .app-content-list-check-filled li { margin-bottom: 33px; font-size: 25.2px !important; line-height: 24px !important; letter-spacing: -1.26px !important; text-transform: uppercase; color: #111 !important; font-family: var(--mp-font-headings, inherit) !important; }
.app-general-content-flow--porto-legal .app-content-list-check-filled li::before { top: 0; font-size: 25.2px; line-height: 24px; color: #111; }
.app-general-content-flow--porto-legal .app-content-list-unstyled-emphasis li { margin: 0; padding: 8px 0 4px; font-size: 14px !important; line-height: 24px !important; font-weight: 400; color: var(--app-color-muted, #555); }
.app-general-content-flow--porto-legal .app-content-list-unstyled-emphasis li strong { display: block; font-size: 14px !important; font-weight: 700; }
.mp-site .mp-main-content .app-general-content-flow.app-general-content-flow--porto-legal .app-content-list.app-content-list-icons > li,
.mp-site .mp-main-content .app-general-content-flow.app-general-content-flow--porto-legal .app-content-list.app-content-list-unstyled-emphasis > li { font-size: 14px !important; line-height: 24px !important; letter-spacing: 0 !important; }
.mp-site .mp-main-content .app-general-content-flow.app-general-content-flow--porto-legal .app-content-list.app-content-list-check-filled > li { font-size: 25.2px !important; line-height: 24px !important; letter-spacing: -1.26px !important; }
.mp-site .mp-main-content .app-general-content-flow.app-general-content-flow--porto-legal .app-content-list.app-content-list-unstyled-emphasis > li { padding: 8px 0 4px !important; }
.mp-site .mp-main-content .app-general-content-flow.app-general-content-flow--porto-legal .app-content-list:is(.app-content-list-icons, .app-content-list-check-filled) > li { padding: 0 0 0 25px !important; margin-bottom: 13px !important; }
.mp-site .mp-main-content .app-general-content-flow.app-general-content-flow--porto-legal .app-content-list.app-content-list-check-filled > li { margin-bottom: 33px !important; font-family: var(--mp-font-headings, inherit) !important; }
.mp-site .mp-main-content .app-general-content-flow.app-general-content-flow--porto-legal .app-content-list.app-content-list-check-filled { padding-left: 25px; }
.mp-site .mp-main-content .app-general-content-flow.app-general-content-flow--porto-legal .app-content-list.app-content-list-check-filled > li { padding-left: 27px !important; }
.mp-site .mp-main-content .app-general-content-flow.app-general-content-flow--porto-legal .app-content-list.app-content-list-check-filled > li { font-weight: 400 !important; }

/* Team bio (porto-document column with inline-detail rows): light display name, indented role, compact icon rows, framed photo. */
.mp-site .app-general-content-flow--porto-document:has(.app-content-icon-info--inline-detail) > h2.app-general-column__title { font-size: 36.4px !important; font-weight: 200 !important; line-height: 44px !important; letter-spacing: -1.82px !important; margin: 0; }
.mp-site .app-general-content-flow--porto-document:has(.app-content-icon-info--inline-detail) > p:nth-of-type(1) { margin: 0 0 0 24px; padding-top: 4px; font-size: 18.9px; line-height: 34.02px; letter-spacing: -.2835px; }
.mp-site .app-general-content-flow--porto-document:has(.app-content-icon-info--inline-detail) > p:nth-of-type(2) { margin: 8px 0 20px 24px; }
.app-general-section .app-content-icon-info--inline-detail { display: block; position: relative; padding-left: 25px; margin: 0 0 13px; }
.app-general-section .app-content-icon-info--inline-detail .feature-box-icon { position: absolute; left: 0; top: 5px; width: auto; height: auto; margin: 0 !important; }
.app-general-section .app-content-icon-info--inline-detail .feature-box-icon i { font-size: 14px; line-height: 14px; color: #24a857; }
.app-general-section .app-content-icon-info--inline-detail .app-content-icon-info__body { display: block; padding: 0; }
.app-general-section .app-content-icon-info--inline-detail .app-content-icon-info__title { display: inline; margin: 0 4px 0 0; font-size: 14px !important; line-height: 24px !important; font-weight: 700 !important; letter-spacing: 0 !important; color: var(--app-color-muted, #555) !important; }
.app-general-section .app-content-icon-info--inline-detail .app-content-icon-info__body p { display: inline; margin: 0; font-size: 14px; line-height: 24px; letter-spacing: 0; color: var(--app-color-muted, #555); }
.app-general-section .app-content-icon-info--inline-detail .app-content-icon-info__body a { font-size: 14px; }
.app-general-section .app-content-icon-info--inline-detail .app-content-icon-info__body:not(:has(a)) .app-content-icon-info__title { display: block; margin: 0; }
.app-general-section:has(.app-content-icon-info--inline-detail) .app-general-media--single { position: relative; max-width: 324px; margin-inline: auto; }
.app-general-section:has(.app-content-icon-info--inline-detail) .app-general-media--single::after { content: ""; display: block; height: 50px; background: #f4f4f4; }
.app-general-section:has(.app-content-icon-info--inline-detail) .app-general-media--single::before { content: "\f1e0"; position: absolute; right: 22px; bottom: 28px; z-index: 1; width: 42px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 50px; background: #58605a; color: #fff; font: 900 14px/1 "Font Awesome 6 Free", "Font Awesome 5 Free"; }
.mp-site .mp-main-content .app-general-content-flow--porto-document:has(.app-content-icon-info--inline-detail) > h2.app-general-column__title { font-weight: 200 !important; }
.mp-site .app-general-section .app-content-icon-info--inline-detail .feature-box-icon { position: absolute !important; left: 0; top: 5px; }
.mp-site .app-general-section:has(.app-content-icon-info--inline-detail) .app-general-media--single img { border-radius: 0 !important; box-shadow: none !important; }
.mp-site .mp-main-content .app-general-content-flow--porto-document:has(.app-content-icon-info--inline-detail) > h2.app-general-column__title { line-height: 44px !important; letter-spacing: -1.82px !important; }
.mp-site .mp-main-content .app-general-section:has(.app-content-icon-info--inline-detail) { padding-top: 20px; padding-bottom: 0; }
.mp-site .mp-main-content .app-general-section:has(.app-content-icon-info--inline-detail) + .app-general-section { margin-top: 24px; }
.mp-site .app-general-section .app-content-icon-info--inline-detail .feature-box-icon { padding: 0 !important; width: 14px !important; height: 24px !important; display: flex; align-items: center; top: 0; background: none; box-shadow: none; }
.mp-site .app-general-section .app-content-icon-info--inline-detail .feature-box-icon i { font-size: 14px !important; line-height: 14px !important; }

/* Advantage band (rounded-panel with modern-status accordion and display stats): measured px copy of the Base original. */
.mp-site .app-general-section--rounded-panel .accordion-modern-status .card-body p { font-size: 1.3rem !important; line-height: 2 !important; letter-spacing: 0 !important; color: var(--app-color-muted, #555) !important; }
.mp-site .app-general-section--rounded-panel .accordion-modern-status .card-title a { color: #111 !important; }
.mp-site .app-general-section--rounded-panel .app-general-stat-listing--display .app-general-stat-listing__label { font-size: 25.2px; line-height: 26px; letter-spacing: -1px; padding-top: 8px; margin-top: 0; }
.mp-site .app-general-section--rounded-panel:has(.accordion-modern-status) .app-general-section__container { padding-top: calc(4rem + 8px); padding-bottom: calc(4rem + 73px); }
.mp-site .app-general-section--rounded-panel:has(.accordion-modern-status) .app-general-content-flow > .app-general-column__title { margin-bottom: 15px; }
.mp-site .app-general-section--rounded-panel:has(.accordion-modern-status) .app-general-stat-listing--display { gap: 52px; }
.mp-site .app-general-section:has(.app-general-media-cascade):has(+ .app-general-section--rounded-panel .accordion-modern-status) { padding-top: 19px; padding-bottom: 3px; }
.mp-site .app-general-section:has(.app-general-media-cascade):has(+ .app-general-section--rounded-panel .accordion-modern-status) .app-general-content-flow { padding-left: 12px; padding-right: 0; }
.mp-site .app-general-section--rounded-panel:has(.accordion-modern-status) + .app-general-section { padding-top: 22px; padding-bottom: 47px; }
.mp-site .app-action-link-list--dark-arrow .app-action-link-list__item.btn { border-radius: 10px !important; }

/* Deal list (home "Recent Deals") and deal thumb cards (deals library) */
.app-deal-list{display:flex;flex-direction:column}
.app-deal-list__item{position:relative;display:flex;gap:1rem;padding:1.5rem 0 2rem;border-bottom:1px solid rgba(0,0,0,.12)}
.app-deal-list__item:first-child{padding-top:0}
.app-deal-list__marker{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-top:.5rem;border-radius:.25rem;background:var(--primary);color:#fff;font-size:1.25rem;line-height:1}
.app-deal-list__item:nth-child(3n+2) .app-deal-list__marker{background:var(--secondary,var(--primary))}
.app-deal-list__item:nth-child(3n) .app-deal-list__marker{background:var(--dark,#212529)}
.app-deal-list__body{min-width:0}
.mp-site .app-deal-list__amount{margin:0;color:var(--dark,#111)!important;font-size:clamp(2.5rem,4.2vw,3.5rem)!important;font-weight:700!important;line-height:1.05!important;letter-spacing:-.03em}
.mp-site .app-deal-list__title{margin:.4rem 0 1rem;text-transform:none!important;font-size:clamp(1.25rem,2vw,1.625rem)!important;font-weight:700!important;line-height:1.3!important}
.mp-site .app-deal-list__title a{color:var(--dark,#111)!important;text-decoration:none;transition:color .2s}
.app-deal-list__item:hover .app-deal-list__title a,.app-deal-list__title a:focus-visible{color:var(--primary)!important}
.app-deal-list__tag{display:inline-flex;align-items:center;gap:.6rem;padding:0;border:0;background:none;color:var(--primary);font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-decoration:none}
.app-deal-list__tag i{font-size:.85em;transition:transform .2s}
a.app-deal-list__tag:hover i,.app-deal-list__item:hover .app-deal-list__tag i{transform:translateX(4px)}
.row:has(.app-deal-list)>:first-child{align-self:flex-start}
@media (min-width:992px){.row:has(.app-deal-list)>:first-child{position:sticky;top:8rem}}
.app-deal-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem;width:fit-content;max-width:100%;margin:0 auto 2rem;padding:.25rem;border:2px solid rgba(0,0,0,.08);border-radius:2rem}
.app-deal-filters__pill{padding:.5rem 1.4rem;border:0;border-radius:2rem;background:transparent;color:var(--dark,#111);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s}
.app-deal-filters__pill:hover{background:rgba(0,0,0,.06)}
.app-deal-filters__pill.is-active{background:var(--dark,#111);color:#fff}
.app-deal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1.5rem}
.app-deal-card{display:flex;flex-direction:column;overflow:hidden;border-radius:.5rem;background:#fff;box-shadow:0 .5rem 2rem rgba(0,0,0,.08);transition:transform .3s,box-shadow .3s}
.app-deal-card[hidden]{display:none}
.app-deal-card:hover{transform:translateY(-8px);box-shadow:0 1rem 2.5rem rgba(0,0,0,.14)}
.app-deal-card__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#222}
.app-deal-card__media a{display:block;height:100%}
.app-deal-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.app-deal-card:hover .app-deal-card__media img{transform:scale(1.05)}
.app-deal-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,.1) 65%);pointer-events:none}
.app-deal-card .app-deal-amount{position:absolute;left:1.5rem;bottom:1.25rem;z-index:1;color:#fff;font-size:clamp(2.5rem,4vw,3.25rem);font-weight:800;line-height:1;letter-spacing:-.03em;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.app-deal-card__body{display:flex;flex:1;flex-direction:column;padding:1.5rem}
.mp-site .app-deal-card__title{margin:0 0 .35rem;text-transform:none!important;font-size:1.25rem!important;font-weight:600!important;line-height:1.3!important}
.mp-site .app-deal-card__title a{color:var(--dark,#111)!important;text-decoration:none;transition:color .2s}
.app-deal-card:hover .app-deal-card__title a{color:var(--primary)!important}
.mp-site .app-deal-card .app-deal-card__eyebrow{margin:0 0 .5rem;color:var(--primary)!important;font-size:.75rem;font-weight:700;letter-spacing:.1em;line-height:1.3;text-transform:uppercase}
.app-deal-card__meta{margin:0 0 1.25rem;color:#6b6b6b;line-height:1.6}
.app-deal-card__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto}
.app-deal-card__date{color:#6b6b6b;font-size:.9rem}
.app-deal-card__more{color:var(--primary);font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-decoration:none}
.app-deal-card__more:hover{text-decoration:underline}
.app-deal-card.is-leaving{opacity:0;transform:scale(.96);pointer-events:none;transition:opacity .22s ease,transform .22s ease}
.app-deal-card.is-entering{opacity:0;transform:translateY(14px) scale(.98)}
.app-deal-card.is-entering-active{opacity:1;transform:none;transition:opacity .35s ease,transform .35s ease}
.app-deal-card.is-moving{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.app-deal-card,.app-deal-card__media img{transition:none}.app-deal-card:hover{transform:none}}
.mp-site .row:has(.app-deal-list)>:first-child .app-general-column__title{font-weight:700!important}
.mp-site .row:has(.app-deal-list)>:first-child p:not(.app-section-eyebrow){font-size:calc(1em + 2px)}
.app-deal-list__item .app-deal-list__marker{background:var(--secondary,var(--primary))!important}

.mp-site .accordion-modern-status .card-body p,.mp-site .app-general-faq .accordion-body p{font-size:1.3rem}

/* Deal details: detail in primary above a lighter, smaller label, with hairline dividers. */
.app-general-stat-listing--detail { --app-detail-size: clamp(1.625rem, 2.5vw, 2.125rem); gap: 0; }
.app-general-stat-listing--detail .app-general-stat-listing__item { padding: 1.1rem 0; border-bottom: 1px solid rgba(0,0,0,.1); }
.app-general-stat-listing--detail .app-general-stat-listing__item:first-child { padding-top: 0; }
.app-general-stat-listing--detail .app-general-stat-listing__item:last-child { border-bottom: 0; }
.app-general-stat-listing--detail .app-general-stat-listing__value { display: block; color: var(--primary); font-size: var(--app-detail-size); font-weight: 800; line-height: 1.15; letter-spacing: -.01em; }
.app-general-stat-listing--detail .app-general-stat-listing__label { margin-top: .3rem; color: #111; font-size: calc(var(--app-detail-size) * .7); font-weight: 400; }

/* Industry row list (home deals band) and three-up deal cards beside it. */
.app-action-link-list--rows .app-action-link-list__items { gap: 0; }
.app-action-link-list--rows .app-action-link-list__item.btn { padding: .85rem 0 !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid rgba(0,0,0,.1) !important; border-radius: 0 !important; box-shadow: none !important; }
.app-action-link-list--rows .app-action-link-list__item.btn strong { font-size: 1rem !important; font-weight: 400 !important; letter-spacing: 0; color: #111; }
.app-action-link-list--rows .app-action-link-list__arrow { width: 2rem !important; height: 2rem !important; background: #e9e9e9 !important; box-shadow: none !important; }
.app-action-link-list--rows .app-action-link-list__item.btn:hover strong { color: var(--primary); }
.app-action-link-list--rows .app-action-link-list__actions { margin-top: 2.5rem; }
.app-action-link-list--rows .app-action-link-list__actions .btn { margin: 0 !important; left: 0 !important; }
@media (min-width: 992px) { .app-general-section:has(.app-action-link-list--rows) .app-deal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } .app-general-section:has(.app-action-link-list--rows) .app-deal-card .app-deal-amount { font-size: 2.25rem; left: 1.1rem; } .app-general-section:has(.app-action-link-list--rows) .app-deal-card__body { padding: 1.25rem; } }
.mp-site .app-deal-card .app-deal-card__meta{font-size:1rem!important;line-height:1.6!important;color:#555}

/* Standard cards on the dark rounded band match the homepage service cards: 10px radius, no border, soft shadow, 24px padding. */
.app-general-section--surface-tertiary .app-card-list > .card[data-card="standard"] { border: 0; border-radius: 10px; overflow: hidden; box-shadow: 0 5px 20px rgba(0, 0, 0, .1); }
.app-general-section--surface-tertiary .app-card-list > .card[data-card="standard"] > .card-body { padding: 1.5rem !important; }

/* form-cta: photographic band, statement left, inquiry form card right. Tint uses the tertiary (dark) brand colour for legible white copy. */
.app-general-section--form-cta.app-general-section--backdrop::before { background: linear-gradient(90deg, color-mix(in srgb, var(--tertiary, #1c2e23) 92%, transparent) 0%, color-mix(in srgb, var(--tertiary, #1c2e23) 58%, transparent) 100%); opacity: 1; }
@media (max-width: 991.98px) { .app-general-section--form-cta.app-general-section--backdrop::before { background: color-mix(in srgb, var(--tertiary, #1c2e23) 80%, transparent); } }
.app-general-section--form-cta .app-general-column--form .app-card { color: var(--dark, #212529); border: 0; border-radius: 10px; box-shadow: 0 5px 20px rgba(0,0,0,.25); padding: .75rem; }
.app-general-section--form-cta .app-general-column--form :is(h2, h3, h4, label, legend) { color: var(--dark, #212529); }
.app-general-section--form-cta .app-general-column--form .app-form { background: transparent; box-shadow: none; }
.app-general-section--form-cta .app-general-column--form :is(input, select, textarea) { background: #fff; color: #333; border: 2px solid #eaeaea; border-radius: 10px; }
.app-general-section--form-cta .app-general-section__grid { align-items: start; }
.app-general-section--form-cta .app-general-column:not(.app-general-column--form) { padding-top: 1.5rem; }
.app-general-section--form-cta .app-general-column--form :is(h2, h3) { font-size: 1.75rem !important; margin-bottom: .5rem; }
.mp-site .app-general-section--form-cta .app-general-column--form :is(h2, h3) { font-size: 1.75rem !important; line-height: 1.15; }
.app-general-section--form-cta .app-general-column--form .app-card { padding: 1.5rem; }

/* Standard-card numerals: an eyebrow that is only digits ("01") renders as a large green anchor number. */
.app-card-numeral { font-family: var(--mp-font-headings, inherit); font-size: 3.25rem; font-weight: 700; line-height: 1; letter-spacing: -.04em; color: var(--primary); }
/* Standard-card images share one ratio so a row of media cards stays level. */
.app-general-column--card-list .card > .card-img-top { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
/* Qualification strip: white rounded callout inside a dark panel. */
.app-general-section--surface-tertiary .app-general-column--stat-group.app-general-column--surface-base { border-radius: 10px; box-shadow: 0 5px 20px rgba(0,0,0,.1); }
.app-general-section--surface-tertiary .app-general-column--stat-group.app-general-column--surface-base .app-stat-callout { padding-top: 0; display: grid; grid-template-columns: 1fr; row-gap: .5rem; }
.app-general-section--surface-tertiary .app-general-column--stat-group.app-general-column--surface-base .app-stat-callout__value { grid-row: auto; }
.app-general-section--surface-tertiary .app-general-column--stat-group.app-general-column--surface-base .app-stat-callout__value strong { color: var(--primary); font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1; letter-spacing: -.04em; }
.app-general-section--surface-tertiary .app-general-column--stat-group.app-general-column--surface-base .app-stat-callout__label { margin-top: 0 !important; font-family: inherit; font-style: normal; font-size: .95rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dark, #111); line-height: 1.3; }
.app-general-section--surface-tertiary .app-general-column--stat-group.app-general-column--surface-base .app-stat-callout__text { margin-top: 0 !important; color: var(--mp-muted, #555); }
@media (max-width: 767.98px) { .app-general-section--surface-tertiary .app-general-column--stat-group.app-general-column--surface-base .app-stat-callout { grid-template-columns: 1fr; } .app-general-section--surface-tertiary .app-general-column--stat-group.app-general-column--surface-base .app-stat-callout__value { grid-row: auto; } }
.mp-site .app-general-column--card-list .card .card-title { text-transform: none !important; letter-spacing: -.01em; }
.mp-site .app-general-column--card-list .card p.app-card-numeral { color: var(--primary) !important; font-size: 3.25rem !important; }

/* Card tags: small padded pills naming the related product. Standard-card eyebrows use the primary colour. */
.app-card-tag { display: inline-block; padding: .3rem .75rem; border-radius: 999px; background: var(--primary-rgba-10, rgba(36,168,87,.1)); color: var(--primary); font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; line-height: 1.3; }
.app-card-tag:hover, .app-card-tag:focus-visible { background: var(--primary); color: #fff; }
.app-general-column--card-list .card p.text-1 { color: var(--primary) !important; }

/* Standard-card icon: circular badge above the heading. */
.app-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 4.5rem; height: 4.5rem; margin-bottom: 1.25rem; border-radius: 50%; border: 2px solid var(--primary-rgba-20, rgba(36,168,87,.25)); background: #fff; }
.app-card-icon img { width: 2.25rem; height: 2.25rem; object-fit: contain; }

/* process-steps "rows": stacked numbered descriptions with dividers, inheriting the section text colour. */
.shared-process-steps--rows { gap: 0; margin-top: 0; }
.shared-process-steps--rows .shared-process-step { grid-template-columns: 4.5rem minmax(0, 1fr); gap: 1rem; padding-block: 1.5rem; border-top: 1px solid color-mix(in srgb, currentColor 22%, transparent); }
.shared-process-steps--rows .shared-process-step:first-child { border-top: 0; padding-top: 0; }
.shared-process-steps--rows .shared-process-step__number { width: auto; height: auto; place-items: start; border-radius: 0; background: none; color: var(--primary); font-size: 2.5rem; line-height: 1; letter-spacing: -.04em; }
.shared-process-steps--rows .shared-process-step__content { padding: 0; border-left: 0; background: none; color: inherit; }
.shared-process-steps--rows .shared-process-step__content h3 { margin-bottom: .5rem; text-transform: none; }
.shared-process-steps--rows .shared-process-step__content p { color: inherit; margin-bottom: 0; }
.app-general-section--surface-tertiary .app-general-column--stat-group.app-general-column--surface-base .app-stat-callout__value strong { font-size: clamp(2.25rem, 3.6vw, 3.25rem); white-space: nowrap; }

/* Standard-card tiles: a grid of equal-height fact tiles; the first can carry the headline figure. */
.app-card-list--tiles { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.app-card-list--tiles.app-card-list--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.app-card-list--tiles.app-card-list--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.app-card-list--tiles > .card { height: 100%; }
.app-card-list--tiles .card-body { display: flex; flex-direction: column; justify-content: center; height: 100%; }
.app-card-list--tiles .card-title { margin-bottom: .25rem !important; }
.app-card-list--tiles .card-text:last-child { margin-bottom: 0 !important; color: var(--mp-muted, #555); }
.mp-site .app-card-list--emphasize-first > .card:first-child .card-title { font-size: clamp(2.5rem, 5vw, 4rem) !important; line-height: 1 !important; letter-spacing: -.04em !important; color: var(--primary); }
@media (max-width: 767.98px) { .app-card-list--tiles, .app-card-list--tiles.app-card-list--cols-3, .app-card-list--tiles.app-card-list--cols-4 { grid-template-columns: 1fr; } }
.app-general-column--fill-height > .app-card-list--tiles { height: 100%; grid-auto-rows: 1fr; }

/* Label-first stat listing: supporting text, and multi-column highlights with a top rule per item */
.app-general-stat-listing__text { margin-top: .5rem; font-size: .9375rem; line-height: 1.6; color: var(--app-color-muted, #555); }
.app-general-stat-listing--label-first .app-general-stat-listing__item:has(.app-general-stat-listing__text) { flex-direction: column; }
.app-general-stat-listing--label-first .app-general-stat-listing__item:has(.app-general-stat-listing__text) > .app-general-stat-listing__label { order: 1; }
.app-general-stat-listing--label-first .app-general-stat-listing__item:has(.app-general-stat-listing__text) > .app-general-stat-listing__value { order: 2; }
.app-general-stat-listing--label-first .app-general-stat-listing__item:has(.app-general-stat-listing__text) > .app-general-stat-listing__text { order: 3; }
@media (min-width: 768px) {
  .app-general-stat-listing--label-first[class*="--cols-"] { gap: 0 2.5rem; }
  .app-general-stat-listing--label-first[class*="--cols-"] .app-general-stat-listing__item { border-bottom: 0; border-top: 1px solid rgba(0,0,0,.14); padding: 1.5rem 0 .5rem; }
}
/* Icon tiles: top-aligned so icons and titles line up across a row */
.app-card-list--tiles .card-body:has(.app-card-icon) { justify-content: flex-start; }
.app-card-list--tiles .card-body:has(.app-card-icon) .card-title { margin-bottom: .75rem; }
@media (min-width: 768px) {
  .app-general-stat-listing--label-first[class*="--cols-"] .app-general-stat-listing__value { font-size: clamp(1.75rem, 3.1vw, 2.75rem); white-space: nowrap; }
}
.app-card-list--tiles .card-body:has(.app-card-icon) > :is(h2,h3,h4,h5,h6) { margin-bottom: .75rem !important; }

/* Comparison panels: featured (last) panel tint, structured points (title::text) */
.pricing-table.app-card-list-comparison .plan--featured, .pricing-table.app-card-list-comparison .app-card-list-comparison__plan--featured { background: color-mix(in srgb, var(--primary) 9%, #fff); border-color: color-mix(in srgb, var(--primary) 35%, #fff); }
.app-card-list-comparison .plan-features ul { list-style: none; margin: 1rem 0 0; padding: 0; }
.app-card-list-comparison__point { padding: .9rem 0; border-top: 1px solid rgba(0,0,0,.1); display: flex; flex-direction: column; gap: .2rem; }
.app-card-list-comparison__point strong { font-weight: 600; color: #111; }
.app-card-list-comparison__point span { color: var(--app-color-muted, #555); font-size: .95rem; line-height: 1.6; }
.app-card-list-comparison .plan-header h3, .app-card-list-comparison .plan-header h2 { text-transform: none; }
.pricing-table.app-card-list-comparison .plan:not(.app-card-list-comparison__plan--featured) { background: #f2f2f2; border-color: transparent; }

/* Emphasised tile with a longer phrase: smaller display size; tiles top-aligned */
.mp-site .app-card-list--emphasize-first-long > .card:first-child .card-title { font-size: clamp(1.75rem, 2.8vw, 2.5rem) !important; line-height: 1.1 !important; }
.app-card-list--tiles .card-body { justify-content: flex-start; }
.app-card-list-comparison .plan-features { text-align: left; }
.mp-site .app-card-list-comparison .plan-features, .mp-site .app-card-list-comparison .plan-features :is(p, li, strong, span) { text-align: left !important; }

/* Capital stack: highlight a layer other than the top (swaps its hue with layer 1; the stack label moves with it) */
.app-capital-stack--hl-2 .app-capital-stack__cube--1, .app-capital-stack--hl-2 .app-capital-stack__leader--1 { --app-stack-hue: var(--app-stack-2); }
.app-capital-stack--hl-2 .app-capital-stack__cube--2, .app-capital-stack--hl-2 .app-capital-stack__leader--2 { --app-stack-hue: var(--app-stack-1); }
.app-capital-stack--hl-2 .app-capital-stack__layer--1 { --app-stack-hue: var(--app-stack-2); --app-stack-ink: var(--app-stack-text-2); }
.app-capital-stack--hl-2 .app-capital-stack__layer--2 { --app-stack-hue: var(--app-stack-1); --app-stack-ink: var(--app-stack-text-1); }

.app-capital-stack--hl-3 .app-capital-stack__cube--1, .app-capital-stack--hl-3 .app-capital-stack__leader--1 { --app-stack-hue: var(--app-stack-3); }
.app-capital-stack--hl-3 .app-capital-stack__cube--3, .app-capital-stack--hl-3 .app-capital-stack__leader--3 { --app-stack-hue: var(--app-stack-1); }
.app-capital-stack--hl-3 .app-capital-stack__layer--1 { --app-stack-hue: var(--app-stack-3); --app-stack-ink: var(--app-stack-text-3); }
.app-capital-stack--hl-3 .app-capital-stack__layer--3 { --app-stack-hue: var(--app-stack-1); --app-stack-ink: var(--app-stack-text-1); }

.app-capital-stack--hl-4 .app-capital-stack__cube--1, .app-capital-stack--hl-4 .app-capital-stack__leader--1 { --app-stack-hue: var(--app-stack-4); }
.app-capital-stack--hl-4 .app-capital-stack__cube--4, .app-capital-stack--hl-4 .app-capital-stack__leader--4 { --app-stack-hue: var(--app-stack-1); }
.app-capital-stack--hl-4 .app-capital-stack__layer--1 { --app-stack-hue: var(--app-stack-4); --app-stack-ink: var(--app-stack-text-4); }
.app-capital-stack--hl-4 .app-capital-stack__layer--4 { --app-stack-hue: var(--app-stack-1); --app-stack-ink: var(--app-stack-text-1); }

/* Highlights subsection: titled, ruled off from the cards above, larger legible labels bound to their figures */
.app-general-column--stat-group:has(.app-general-stat-listing--label-first[class*="--cols-"]) { margin-top: 1.5rem; padding-top: 2.25rem; border-top: 2px solid var(--primary); }
.app-general-column--stat-group:has(.app-general-stat-listing--label-first.app-general-stat-listing--cols-1) { border-top: 0; } /* single column: no top rule, spacing kept */
.app-general-column--stat-group:has(.app-general-stat-listing--label-first[class*="--cols-"]) > .app-general-column__title { margin: 0 0 1.25rem; font-size: 1.5rem; font-weight: 600; letter-spacing: -.02em; color: #111; }
.app-general-stat-listing--label-first[class*="--cols-"] .app-general-stat-listing__label { font-size: 1.125rem; font-weight: 600; color: #111; }
.app-general-stat-listing--label-first[class*="--cols-"] .app-general-stat-listing__text { font-size: 1rem; line-height: 1.6; color: #444; }
@media (min-width: 768px) {
  .app-general-stat-listing--label-first[class*="--cols-"] .app-general-stat-listing__value { font-size: clamp(1.75rem, 3.1vw, 2.75rem); }
  .app-general-stat-listing--label-first[class*="--cols-"] .app-general-stat-listing__item { border-top: 0; padding: 0 0 .5rem; }
}
.mp-site .app-general-column--stat-group:has(.app-general-stat-listing--label-first[class*="--cols-"]) > .app-general-column__title { font-size: 1.5rem !important; line-height: 1.2 !important; letter-spacing: -.02em !important; margin: 0 0 1.5rem !important; }

/* Comparison panel structure illustration */
.app-card-list-comparison__diagram { display: flex; flex-direction: column; gap: .6rem; padding: 1.25rem 1.25rem .25rem; }
.app-card-list-comparison__block { display: flex; align-items: center; justify-content: center; min-height: 3.25rem; padding: .75rem 1rem; border-radius: .5rem; background: #fff; border: 1px solid rgba(0,0,0,.14); color: #111; font-family: var(--mp-font-headings, inherit); font-weight: 600; font-size: 1.05rem; text-align: center; }
.app-card-list-comparison__block--featured { min-height: 7.1rem; background: var(--tertiary); border-color: var(--tertiary); color: #fff; font-size: 1.35rem; }
.app-card-list-comparison__diagram-note { margin-top: .15rem; text-align: center; font-size: .85rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--app-color-muted, #555); }

/* Card list rows: aligned, hairline-separated text rows (no cards, photos or arrows). */
.app-card-list-rows { display: flex; flex-direction: column; }
.app-card-list-rows__row { padding: 1.75rem 0; border-top: 1px solid rgba(0,0,0,.14); }
.app-card-list-rows__row:first-child { padding-top: 0; border-top: 0; }
.app-card-list-rows__row:last-child { padding-bottom: 0; }
.app-card-list-rows .app-card-list-rows__eyebrow { margin: 0 0 .5rem; font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--primary); }
.mp-site .app-card-list-rows__title { margin: 0 0 .6rem !important; font-size: 1.5rem !important; line-height: 1.2 !important; font-weight: 600 !important; letter-spacing: -.02em !important; color: #111; }
.app-card-list-rows__text { margin: 0 0 .75rem; font-size: 1rem; line-height: 1.7; color: #444; }
.app-card-list-rows__text:last-child { margin-bottom: 0; }
/* Bands: each row becomes a separate filled band with a gap and soft shadow (Base "Our Services" row separation, without photos or arrows). */
.app-card-list-rows--bands { display: grid; grid-auto-rows: 1fr; gap: 1rem; }
.app-card-list-rows--bands .app-card-list-rows__row { padding: 1.5rem 1.75rem; border-top: 0; background: #fff; border-radius: var(--border-radius, .5rem); box-shadow: 0 10px 28px rgba(0,0,0,.07); display: flex; flex-direction: column; justify-content: center; }
.app-card-list-rows--bands .app-card-list-rows__row:first-child { padding-top: 1.5rem; }
.app-card-list-rows--bands .app-card-list-rows__row:last-child { padding-bottom: 1.5rem; }
.mp-site .app-card-list-rows--bands .app-card-list-rows__title { font-size: 1.375rem !important; }
.app-card-list-rows--bands .app-card-tags { margin-top: auto !important; padding-top: 1rem; }
/* Large comparison diagram: the arrangement itself becomes the primary visual of each panel. */
.app-card-list-comparison--large-diagram .app-card-list-comparison__diagram { gap: .85rem; padding: 1.75rem 1.5rem .5rem; }
.app-card-list-comparison--large-diagram .app-card-list-comparison__block { min-height: 5.25rem; font-size: 1.35rem; border-radius: .6rem; }
.app-card-list-comparison--large-diagram .app-card-list-comparison__block--featured { min-height: 11.35rem; font-size: 1.75rem; }
.app-card-list-comparison--large-diagram .app-card-list-comparison__diagram-note { margin-top: .5rem; font-size: .9rem; }

/* Label-first listing with sentence values: compact facts instead of oversized figures. */
.app-general-stat-listing--text-values[class*="--cols-"] .app-general-stat-listing__label { font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--primary); margin-bottom: .5rem; }
.app-general-stat-listing--text-values[class*="--cols-"] .app-general-stat-listing__value { font-size: clamp(1.125rem, 1.6vw, 1.375rem); font-weight: 600; line-height: 1.3; white-space: normal; letter-spacing: -.01em; color: #111; }
.app-general-stat-listing--text-values[class*="--cols-"] { align-items: start; }
.app-general-stat-listing--text-values[class*="--cols-"] .app-general-stat-listing__item { justify-content: flex-end; }
.app-general-column--stat-group:has(.app-general-stat-listing--text-values[class*="--cols-"]) { margin-top: 0; }
.mp-site .app-card-list-rows__title { text-transform: none !important; }

/* Post card with meta line: kind (primary) and date (grey) above the title, topic tag and Read More pinned to the bottom, equal-height 3:2 images. */
.app-post-card--meta .app-post-card__media img { aspect-ratio: 3 / 2; height: auto; object-fit: cover; }
.app-post-card--meta .app-post-card__body { display: flex; flex-direction: column; flex: 1 1 auto; }
.app-post-card__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; margin: 0 0 .25rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.4; }
.app-post-card__kind { color: var(--primary); }
.app-post-card__when { color: var(--app-color-muted, #6c757d); font-weight: 500; }
.app-post-card--meta .app-post-card__text { flex: 1 1 auto; }
.app-post-card__foot { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(0,0,0,.08); }
.app-post-card__foot .app-card-tags { margin: 0 !important; }
.app-post-card__foot .app-post-card__more { margin-left: auto; white-space: nowrap; color: var(--primary); }

/* Shared meta line for cards: kind (primary) and date (grey) above the title, topic tag and Read More footer. */
.app-card-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; margin: 0 0 .25rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.4; }
.app-card-meta__kind { color: var(--primary); }
.app-card-meta__when { color: var(--app-color-muted, #6c757d); font-weight: 500; }
.app-card-image-horizontal--meta > .row { align-items: stretch; }
.app-card-image-horizontal--meta .col-lg-4 { position: relative; min-height: 22rem; }
.app-card-image-horizontal--meta .col-lg-4 img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.app-card-image-horizontal--meta .card-body { display: flex; flex-direction: column; height: 100%; }
.app-card-image-horizontal--meta .card-text { flex: 1 1 auto; }
.app-card-meta-foot { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(0,0,0,.08); }
.app-card-meta-foot .app-card-tags { margin: 0 !important; }
.app-card-meta-foot .read-more { margin-left: auto; white-space: nowrap; }
@media (max-width: 991.98px) { .app-card-image-horizontal--meta .col-lg-4 { min-height: 0; aspect-ratio: 3 / 2; } }

/* stat-group "card" and "plain": text-only stat cards for an equal-width row (2 or 3 columns). */
.app-general-column--stat-group .app-stat-card { display: grid; grid-template-columns: 1fr; row-gap: .5rem; align-content: start; height: 100%; text-align: start; }
.app-general-column--stat-group:has(.app-stat-card):not(.app-general-column--vertical-center):not(.app-general-column--vertical-end) { align-self: stretch; } /* verticalAlign center/end opts out of equal-height stretch */
.app-general-column--stat-group .app-stat-card p { margin: 0; }
.app-general-column--stat-group .app-stat-card--card { background: #fff; border-radius: 10px; box-shadow: 0 5px 20px rgba(0,0,0,.1); padding: 2.25rem 2.5rem; }
.app-general-column--stat-group .app-stat-card .app-stat-card__value { font-size: clamp(2.25rem, 3.6vw, 3.25rem); font-weight: 700; line-height: 1; letter-spacing: -.04em; color: var(--primary) !important; white-space: nowrap; }
.app-general-column--stat-group .app-stat-card .app-stat-card__label { font-size: .95rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dark, #111) !important; line-height: 1.3; }
.app-general-column--stat-group .app-stat-card .app-stat-card__text { color: var(--mp-muted, #555) !important; font-size: 1rem; line-height: 1.7; }
.app-general-column--stat-group .app-stat-card--plain { padding: 0; }
@media (max-width: 767.98px) { .app-general-column--stat-group .app-stat-card--card { padding: 1.75rem 1.5rem; } .app-general-column--stat-group .app-stat-card .app-stat-card__value { white-space: normal; } }

/* iconInfo presentation "card": icon, eyebrow and title share one row; description spans the full width below. */
.app-content-icon-card { display: grid; row-gap: 1.1rem; }
.app-content-icon-card__head { display: flex; align-items: center; gap: 1.1rem; }
.app-content-icon-card__icon { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; border-radius: 50%; background: var(--primary); color: #fff; font-size: 1.2rem; }
.app-content-icon-card .app-content-icon-card__eyebrow { margin: 0 0 .25rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--primary) !important; line-height: 1.3; }
.app-content-icon-card .app-content-icon-card__title { margin: 0; font-size: 1.3125rem; font-weight: 700; line-height: 1.25; letter-spacing: -.01em; color: var(--dark, #111) !important; }
.app-content-icon-card .app-content-icon-card__body p { margin: 0; font-size: 1rem; line-height: 1.65 !important; }
.app-content-icon-card__body p + p { margin-top: .75rem; }

/* content-flow panel on a tinted/muted section: white raised card (same finish as .app-stat-card--card). */
.app-general-section--surface-muted .app-general-content-flow--panel.app-general-column--surface-base,
.app-general-section--surface-accent .app-general-content-flow--panel.app-general-column--surface-base { border-radius: 10px; box-shadow: 0 5px 20px rgba(0,0,0,.1); }
.app-general-section--surface-base .app-general-content-flow--panel.app-general-column--surface-muted { border-radius: 10px; }

/* Tabs column: Base "simple top tabs" (label row, primary underline on the active tab). */
.app-tabs__list { border-bottom: 1px solid rgba(0,0,0,.12); gap: 0; flex-wrap: wrap; margin-bottom: 1.75rem; }
.app-tabs__tab.nav-link { padding: .85rem 1.5rem .85rem 0; margin-right: 1.5rem; margin-bottom: -1px; background: transparent; border: 0; border-bottom: 3px solid transparent; border-radius: 0; color: #777; font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.app-tabs__tab.nav-link:hover { color: var(--primary); }
.app-tabs__tab.nav-link.active { color: var(--primary); background: transparent; border-bottom-color: var(--primary); }
.app-tabs__pane .app-general-column__title { margin-bottom: 1rem; }
.app-general-section--surface-tertiary .app-tabs__list { border-bottom-color: rgba(255,255,255,.2); }
@media (max-width: 575.98px) { .app-tabs__tab.nav-link { padding-right: 0; margin-right: 1.1rem; font-size: .75rem; } }
/* Tabs column: neutralise the theme's boxed nav-tabs / bordered tab-content so the pane reads as plain text under the label row. */
.app-tabs .nav-tabs.app-tabs__list { border: 0 !important; border-bottom: 1px solid rgba(0,0,0,.14) !important; background: transparent !important; }
.app-tabs .nav-tabs .nav-link.app-tabs__tab, .app-tabs .nav-tabs .nav-link.app-tabs__tab:hover, .app-tabs .nav-tabs .nav-link.app-tabs__tab:focus { background: transparent !important; border: 0 !important; border-bottom: 3px solid transparent !important; box-shadow: none !important; color: #6b6b6b !important; opacity: 1 !important; }
.app-tabs .nav-tabs .nav-link.app-tabs__tab.active, .app-tabs .nav-tabs .nav-link.app-tabs__tab:hover { color: var(--primary) !important; }
.app-tabs .nav-tabs .nav-link.app-tabs__tab.active { border-bottom-color: var(--primary) !important; }
.app-tabs .tab-content.app-tabs__panes { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.app-tabs .app-tabs__pane .app-general-column__title { font-size: clamp(1.6rem, 2.4vw, 2.1rem) !important; line-height: 1.15 !important; }

/* Comparison (05C): narrower centred pair, wider gutter, circular VS badge, optional panel subtitle. */
.mp-site .app-card-list-comparison { max-width: 66rem; margin-inline: auto; gap: 0; align-items: stretch; }
.mp-site .pricing-table.app-card-list-comparison .plan { flex: 1 1 0; }
.mp-site .app-card-list-comparison__divider { position: relative; z-index: 1; display: grid; place-items: center; width: 4.75rem; height: 4.75rem; margin-inline: -.25rem; border-radius: 50%; background: var(--primary); color: #fff; font-size: 1.35rem; font-weight: 800; letter-spacing: .04em; box-shadow: 0 0 0 .5rem var(--app-color-surface, #fff), 0 6px 18px rgba(0,0,0,.18); }
.mp-site .app-card-list-comparison__divider { align-self: center; flex: 0 0 4.75rem; margin-inline: 1.25rem; }
.mp-site .app-card-list-comparison .plan-header h3, .mp-site .app-card-list-comparison .plan-header h2 { font-size: 1.35rem !important; line-height: 1.2 !important; }
.app-card-list-comparison__subtitle { margin: .35rem 0 0; font-size: .9rem; font-weight: 500; letter-spacing: .02em; text-transform: none; color: rgba(255,255,255,.82); }
.mp-site .app-card-list-comparison--large-diagram .app-card-list-comparison__block { min-height: 4.5rem; font-size: 1.15rem; }
.mp-site .app-card-list-comparison--large-diagram .app-card-list-comparison__block--featured { min-height: 9.75rem; font-size: 1.5rem; }
@media (max-width: 767.98px) {
  .mp-site .app-card-list-comparison { max-width: 32rem; }
  .mp-site .app-card-list-comparison__divider { flex: 0 0 auto; margin: -.75rem auto; }
}

/* Capital stack (05D): cap the diagram width; side labels take the colour of the cube they sit beside; the axis spans the full gap. */
.app-capital-stack { width: 100%; max-width: 75rem; margin-inline: auto; --app-band-top: var(--app-stack-1); --app-band-bottom: var(--app-stack-4); }
.app-capital-stack[style*="--app-stack-count:3"] { --app-band-bottom: var(--app-stack-3); }
.app-capital-stack--hl-2 { --app-band-top: var(--app-stack-2); }
.app-capital-stack--hl-3 { --app-band-top: var(--app-stack-3); }
.app-capital-stack--hl-4 { --app-band-top: var(--app-stack-4); }
.app-capital-stack--hl-3[style*="--app-stack-count:3"] { --app-band-bottom: var(--app-stack-1); }
.app-capital-stack--hl-4[style*="--app-stack-count:4"] { --app-band-bottom: var(--app-stack-1); }
.app-capital-stack .app-capital-stack__band--top { background: var(--app-band-top); color: #fff; }
.app-capital-stack .app-capital-stack__band--bottom { background: var(--app-band-bottom); color: #fff; }
@container (min-width: 60rem) {
  .app-capital-stack .app-capital-stack__band--top { color: #fff; }
  .app-capital-stack__axis { margin-top: calc(134 * var(--app-u)); height: calc(((var(--app-stack-count, 3) - 1) * var(--app-step, 111) - 72) * var(--app-u)); }
}

/* Photo + tabs sections: 40% fixed image, 60% tabs. */
@media (min-width: 62rem) {
  .app-general-section__grid:has(> .app-general-column--single-media + .app-general-column--tabs) { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  .app-general-section__grid:has(> .app-general-column--single-media + .app-general-column--tabs) > .app-general-column { grid-column: auto !important; }
}

/* Check lists: primary outline circle with a primary check (replaces the grey filled disc). */
.mp-site .app-general-content-flow .app-content-list-check li { min-height: 28px; padding: 3px 0 0 42px; }
.mp-site .app-general-content-flow .app-content-list-check li::before { top: 2px; width: 28px; height: 28px; border: 2px solid var(--primary); background: transparent; color: var(--primary); font-size: 12px; }

/* 04C: image beside text, stat directly under the text in the same right column, top aligned. */
@media (min-width: 62rem) {
  .app-general-section__grid:has(> .app-general-column--single-media + .app-general-column--content-flow + .app-general-column--stat-group) { grid-template-rows: auto 1fr; align-items: start; }
  .app-general-section__grid:has(> .app-general-column--single-media + .app-general-column--content-flow + .app-general-column--stat-group) > .app-general-column--single-media { grid-row: 1 / span 2; }
  .app-general-section__grid:has(> .app-general-column--single-media + .app-general-column--content-flow + .app-general-column--stat-group) > .app-general-column--stat-group { align-self: start; }
}

/* Text + linked-rows split (industry 06B): 60/40. */
@media (min-width: 62rem) {
  .app-general-section__grid:has(> .app-general-column--content-flow + .app-general-column--action-link-list) { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
  .app-general-section__grid:has(> .app-general-column--content-flow + .app-general-column--action-link-list) > .app-general-column { grid-column: auto !important; }
}
@media (min-width: 62rem) { .app-content-icon-card__head { min-height: 8.25rem; } }
.mp-site .app-general-content-flow--panel .app-general-column__title { font-size: clamp(1.5rem, 2.2vw, 1.875rem) !important; line-height: 1.2 !important; }

/* Comparison VS: plain, large, bold text (no badge). */
.mp-site .app-card-list-comparison__divider { width: auto; height: auto; flex: 0 0 auto; margin-inline: 1.75rem; border-radius: 0; background: transparent; box-shadow: none; color: var(--primary); font-size: clamp(2.25rem, 3.6vw, 3rem); font-weight: 700; line-height: 1; letter-spacing: 0; }
@media (max-width: 767.98px) { .mp-site .app-card-list-comparison__divider { margin: 1rem auto; } }

/* Capital stack labels: slightly lightened tint of the cube colour; axis stops short of the labels. */
.app-capital-stack .app-capital-stack__band--top { background: color-mix(in srgb, var(--app-band-top), white 80%); color: color-mix(in srgb, var(--app-band-top), black 8%); }
.app-capital-stack .app-capital-stack__band--bottom { background: color-mix(in srgb, var(--app-band-bottom), white 70%); color: color-mix(in srgb, var(--app-band-bottom), black 30%); }
@container (min-width: 60rem) {
  .app-capital-stack .app-capital-stack__band--top { color: color-mix(in srgb, var(--app-band-top), black 8%); }
  .app-capital-stack__axis { margin-top: calc(134 * var(--app-u) + .7rem); height: calc(((var(--app-stack-count, 3) - 1) * var(--app-step, 111) - 72) * var(--app-u) - 1.4rem); }
  .app-capital-stack__chip { display: none; }
}
/* Capital stack, narrow containers: keep it left/right with a small cube beside each layer's text. */
@container (max-width: 59.99rem) {
  .app-capital-stack__figure { display: none; }
  .app-capital-stack__body { gap: 0; }
  .app-capital-stack__layer { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); column-gap: 1rem; align-items: start; padding-block: 1.1rem; }
  .app-capital-stack__chip { display: block; grid-row: 1 / span 2; grid-column: 1; width: 4.5rem; height: auto; margin-top: .25rem; }
  .app-capital-stack__chip .app-capital-stack__face--top { fill: var(--app-stack-hue); }
  .app-capital-stack__chip .app-capital-stack__face--right { fill: color-mix(in srgb, var(--app-stack-hue), black 8%); }
  .app-capital-stack__chip .app-capital-stack__face--left { fill: color-mix(in srgb, var(--app-stack-hue), black 17%); }
  .app-capital-stack__layer > .app-capital-stack__head, .app-capital-stack__layer > .app-capital-stack__copy { grid-column: 2; }
  .app-capital-stack .app-capital-stack__band { padding: .75rem 1rem; }
}

/* Tabs: labels share the full width of the column, larger text. */
.app-tabs .nav-tabs.app-tabs__list { flex-wrap: nowrap; }
.app-tabs .app-tabs__list .nav-item { flex: 1 1 0; min-width: 0; display: flex; }
.app-tabs .nav-tabs .nav-link.app-tabs__tab { flex: 1 1 auto; width: 100%; padding: .95rem .5rem !important; margin-right: 0 !important; text-align: center; font-size: 1.0125rem; line-height: 1.25; }
@media (max-width: 767.98px) { .app-tabs .nav-tabs .nav-link.app-tabs__tab { font-size: .72rem; padding: .8rem .25rem !important; letter-spacing: .03em; } }

/* image-overlay-grid: edge-to-edge photo tiles with a hover-revealed description and arrow button */
.app-overlay-tiles{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0}
@media (min-width:520px){.app-overlay-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:800px){.app-overlay-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1100px){.app-overlay-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1400px){.app-overlay-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
.app-overlay-tile{position:relative;overflow:hidden;aspect-ratio:16/15;background:var(--secondary,#1f6b46)}
.app-overlay-tile--plain{background:linear-gradient(145deg,var(--secondary,#1f6b46),#0f2a1d)}
.app-overlay-tile__link{position:absolute;inset:0;display:block;color:#fff;text-decoration:none}
.app-overlay-tile__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.app-overlay-tile__cover{position:absolute;inset:0;background:rgba(10,28,20,.42);transition:background-color .35s ease}
.app-overlay-tile__content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;padding:1.75rem 1.5rem 4.5rem;text-align:left}
.app-overlay-tile__title{display:block;font-size:1.6rem;font-weight:700;line-height:1.2;color:#fff}
.app-overlay-tile__copy{display:block;margin-top:.875rem;font-size:1.05rem;line-height:1.5;color:#fff;opacity:0;transform:translateY(1.5rem);transition:opacity .35s ease,transform .35s ease}
.app-overlay-tile__go{position:absolute;right:1.5rem;bottom:1.5rem;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;background:#fff;color:#111;font-size:.9rem;opacity:0;transform:translateY(.75rem);transition:opacity .35s ease,transform .35s ease}
.app-overlay-tile:hover .app-overlay-tile__cover,.app-overlay-tile__link:focus-visible .app-overlay-tile__cover{background:rgba(10,28,20,.82)}
.app-overlay-tile:hover .app-overlay-tile__image{transform:scale(1.05)}
.app-overlay-tile:hover .app-overlay-tile__copy,.app-overlay-tile__link:focus-visible .app-overlay-tile__copy,.app-overlay-tile:hover .app-overlay-tile__go,.app-overlay-tile__link:focus-visible .app-overlay-tile__go{opacity:1;transform:none}
.app-overlay-tile__link:focus-visible{outline:3px solid #fff;outline-offset:-6px}
@media (hover:none){.app-overlay-tile__cover{background:rgba(10,28,20,.7)}.app-overlay-tile__copy,.app-overlay-tile__go{opacity:1;transform:none}}
@media (max-width:575.98px){.app-overlay-tile__title{font-size:1.45rem}}
@media (prefers-reduced-motion:reduce){.app-overlay-tile__image,.app-overlay-tile__cover,.app-overlay-tile__copy,.app-overlay-tile__go{transition:none}}

/* Post list (column.post-list): large, medium and small image rows, grid card, text card and text feature layouts. */
.app-post-list { display: flex; flex-direction: column; gap: 1.75rem; --app-post-thumb: 220px; }
.app-post-list--size-sm { --app-post-thumb: 160px; }
.app-post-list--size-lg { --app-post-thumb: 300px; }
.app-post-list--grid, .app-post-list--text-card { display: grid; grid-template-columns: repeat(var(--app-post-cols, 3), minmax(0, 1fr)); gap: 1.5rem; align-items: stretch; }
.app-post { position: relative; display: flex; flex-direction: column; min-width: 0; }
.app-post__media { position: relative; overflow: hidden; border-radius: .5rem; }
.app-post__media a { display: block; height: 100%; }
.app-post__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.app-post__chip { position: absolute; top: .6rem; left: .6rem; z-index: 1; padding: .25rem .5rem; font-size: .85rem; font-weight: 700; line-height: 1.4; color: var(--secondary, #212529); background: #fff; }
.app-post__body { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.app-post__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem; margin: 0 0 .4rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.4; }
.app-post__kind { color: var(--primary); }
.app-post__when { color: var(--app-color-muted, #6c757d); font-weight: 500; }
.app-post__kind + .app-post__when::before { content: "\00b7"; margin-right: .4rem; color: var(--app-color-muted, #6c757d); font-weight: 700; }
.app-post__title { margin: 0 0 .5rem; font-weight: 600; line-height: 1.3; letter-spacing: 0; text-transform: none; }
.app-post__title a { color: inherit; text-decoration: none; }
.app-post__title a:hover { color: var(--primary); }
.app-post__excerpt { margin: 0 0 .5rem; color: var(--app-color-muted, #555); font-size: .95rem; line-height: 1.7; }
.app-post__foot { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: auto; padding-top: 1rem; }
.app-post__foot .app-card-tags { margin: 0 !important; }
.app-post__more { margin-left: auto; white-space: nowrap; font-size: .85rem; font-weight: 600; color: var(--primary); text-decoration: none; }
.app-post__more.btn { color: #fff; font-size: .9rem; }
/* Large: image on top, full width. */
.app-post--large .app-post__media { aspect-ratio: 16 / 9; }
.app-post--large .app-post__body { padding-top: 1.25rem; }
/* Medium and small rows: image beside the text; stacked on narrow screens. */
.app-post--medium-left, .app-post--medium-right, .app-post--small-left, .app-post--small-right { flex-direction: row; align-items: stretch; gap: 2rem; }
.app-post--medium-right, .app-post--small-right { flex-direction: row-reverse; }
.app-post--medium-left .app-post__media, .app-post--medium-right .app-post__media { flex: 0 0 36%; aspect-ratio: 16 / 10; }
.app-post--medium-left .app-post__body, .app-post--medium-right .app-post__body { justify-content: center; }
.app-post--medium-left .app-post__foot, .app-post--medium-right .app-post__foot { margin-top: 1rem; padding-top: 0; }
.app-post--small-left, .app-post--small-right { align-items: flex-start; gap: 1.5rem; }
.app-post--small-left .app-post__media, .app-post--small-right .app-post__media { flex: 0 0 var(--app-post-thumb); aspect-ratio: 3 / 2; }
.app-post--text.app-post--medium-left .app-post__body, .app-post--text.app-post--medium-right .app-post__body, .app-post--text.app-post--small-left .app-post__body, .app-post--text.app-post--small-right .app-post__body { padding-left: 0; }
.app-post-list--divided > .app-post + .app-post { padding-top: 1.75rem; border-top: 1px solid rgba(0, 0, 0, .12); }
/* Grid and text cards: shared card surface, equal height, footer pinned to the bottom. */
.app-post--grid, .app-post--text-card { overflow: hidden; height: 100%; border-radius: .5rem; background: var(--app-color-surface, #fff); box-shadow: 0 .5rem 2rem rgba(0, 0, 0, .08); transition: transform .3s, box-shadow .3s; }
.app-post--grid:hover, .app-post--text-card:hover { transform: translateY(-6px); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .14); }
.app-post--grid .app-post__media { border-radius: 0; aspect-ratio: 3 / 2; }
.app-post--grid .app-post__body, .app-post--text-card .app-post__body { padding: 1.5rem; }
.app-post--grid .app-post__foot, .app-post--text-card .app-post__foot { border-top: 1px solid rgba(0, 0, 0, .08); margin-top: auto; }
.app-post--grid .app-post__excerpt, .app-post--text-card .app-post__excerpt { flex: 1 1 auto; }
/* Text feature: large editorial block, no image. */
.app-post--text-feature { padding: 2.5rem 0; }
.app-post--text-feature .app-post__meta { font-size: .85rem; }
.app-post--text-feature .app-post__excerpt { max-width: 46rem; font-size: 1.1rem; }
.app-post--text-feature .app-post__foot { justify-content: flex-start; margin-top: 1rem; padding-top: 0; }
.app-post--text-feature .app-post__more { margin-left: 0; }
.mp-site .app-general-section .app-post__title { font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--app-color-heading, #111) !important; margin: 0 0 .5rem !important; }
.mp-site .app-general-section .app-post--large .app-post__title, .mp-site .app-general-section .app-post--medium-left .app-post__title, .mp-site .app-general-section .app-post--medium-right .app-post__title { font-size: 1.625rem !important; }
.mp-site .app-general-section .app-post--small-left .app-post__title, .mp-site .app-general-section .app-post--small-right .app-post__title { font-size: 1.1875rem !important; }
.mp-site .app-general-section .app-post--grid .app-post__title, .mp-site .app-general-section .app-post--text-card .app-post__title { font-size: 1.1875rem !important; }
.mp-site .app-general-section .app-post--text-feature .app-post__title { font-size: 2.25rem !important; line-height: 1.2 !important; }
.mp-site .app-general-section .app-post__title a:hover { color: var(--primary) !important; }
.mp-site .app-general-section .app-post__excerpt { font-size: .95rem; line-height: 1.7; }
@media (max-width: 991.98px) {
    .app-post-list--grid, .app-post-list--text-card { grid-template-columns: repeat(min(2, var(--app-post-cols, 3)), minmax(0, 1fr)); }
    .app-post--medium-left, .app-post--medium-right { flex-direction: column; gap: 1rem; }
    .app-post--medium-left .app-post__media, .app-post--medium-right .app-post__media { flex: none; width: 100%; }
}
@media (max-width: 575.98px) {
    .app-post-list--grid, .app-post-list--text-card { grid-template-columns: minmax(0, 1fr); }
    .app-post--small-left, .app-post--small-right { gap: 1rem; }
    .app-post--small-left .app-post__media, .app-post--small-right .app-post__media { flex-basis: 112px; }
    .mp-site .app-general-section .app-post--text-feature .app-post__title { font-size: 1.75rem !important; }
}

/* Content-flow table block: horizontally scrollable on narrow screens, numeric columns right aligned. */
.app-content-table { margin: 1.5rem 0; }
.app-content-table__scroll { overflow-x: auto; border: 1px solid rgba(0, 0, 0, .1); border-radius: .5rem; }
.app-content-table table { width: 100%; min-width: 32rem; border-collapse: collapse; font-size: .95rem; }
.app-content-table caption { padding: .75rem 1rem; text-align: left; font-weight: 600; caption-side: top; }
.app-content-table th, .app-content-table td { padding: .65rem 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(0, 0, 0, .08); }
.app-content-table thead th { background: var(--app-color-surface-alt, #f4f5f4); font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; }
.app-content-table tbody tr:last-child td { border-bottom: 0; }
.app-content-table .is-numeric { text-align: right; white-space: nowrap; }
.app-content-table figcaption { margin-top: .75rem; font-size: .85rem; font-style: italic; color: var(--app-color-muted, #6c757d); }
.app-post__foot { flex-wrap: wrap; row-gap: .5rem; }
.app-post__foot .app-card-tag { white-space: nowrap; }

/* Media tiles (solution cards): stronger rounded corners; no underline on the View Details link or arrow button, in any state. */
.app-media-tile, .app-media-tile-grid .app-media-tile { border-radius: 1.25rem; }
.app-media-tile-grid .app-media-tile__image { border-radius: 0; }
.mp-site .app-media-tile .app-media-tile__more, .mp-site .app-media-tile .app-media-tile__more:hover, .mp-site .app-media-tile .app-media-tile__more:focus, .mp-site .app-media-tile:hover .app-media-tile__more, .mp-site .app-media-tile:hover .app-media-tile__more *, .mp-site .app-media-tile__title a, .mp-site .app-media-tile__title a:hover { text-decoration: none !important; }

/* Tabs column sits at the top of its row (tab bar lines up with the top of the photo), whatever the section's vertical align. */
.app-general-section__grid > .app-general-column--tabs, .app-general-section__grid:has(> .app-general-column--tabs) > .app-general-column--single-media { align-self: start; }

/* Accordion arrow circle: the chevron is a centred SVG (not a font glyph, whose box sits low), so it is exactly centred in the circle when closed and when rotated open. */
.accordion.accordion-modern-status.accordion-modern-status-arrow > .card .card-header a:after { content: "" !important; display: block; box-sizing: border-box; width: 30px; height: 30px; line-height: 0; background-color: var(--dark); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M9.5 12.25 15 17.75l5.5-5.5' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: 100% 100%; }
.accordion.accordion-modern-status.accordion-modern-status-arrow-primary > .card .card-header a:after { background-color: var(--primary); }

/* stat-group "card": multiple cards in one column stack with even spacing. */
.app-general-column--stat-group .app-stat-card + .app-stat-card { margin-top: 1.5rem; }

/* Action link list: optional descriptions and one featured tile. */
.app-action-link-list__text { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.app-action-link-list__description { display: block; font-size: .8125rem; font-weight: 400; line-height: 1.35; letter-spacing: 0; opacity: .72; }
.app-action-link-list__item--described.btn, .app-action-link-list__item--featured.btn { height: auto !important; min-height: 4.5rem; line-height: 1.3; }
.app-action-link-list__item--described.btn { border-radius: 14px !important; padding-block: 1rem !important; }
.app-action-link-list__item--described.btn > .app-action-link-list__text { flex: 1 1 auto; }
.app-action-link-list__item--featured.btn { padding-block: 2.25rem !important; min-height: 7rem; }
.app-action-link-list__item--featured.btn strong { font-size: 1.25rem !important; }
.app-action-link-list__item--featured .app-action-link-list__description { font-size: .9375rem; }

/* General section: mirror two-column order at and above the stack breakpoint; DOM order (text first) is kept when stacked. */
@media (min-width: 48rem) { .app-general-section--reverse-at-md .app-general-section__grid > .app-general-column:first-child { order: 2; } }
@media (min-width: 62rem) { .app-general-section--reverse-at-lg .app-general-section__grid > .app-general-column:first-child { order: 2; } }
@media (min-width: 75rem) { .app-general-section--reverse-at-xl .app-general-section__grid > .app-general-column:first-child { order: 2; } }
.app-action-link-list--dark-arrow .app-action-link-list__item--featured.btn strong { font-size: 1.25rem !important; }

/* Media-text mosaic, stacked arrangement: three to six full-width linked text tiles in one column. */
.app-media-text-mosaic--stack { grid-template-columns: 1fr; grid-auto-rows: auto; height: auto; min-height: 0; gap: .75rem; overflow: visible; }
.app-media-text-mosaic--stack.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile { grid-column: auto; grid-row: auto; border-radius: 12px; }
.app-media-text-mosaic--stack.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked { align-items: center; justify-content: space-between; padding: 1.1rem 1.5rem; min-height: 5.25rem; }
.app-media-text-mosaic--stack.app-media-text-mosaic--linked-routing .app-media-text-mosaic__content { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1rem; row-gap: .2rem; align-items: center; }
.app-media-text-mosaic--stack.app-media-text-mosaic--linked-routing .app-media-text-mosaic__content strong { grid-column: 1; font-size: 1.3rem; }
.app-media-text-mosaic--stack.app-media-text-mosaic--linked-routing .app-media-text-mosaic__body { grid-column: 1; max-width: none; font-size: 1rem; }
.app-media-text-mosaic--stack.app-media-text-mosaic--linked-routing .app-media-text-mosaic__arrow { grid-column: 2; grid-row: 1 / span 2; }
.app-media-text-mosaic--stack.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:hover,
.app-media-text-mosaic--stack.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked:focus-visible { transform: translateY(-2px); }

/* Media-text mosaic tile surfaces: white (base) and transparent divided rows (plain). */
.app-media-text-mosaic__tile--surface-base { --app-mosaic-background: #fff; --app-mosaic-foreground: #111; }
.app-media-text-mosaic__tile--surface-plain { --app-mosaic-background: transparent; --app-mosaic-foreground: inherit; }
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--surface-base:hover,
.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--surface-base:focus-visible { background: #fff; color: var(--primary); }
.app-media-text-mosaic--stack.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--surface-plain { --app-mosaic-row-inset: 1rem; border-radius: 10px; margin-inline: calc(var(--app-mosaic-row-inset) * -1); padding-inline: var(--app-mosaic-row-inset); background-image: linear-gradient(rgba(255, 255, 255, .28), rgba(255, 255, 255, .28)); background-repeat: no-repeat; background-position: left var(--app-mosaic-row-inset) bottom; background-size: calc(100% - var(--app-mosaic-row-inset) * 2) 1px; }
.app-media-text-mosaic--stack.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--surface-plain:hover,
.app-media-text-mosaic--stack.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--surface-plain:focus-visible { background-color: rgba(255, 255, 255, .08); color: inherit; transform: none; }
.app-media-text-mosaic--stack:has(.app-media-text-mosaic__tile--surface-plain) { gap: 0; }

/* Media-text mosaic, featured arrangement: one full-width featured tile above four supporting tiles in two columns. */
.app-media-text-mosaic--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; height: auto; min-height: 0; gap: .75rem; overflow: visible; }
.app-media-text-mosaic--featured.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile { grid-column: auto; grid-row: auto; border-radius: 12px; }
.app-media-text-mosaic--featured.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile:first-child { grid-column: 1 / -1; }
.app-media-text-mosaic--featured.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile--linked { align-items: stretch; padding: 1.25rem 1.5rem; min-height: 7rem; box-shadow: 0 1px 0 rgba(0, 0, 0, .05); }
.app-media-text-mosaic--featured.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile:first-child { min-height: 9.5rem; padding: 1.75rem 2rem; }
.app-media-text-mosaic--featured.app-media-text-mosaic--linked-routing .app-media-text-mosaic__content { display: grid; grid-template-columns: minmax(0, 1fr) auto; row-gap: .45rem; align-content: space-between; }
.app-media-text-mosaic--featured.app-media-text-mosaic--linked-routing .app-media-text-mosaic__content strong { grid-column: 1; font-size: 1.3rem; }
.app-media-text-mosaic--featured.app-media-text-mosaic--linked-routing .app-media-text-mosaic__tile:first-child strong { font-size: 1.85rem; }
.app-media-text-mosaic--featured.app-media-text-mosaic--linked-routing .app-media-text-mosaic__body { grid-column: 1 / -1; max-width: none; font-size: 1rem; }
.app-media-text-mosaic--featured.app-media-text-mosaic--linked-routing .app-media-text-mosaic__arrow { grid-column: 2; grid-row: 1; align-self: start; }
@media (max-width: 575px) { .app-media-text-mosaic--featured { grid-template-columns: 1fr; } }
