.global-not-found {
  display: grid;
  min-height: clamp(560px, calc(100svh - 68px), 760px);
  padding: 24px;
  place-items: center;
  background: #fff;
  color: #143a45;
}

.global-not-found__frame {
  position: relative;
  isolation: isolate;
  display: grid;
  width: min(1180px, 100%);
  min-height: 560px;
  padding: clamp(44px, 8vw, 104px);
  place-items: center;
  overflow: hidden;
  border: 1px solid #dbe6e9;
  border-radius: 34px;
  background:
    radial-gradient(circle at 12% 24%, rgba(0, 143, 195, .16) 0 4px, transparent 5px),
    radial-gradient(circle at 88% 74%, rgba(0, 143, 195, .14) 0 5px, transparent 6px),
    radial-gradient(ellipse 48% 70% at 52% 48%, rgba(255, 255, 255, .98) 0 36%, rgba(255, 255, 255, .76) 65%, rgba(255, 255, 255, .4) 100%),
    linear-gradient(135deg, #eef8fa, #f8fbfb 55%, #f1f8f5);
  box-shadow: 0 18px 52px rgba(20, 58, 69, .08);
}

.global-not-found__frame::before,
.global-not-found__frame::after {
  position: absolute;
  z-index: -1;
  width: 78%;
  height: 118%;
  border: 2px solid rgba(0, 143, 195, .12);
  border-radius: 50%;
  content: "";
}

.global-not-found__frame::before {
  top: -52%;
  left: -18%;
  transform: rotate(18deg);
}

.global-not-found__frame::after {
  right: -28%;
  bottom: -66%;
  transform: rotate(-14deg);
}

.global-not-found__content {
  width: min(900px, 100%);
  min-width: 0;
  text-align: center;
}

.global-not-found__eyebrow {
  display: block;
  color: #006d92;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.global-not-found h1 {
  width: min(820px, 100%);
  margin: 18px auto 0;
  color: #143a45;
  font: 750 clamp(40px, 5.8vw, 78px)/1.02 var(--casapay-font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  letter-spacing: -.055em;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.global-not-found__actions {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}

.global-not-found__primary {
  display: inline-flex;
  min-height: 50px;
  padding: 0 24px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  background: #008cbb;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.global-not-found__primary:hover { background: #00789f; }

@media (max-width: 680px) {
  .global-not-found {
    min-height: auto;
    padding: 12px;
  }

  .global-not-found__frame {
    min-height: 540px;
    padding: 48px 22px;
    border-radius: 28px;
  }

  .global-not-found h1 {
    font-size: clamp(38px, 11vw, 56px);
  }

  .global-not-found__primary { width: min(100%, 320px); }
}

/* Contact reuses the 404 card. Only the enquiry routes and office block are new. */
.global-contact .global-not-found__actions { flex-wrap: wrap; gap: 12px; }

.global-contact__lead {
  width: min(640px, 100%);
  margin: 20px auto 0;
  color: #42626d;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.55;
  text-wrap: pretty;
}

.global-contact__routes {
  display: grid;
  width: min(780px, 100%);
  margin: 34px auto 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}

.global-contact__routes li {
  display: flex;
  gap: 18px;
  padding: 16px 20px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #dbe6e9;
  border-radius: 16px;
  background: rgba(255, 255, 255, .82);
  text-align: left;
}

.global-contact__routes strong { display: block; color: #143a45; font-size: 16px; font-weight: 750; }

.global-contact__routes li > div > span { display: block; margin-top: 3px; color: #5b7681; font-size: 14px; line-height: 1.45; }

.global-contact__routes a { flex-shrink: 0; color: #006d92; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }

.global-contact__routes a:hover { text-decoration: underline; text-underline-offset: 3px; }

.global-contact__identity {
  display: grid;
  width: min(780px, 100%);
  margin: 30px auto 0;
  gap: 18px 28px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  text-align: center;
}

.global-contact__identity dt { color: #143a45; font-size: 14px; font-weight: 750; }

.global-contact__identity dd { margin: 6px 0 0; color: #5b7681; font-size: 14px; line-height: 1.5; }

.global-contact__identity dd span,
.global-contact__identity dd a { display: block; }

.global-contact__identity a { margin-top: 2px; color: #006d92; font-weight: 650; text-decoration: none; }

.global-contact__identity a:hover { text-decoration: underline; text-underline-offset: 3px; }

.global-contact__secondary {
  display: inline-flex;
  min-height: 50px;
  padding: 0 22px;
  align-items: center;
  justify-content: center;
  border: 1px solid #bcd6dd;
  border-radius: 999px;
  background: #fff;
  color: #143a45;
  font-weight: 750;
  text-decoration: none;
}

.global-contact__secondary:hover { border-color: #008cbb; }

@media (max-width: 680px) {
  .global-contact__routes li { flex-direction: column; align-items: flex-start; gap: 8px; }
  .global-contact__identity { grid-template-columns: 1fr; }
  .global-contact__secondary { width: min(100%, 320px); }
}

 .global-contact__help{margin:28px auto 0;text-align:center}
.global-contact__help h2{margin:0 0 16px;color:#143a45;font-size:20px;font-weight:750;line-height:1.3}
.global-contact__help-options{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.global-contact__help-options a{gap:14px}
.global-contact__help a:focus-visible{outline:3px solid #0088b3;outline-offset:3px}
@media(max-width:680px){.global-contact__help-options{flex-direction:column;align-items:center}}
