.contact,
.cta > a {
  border: 1px solid #dcb767a8;
  background: linear-gradient(135deg, #dcb76726, #ffffff0a);
  color: #f7f2e8;
  box-shadow: inset 0 1px #ffffff1f, 0 12px 34px #00000029;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.brand {
  width: clamp(132px, 14vw, 180px);
  height: 72px;
  display: flex;
  align-items: center;
  overflow: visible;
}

.brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
  transform: none;
}

.contact:hover,
.cta > a:hover {
  transform: translateY(-2px);
  border-color: #efd48f;
  background: linear-gradient(135deg, #dcb76742, #ffffff12);
  box-shadow: inset 0 1px #ffffff2b, 0 16px 38px #00000040;
}

.contact:focus-visible,
.cta > a:focus-visible,
.links nav a:focus-visible {
  outline: 2px solid #efd48f;
  outline-offset: 4px;
}

.cta > a {
  align-items: center;
  justify-content: center;
  min-width: 235px;
  padding: 1rem 1.35rem;
}

.cta > a svg {
  width: 21px;
  height: 21px;
  fill: currentColor;
  flex: 0 0 21px;
}

.links nav a {
  align-items: center;
  gap: 1rem;
}

.links nav a svg {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 4px 10px #0006);
}

.links nav a svg .icon-fill {
  fill: currentColor;
  stroke: none;
}

.links nav a:hover svg {
  filter: none;
}

@media (max-width: 480px) {
  .brand {
    width: 128px;
    height: 60px;
  }

  .cta > a {
    width: 100%;
    max-width: 310px;
  }

  .links nav a {
    min-height: 78px;
    padding: 1.25rem;
  }

  .links nav a svg {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
  }
}
