/* Match the white and gold words in every section title. */
.section h2 { line-height: 1.24; letter-spacing: -.045em; }
.section h2 em {
  font-family: inherit;
  font-size: 1em;
  font-weight: inherit;
  font-style: normal;
  letter-spacing: inherit;
  margin-inline-start: .09em;
  color: #e2c58d;
}
.process h2 em { margin-inline-start: 0; }

/* Dark enamel, a fine metal rim, and a separate illuminated arrow. */
.button.gold, .hero-actions .button.gold {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 64px;
  padding: 10px 11px 10px 24px;
  gap: 24px;
  border: 1px solid transparent;
  border-radius: 100px;
  background: linear-gradient(120deg, #253746, #101f2d 65%, #233341) padding-box,
    linear-gradient(120deg, #f2dba4, #98743c 40%, #cfad6d 75%, #f2dba4) border-box;
  color: #f0dcaf;
  box-shadow: inset 0 1px 0 #ffffff10, inset 0 -1px 0 #0005,
    0 10px 30px #0003, 0 0 24px #c6a66a0b;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .015em;
  transition: box-shadow .8s, transform .65s var(--ease), color .7s;
}
.button.gold::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid #e2c58d13;
  border-radius: inherit;
  background: none;
  transform: none;
  pointer-events: none;
  z-index: -1;
}
.button.gold::after {
  content: '';
  position: absolute;
  inset: -100% -30%;
  width: auto; height: auto;
  background: linear-gradient(110deg, transparent 40%, #fff1ce18 50%, transparent 60%);
  transform: translateX(-85%);
  animation: bt-button-sheen 8s ease-in-out 1.5s infinite;
  pointer-events: none;
  z-index: -1;
}
.button.gold > span { position: relative; z-index: 1; }
.button.gold:hover::before { transform: none; }
.button.gold > b {
  display: grid; place-items: center; flex: 0 0 42px;
  width: 42px; height: 42px;
  border-radius: 50%;
  border: 1px solid #f8e9c7a8;
  background: linear-gradient(135deg, #f0d49b, #bb9654);
  color: #172531;
  box-shadow: 0 0 0 4px #c6a66a0c, inset 0 1px 0 #fff6;
  font-size: 20px; font-weight: 400;
  transition: transform .7s var(--ease), box-shadow .8s;
}
.button.gold:hover, .hero-actions .button.gold:hover {
  background: linear-gradient(120deg, #2a4052, #152838 65%, #263c4a) padding-box,
    linear-gradient(120deg, #f2dba4, #98743c 40%, #cfad6d 75%, #f2dba4) border-box;
  color: #fff0ce;
  box-shadow: inset 0 1px 0 #ffffff17, 0 13px 35px #0004, 0 0 28px #c6a66a19;
  transform: translateY(-3px);
}
.button.gold:hover > b { transform: rotate(45deg); box-shadow: 0 0 0 6px #c6a66a15, 0 0 22px #c6a66a25; }
.button.gold:active { transform: translateY(0) scale(.985); }
.button.gold:focus-visible { outline: 2px solid #f3d89d; outline-offset: 5px; }
@keyframes bt-button-sheen {
  0%, 52% { transform: translateX(-85%); opacity: 0; }
  58% { opacity: 1; }
  82%, 100% { transform: translateX(85%); opacity: 0; }
}
@media (max-width: 700px) {
  .hero { padding-top: clamp(217px, 62vw, 360px); }
  .hero-actions .button.gold { font-size: 12px; min-height: 63px; }
  .contact-copy .button.gold { width: fit-content; max-width: 100%; }
  .section h2 { line-height: 1.25; }
}
@media (max-width: 360px) {
  .hero { padding-top: 205px; }
  .button.gold, .hero-actions .button.gold { padding-left: 19px; gap: 12px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .button.gold::after { animation: none; opacity: 0; }
  .button.gold:hover, .hero-actions .button.gold:hover, .button.gold:hover > b { transform: none; }
}
