/* Shared closing navigation: a wide, quiet product panel and clear directory. */
body.site-closing-page .overview-cta.page-end-cta {
  position: relative;
  isolation: isolate;
  width: calc(100% - var(--site-gutter, 1.25rem) * 2);
  max-width: 100rem;
  min-height: 0;
  margin: 2rem auto 1.25rem;
  padding: clamp(3rem, 6vw, 6rem) 1.5rem 0;
  overflow: hidden;
  border: 0;
  border-radius: 1.75rem;
  background: linear-gradient(180deg, #d4dce5 0%, #e0e0e5 42%, #e8ded9 76%, #dbd4df 100%);
  color: #211f54;
}
/* Broad, soft shapes give the frosted surface depth without hard contour lines. */
body.site-closing-page .overview-cta.page-end-cta::before {
  content: "";
  position: absolute;
  inset: 46% -10% -30%;
  z-index: -2;
  background:
    radial-gradient(ellipse at 12% 88%, rgb(76 91 130 / 56%) 0%, rgb(102 117 152 / 36%) 30%, transparent 59%),
    radial-gradient(ellipse at 90% 98%, rgb(113 95 142 / 50%) 0%, rgb(145 123 157 / 30%) 34%, transparent 62%);
  pointer-events: none;
}
/* Grain stays behind all copy and controls; it never softens their rendering. */
body.site-closing-page .overview-cta.page-end-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url("../images/frosted-glass-grain.svg") repeat;
  opacity: .38;
  mix-blend-mode: soft-light;
  pointer-events: none;
}
body.site-closing-page .overview-cta.page-end-cta .page-end-cta__eyebrow { margin-bottom: 1.25rem; color: #6e7191; }
body.site-closing-page .overview-cta.page-end-cta .page-end-cta__title {
  max-width: 65rem;
  margin-bottom: 1.5rem;
  font-size: clamp(2.25rem, 5vw, 4.75rem);
  line-height: 1.18;
  color: #211f54;
}
body.site-closing-page .overview-cta.page-end-cta .page-end-cta__description { max-width: 42rem; color: #62647d; }
body.site-closing-page .overview-cta.page-end-cta .page-end-cta__actions { margin-top: 1.75rem; gap: .75rem 1.5rem; }
body.site-closing-page .overview-cta.page-end-cta .page-end-cta__download { background: #342a72; color: #fff; border-radius: .625rem; }
body.site-closing-page .overview-cta.page-end-cta .page-end-cta__download:hover { background: #4a3ca0; }
body.site-closing-page .overview-cta.page-end-cta .page-end-cta__link { color: #413865; }
body.site-closing-page .overview-cta.page-end-cta .page-end-cta__link:hover { color: #563aff; }
body.site-closing-page .overview-cta.page-end-cta a:focus-visible { outline-color: #563aff; }
body.site-closing-page .site-closing__preview {
  width: min(64rem, 100%);
  height: clamp(12rem, 25vw, 24rem);
  margin: clamp(2rem, 4vw, 4rem) auto 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid rgb(56 57 74 / 65%);
  border-radius: 1.75rem 1.75rem 0 0;
  background:
    linear-gradient(150deg, rgb(243 242 246 / 56%), rgb(217 220 230 / 35%) 50%, rgb(229 218 229 / 42%));
  -webkit-backdrop-filter: blur(32px) saturate(85%);
  backdrop-filter: blur(32px) saturate(85%);
  box-shadow:
    inset 0 0 0 3px rgb(49 51 67 / 78%),
    inset 0 0 0 4px rgb(255 255 255 / 35%),
    0 1.25rem 3rem rgb(42 43 64 / 14%);
}
/* Static grain gives a uniform backdrop a frosted surface without blurring UI. */
body.site-closing-page .site-closing__preview::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, rgb(255 255 255 / 12%), transparent 65%),
    url("../images/frosted-glass-grain.svg") repeat;
  opacity: .48;
  pointer-events: none;
}
/* A fine satin edge replaces the wide, glossy white rim. */
body.site-closing-page .site-closing__preview::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(135deg, #ffffff70, #ffffff10 45%, #4d4c6350 80%, #ffffff38);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}
body.site-closing-page .site-closing__preview img {
  position: relative;
  z-index: 1;
  display: block;
  width: calc(100% - 2.5rem);
  height: auto;
  margin: 2rem auto 0;
}
/* Animate only the product window; the frosted frame stays anchored. */
@media (prefers-reduced-motion: no-preference) {
  body.site-closing-page .site-closing__preview.has-preview-motion img {
    --preview-float-distance: -1.25rem;
    --preview-float-scale: 1.012;
    animation:
      closing-window-enter 1.2s cubic-bezier(.22, 1, .36, 1) both,
      closing-window-float 4.8s 1.2s ease-in-out infinite;
    animation-play-state: paused;
  }
  body.site-closing-page .site-closing__preview.is-preview-playing img {
    animation-play-state: running;
  }
  body.site-closing-page .page-end-cta .has-closing-copy-motion {
    animation: closing-copy-enter 1.1s cubic-bezier(.22, 1, .36, 1) both;
    animation-delay: var(--closing-copy-delay, 0s);
    animation-play-state: paused;
  }
  body.site-closing-page .page-end-cta .page-end-cta__title { --closing-copy-delay: .12s; }
  body.site-closing-page .page-end-cta .page-end-cta__description { --closing-copy-delay: .24s; }
  body.site-closing-page .page-end-cta .page-end-cta__actions { --closing-copy-delay: .36s; }
  body.site-closing-page .page-end-cta .is-closing-copy-playing { animation-play-state: running; }
  body.site-closing-page .page-end-cta .page-end-cta__actions:focus-within { animation: none; }
  @media (max-width: 767px) {
    body.site-closing-page .site-closing__preview.has-preview-motion img {
      --preview-float-distance: -.3rem;
      --preview-float-scale: 1.006;
    }
  }
}
@keyframes closing-window-enter {
  from { translate: 0 3rem; scale: .96; opacity: .3; }
  to { translate: 0 0; scale: 1; opacity: 1; }
}
@keyframes closing-window-float {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(var(--preview-float-distance)) scale(var(--preview-float-scale)); }
}
@keyframes closing-copy-enter {
  from { transform: translateY(2rem); opacity: .25; }
  to { transform: translateY(0); opacity: 1; }
}
body.site-closing-page #geo-product-faq.geo-faq-section {
  margin: 1.25rem var(--site-gutter, 1.25rem);
  border-radius: 1.75rem;
  background: #fafcff;
}
body.site-closing-page #geo-product-faq.geo-faq-section .geo-faq-shell {
  padding: clamp(2.5rem, 4vw, 4rem) clamp(1.25rem, 6.5vw, 8rem);
}


body.site-closing-page .section-footer-black {
  margin: 0;
  padding: clamp(2.5rem, 5vw, 4.5rem) 0 1.5rem;
  border-radius: 1.75rem 1.75rem 0 0;
  background: #202035;
}
body.site-closing-page .section-footer-black .container-18 { width: 100%; max-width: 86rem; padding-inline: clamp(1.5rem, 5vw, 5rem); box-sizing: border-box; }
/* Three columns: brand, download and contact, the agents it works with, and the QR codes. */
body.site-closing-page .footer-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) auto; gap: 3rem; align-items: start; }
body.site-closing-page .footer-content > .footer-brand-content { grid-area: 1 / 1 / 2 / 2 !important; max-width: 36rem; width: auto; }
body.site-closing-page .footer-content > .footer-agents { grid-area: 1 / 2 / 2 / 3; display: grid; align-content: start; gap: 1.75rem; }
body.site-closing-page .footer-label { margin: 0 0 .875rem; color: #8e90ad; font-size: .6875rem; font-weight: 600; letter-spacing: .14em; }
body.site-closing-page .footer-agents__list { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin: 0; padding: 0; list-style: none; }
body.site-closing-page .footer-agents__list li { display: flex; align-items: center; gap: .5rem; color: #d7d8e6; font-size: .8125rem; }
body.site-closing-page .footer-agents__list img { width: 1.75rem; height: 1.75rem; border-radius: .5rem; background: #fff; object-fit: contain; box-shadow: 0 0 0 1px rgba(255, 255, 255, .12); }
body.site-closing-page .footer-contact { margin-top: 0; }
body.site-closing-page .footer-contact__text { margin: 0; color: #babbd0; font-size: .9375rem; line-height: 1.8; }
body.site-closing-page .footer-contact__text a { color: #e4e5f1; text-decoration: none; }
body.site-closing-page .footer-contact__text a:hover { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
body.site-closing-page .section-footer-black a:focus-visible { outline: 2px solid #b6a9ff; outline-offset: 4px; }
body.site-closing-page .footer-subtext { color: #babbd0; }
body.site-closing-page .footer-brand-content .padding-bottom { display: none; }
body.site-closing-page .footer-brand-content .button-10 { margin: .5rem 0 1.25rem; }
body.site-closing-page .footer-content > .div-block-47 { grid-area: 1 / 3 / 2 / 4 !important; display: grid; grid-template-columns: repeat(2, 7rem); gap: .75rem 1.5rem; width: auto; margin: 0; }
body.site-closing-page .div-block-47 .qrfeatureimage { grid-area: auto !important; width: 7rem; height: 7rem; border-radius: .5rem; }
body.site-closing-page .div-block-47 .qrcodetext { grid-area: auto !important; max-width: 7rem; margin: 0; font-size: .75rem; color: #babbd0; }
body.site-closing-page .div-block-47 .qrfeatureimage:nth-of-type(2) { grid-area: 1 / 2 !important; }
body.site-closing-page .footer-line { background: #ffffff21; }
body.site-closing-page .made-by-section { gap: 1rem; flex-wrap: wrap; }
body.site-closing-page .copyright-text, body.site-closing-page .policeagreement :is(p, a) { font-size: .75rem; color: #aaaabd; }
/* Legal links sit beside the copyright, in the same quiet type. */
body.site-closing-page .copyright-text-holder { flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; }
body.site-closing-page .footer-legal { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
body.site-closing-page .footer-legal a { color: #aaaabd; font-size: .75rem; text-decoration: none; transition: color .2s ease; }
body.site-closing-page .footer-legal a:hover { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
body.site-closing-page .footer-legal a:focus-visible { outline: 2px solid #bdcaff; outline-offset: 2px; border-radius: 2px; }
@media (max-width: 991px) {
  body.site-closing-page .footer-content { grid-template-columns: minmax(0, 1fr) auto; }
  body.site-closing-page .footer-content > .footer-agents { grid-area: 2 / 1 / 3 / -1; }
  body.site-closing-page .footer-content > .div-block-47 { grid-area: 1 / 2 / 2 / 3 !important; }
}
@media (max-width: 767px) {
  body.site-closing-page .overview-cta.page-end-cta { padding: 3rem 1.25rem 0; border-radius: 1.25rem; }
  body.site-closing-page .overview-cta.page-end-cta .page-end-cta__actions { gap: .375rem; }
  body.site-closing-page .footer-content { grid-template-columns: 1fr; gap: 2rem; }
  body.site-closing-page .footer-content > .footer-agents { grid-area: 2 / 1 / 3 / 2; }
  body.site-closing-page .footer-content > .div-block-47 { grid-area: 3 / 1 / 4 / 2 !important; justify-self: start; }
  body.site-closing-page .section-footer-black { border-radius: 1.25rem 1.25rem 0 0; }
  body.site-closing-page .site-closing__preview { border-radius: 1.25rem 1.25rem 0 0; }
  body.site-closing-page .site-closing__preview img { width: calc(100% - 1rem); margin-top: .5rem; }
  body.site-closing-page .made-by-section, body.site-closing-page .policeagreement { flex-direction: column; align-items: flex-start; }
}
