/* ----------------- BUTTONS ----------------- */

.primary-button {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 1rem 1.8rem;

  border: 1px solid var(--color-gold);

  border-radius: 999px;

  background: var(--color-gold);

  color: var(--color-navy);

  font-size: 0.72rem;

  font-weight: 600;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  transition: var(--transition-default);

}

.primary-button:hover {

  background: var(--color-gold-light);

  border-color: var(--color-gold-light);

  transform: translateY(-2px);

}

/* ----------------- OUTLINE BUTTON ----------------- */

.outline-button {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 1rem 2.2rem;

  border: 1px solid rgba(201,168,76,0.35);

  border-radius: 999px;

  color: var(--color-gold-light);

  font-size: 0.72rem;

  font-weight: 500;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  transition: var(--transition-default);

}

.outline-button:hover {

  border-color: var(--color-gold);

  color: var(--color-gold);

  transform: translateY(-2px);

}

/* ----------------- CARD BASE ----------------- */

.card {

  position: relative;

  overflow: hidden;

  padding: 2.8rem;

  border:
    1px solid rgba(201,168,76,0.12);

  background:

    linear-gradient(
      180deg,
      rgba(255,255,255,0.03),
      rgba(255,255,255,0.015)
    );

  backdrop-filter: blur(10px);

  transition:

    transform 500ms ease,
    border-color 500ms ease,
    background 500ms ease;

}

.card:hover {

  transform:
    translateY(-6px);

  border-color:
    rgba(201,168,76,0.32);

  background:

    linear-gradient(
      180deg,
      rgba(255,255,255,0.045),
      rgba(255,255,255,0.02)
    );

}


.card::after {

  content: '';

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 1px;

  background:

    linear-gradient(
      90deg,
      transparent,
      rgba(201,168,76,0.28),
      transparent
    );

  opacity: 0;

  transition: var(--transition-default);

}

.card:hover::after {

  opacity: 1;

}


/* ----------------- META TEXT ----------------- */

.meta-text {

  color: var(--color-gold);

  font-size: 0.68rem;

  letter-spacing: 0.24em;

  text-transform: uppercase;

}



/* ----------------- PREMIUM CARD HOVER ----------------- */

.card {

  overflow: hidden;

}

.card::before {

  content: '';

  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,0.04),
      transparent 35%
    );

  opacity: 0;

  transition: var(--transition-default);

}

.card:hover::before {

  opacity: 1;

}


/* ----------------- FORM FIELDS ----------------- */

.contact-form input,
.contact-form textarea {

  transition:
    border-color 300ms ease,
    background 300ms ease,
    transform 300ms ease;

}

.contact-form input:focus,
.contact-form textarea:focus {

  background: rgba(255,255,255,0.045);

  transform: translateY(-1px);

}