/* Footer 585 remains an editable Astra/Spectra layout. */
.ast-custom-footer.ch-footer-ready {
  background: var(--ch-bg, #121517);
  flex-shrink: 0;
}
.ast-custom-footer.ch-footer-ready a {
  scroll-margin-block: var(--ch-footer-clearance, 96px) 24px;
}
.ch-footer-logo-stage { position: relative; overflow: hidden; }
.ch-footer-logo-stage.ch-footer-logo-layered { background-image: none !important; }
.ch-footer-logo-art {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-repeat: no-repeat;
}
@media (min-width: 922px) and (prefers-reduced-motion: no-preference) and (pointer: fine) {
  .ch-footer-page { isolation: isolate; }
  .ch-footer-foreground { position: relative; z-index: 1; }
  #content.ch-footer-foreground { background-color: var(--ch-bg, #121517); }
  .ast-custom-footer.ch-footer-reveal {
    position: sticky;
    bottom: var(--ch-footer-bottom, 0px);
    z-index: 0;
  }
  .ast-custom-footer.ch-footer-reveal:focus-within {
    position: relative;
    bottom: auto;
  }
}
@media (max-width: 921px), (prefers-reduced-motion: reduce), (pointer: coarse) {
  .ch-footer-logo-art { transform: none !important; }
}
@media (max-width: 921px) {
  /* The editor's five-column desktop grid otherwise clips service links. */
  .ast-custom-footer .astra-advanced-hook-585 > [data-spectra-id="spectra-mus34tln-lt0e7c"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 24px;
    padding-left: 24px;
    padding-right: 24px;
  }
  .ast-custom-footer [data-spectra-id="spectra-mus350fh-dsyqzj"] {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr);
  }
  .ast-custom-footer .ch-footer-nav { min-width: 0; }
  .ast-custom-footer .ch-footer-links a { overflow-wrap: anywhere; }
}
@media print {
  .ast-custom-footer.ch-footer-reveal { position: static; }
  .ch-footer-logo-art { transform: none !important; }
}

/* Native menu columns: one Explore column, two balanced Services columns. */
.ast-custom-footer .astra-advanced-hook-585 > [data-spectra-id="spectra-mus34tln-lt0e7c"] {
 grid-template-columns:minmax(0,2fr) minmax(140px,.8fr) minmax(300px,1.5fr);
 gap:40px; align-items:start;
}
.ast-custom-footer [data-spectra-id="spectra-mus350fh-dsyqzj"] {grid-column:auto; grid-template-columns:minmax(0,1fr);}
.ast-custom-footer .ch-footer-about {max-width:540px;}
.ast-custom-footer .ch-footer-links {list-style:none;margin:0;padding:0;}
.ast-custom-footer .ch-footer-links li {margin:0 0 10px;break-inside:avoid;}
.ast-custom-footer .ch-footer-services .ch-footer-links {columns:2;column-gap:28px;}
.ast-custom-footer .ch-footer-nav nav {margin:0;}
body.ch-footer-in-view #masthead:not(:focus-within),
body.ch-footer-in-view #ast-fixed-header:not(:focus-within) {opacity:0;pointer-events:none;}
.ch-site-breadcrumbs {position:relative;z-index:2;margin:0 0 24px;font-family:var(--ch-font-body,inherit);font-size:13px;color:inherit;}
.ch-site-breadcrumbs .ast-breadcrumbs-wrapper {padding:0;margin:0;}
.ch-site-breadcrumbs .trail-items {display:flex;flex-wrap:wrap;gap:4px 0;padding:0;margin:0;list-style:none;}
.ch-site-breadcrumbs a {color:inherit;text-decoration:none;}
.ch-site-breadcrumbs a:hover {text-decoration:underline;}
@media(max-width:1100px) {
 .ast-custom-footer .astra-advanced-hook-585 > [data-spectra-id="spectra-mus34tln-lt0e7c"] {grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;}
 .ast-custom-footer [data-spectra-id="spectra-mus350fh-dsyqzj"] {grid-column:1/-1;}
}
@media(max-width:600px) {
 .ast-custom-footer .astra-advanced-hook-585 > [data-spectra-id="spectra-mus34tln-lt0e7c"] {grid-template-columns:minmax(0,1fr);gap:28px;}
 .ast-custom-footer .ch-footer-explore .ch-footer-links {columns:2;column-gap:24px;}
 .ast-custom-footer .ch-footer-services .ch-footer-links {column-gap:24px;}
}

/* Spectra positions direct children relatively; the decorative logo must fill its stage. */
.ast-custom-footer .ch-footer-logo-stage > .ch-footer-logo-art {
  position:absolute!important;
  inset:0!important;
  width:100%;
  height:100%;
  margin:0!important;
  padding:0;
  display:block;
  pointer-events:none;
}
