/* 21st / Paper Fluted Glass, adapted to the existing navy and ice-blue palette. */
.geo-footer-shader {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  height: clamp(440px, 46vw, 680px);
  background: repeating-linear-gradient(90deg, #bdd6f24d 0, #06122500 2px, #06122599 5px, #9ebcde44 7px, #06122500 9px), radial-gradient(ellipse at 25% 65%, #9ebcde 0, #28517b 35%, #102b50 58%, #061225 90%);
  contain: layout paint;
}
.geo-footer-shader__surface { position: absolute; z-index: 0; inset: 0; opacity: 0; pointer-events: none; }
.geo-footer-shader.is-ready .geo-footer-shader__surface { opacity: 1; }
.geo-footer-shader__surface canvas { display: block; width: 100%; height: 100%; }
.geo-footer-shader::before,
.geo-footer-shader::after {
  position: absolute;
  inset: 0;
  content: '';
  pointer-events: none;
}
.geo-footer-shader::before {
  z-index: 1;
  background: linear-gradient(90deg, #061225e6 0%, #061225c7 55%, #06122533 100%);
}
.geo-footer-shader::after {
  z-index: 2;
  background: linear-gradient(180deg, #061225 0%, #06122500 24%, #ffffff00 72%, #fff 100%);
}
.geo-footer-shader__cta { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 30px; height: 100%; padding-bottom: 30px; }
.geo-footer-shader__cta h2 { max-width: 22ch; margin: 0; color: #f5f8ff; font: 450 clamp(34px, 4.8vw, 68px)/1.12 var(--font-display); letter-spacing: -.045em; text-wrap: balance; }
.geo-footer-shader__button { display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; min-height: 54px; padding: 16px 22px; border: 1px solid #f5f8ff; border-radius: 4px; background: #f5f8ff; color: #061225; font: 600 13px/1.4 var(--font-display); text-decoration: none; transition: background .16s; }
.geo-footer-shader__button:hover { background: #dceafd; color: #061225; }
.geo-footer-shader__button span { font-size: 20px; }
html[data-geo-design] .geo-footer-shader__button:focus-visible { outline: 2px solid #f5f8ff; outline-offset: 6px; }
html[data-geo-design] .geo-footer-shader + .geo-footer { border-top: 0; }
@media (max-width: 640px) {
  .geo-footer-shader { height: 440px; }
  .geo-footer-shader__cta { gap: 26px; }
  .geo-footer-shader__cta h2 { max-width: 17ch; }
  .geo-footer-shader::before { background: linear-gradient(90deg, #061225e6, #061225b8); }
}
@media (prefers-reduced-motion: reduce) { .geo-footer-shader__button { transition: none; } }
