.vincula-error-page {
  position: relative;
  display: grid;
  min-height: 68vh;
  place-items: center;
  overflow: hidden;
  padding: clamp(72px, 10vw, 130px) 0;
  background: #785ef0;
  color: #fff;
}

.vincula-error-page__decoration {
  position: absolute;
  top: -170px;
  right: -120px;
  width: 430px;
  height: 430px;
  border: 72px solid rgb(255 255 255 / 9%);
  border-radius: 50%;
}

.vincula-error-page__decoration::after {
  position: absolute;
  right: 215px;
  bottom: -310px;
  width: 180px;
  height: 180px;
  border: 2px solid rgb(255 176 0 / 55%);
  border-radius: 50%;
  content: "";
}

.vincula-error-page__container {
  position: relative;
  z-index: 1;
}

.vincula-error-card {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: clamp(34px, 6vw, 68px);
  border: 1px solid rgb(255 255 255 / 32%);
  border-radius: 34px;
  background: rgb(255 255 255 / 10%);
  box-shadow: 0 30px 80px rgb(37 28 73 / 28%);
  text-align: center;
  backdrop-filter: blur(8px);
}

.vincula-error-card__code {
  color: rgb(255 255 255 / 16%);
  font-size: clamp(5.5rem, 17vw, 10rem);
  font-weight: 900;
  line-height: .75;
  letter-spacing: -.08em;
}

.vincula-error-card__eyebrow {
  display: inline-block;
  margin: 30px 0 20px;
  padding: 8px 16px;
  border-radius: 50px;
  background: #ffb000;
  color: #21183f;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.vincula-error-card h1 {
  max-width: 650px;
  margin: 0 auto;
  color: #fff;
  font-size: clamp(2rem, 5vw, 3.6rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.045em;
}

.vincula-error-card__message {
  max-width: 580px;
  margin: 24px auto 0;
  color: rgb(255 255 255 / 86%);
  font-size: clamp(1rem, 2vw, 1.12rem);
  line-height: 1.75;
}

.vincula-error-card__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.vincula-error-card__actions a {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 13px 24px;
  border-radius: 50px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease;
}

.vincula-error-card__actions a:hover { transform: translateY(-2px); }
.vincula-error-card__primary { background: #ffb000; color: #21183f; }
.vincula-error-card__primary:hover { background: #ffc13d; color: #21183f; }
.vincula-error-card__secondary { border: 1px solid rgb(255 255 255 / 65%); color: #fff; }
.vincula-error-card__secondary:hover { background: #fff; color: #6045d8; }

@media (max-width: 575.98px) {
  .vincula-error-page { min-height: 72vh; padding: 56px 12px; }
  .vincula-error-card { border-radius: 26px; }
  .vincula-error-card__actions { align-items: stretch; flex-direction: column; }
  .vincula-error-card__actions a { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .vincula-error-card__actions a { transition: none; }
}
