.container {
  width: min(1140px, 92%);
  margin-inline: auto;
}

main { overflow: clip; }

.section-frame {
  padding: clamp(3.6rem, 8vw, 6.5rem) 0;
  border-top: 1px solid rgba(198, 160, 98, 0.2);
  position: relative;
  isolation: isolate;
}

.section-frame.section-tight {
  padding-block: clamp(2.8rem, 6vw, 4.6rem);
}

.section-frame.section-grand {
  padding-block: clamp(4.6rem, 9vw, 7.8rem);
}

.section-frame.section-overlap {
  z-index: 2;
}

@media (min-width: 900px) {
  .section-frame.section-overlap {
    margin-top: clamp(-3rem, -4vw, -1.25rem);
  }
}

.section-frame::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: min(88%, 920px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(198, 160, 98, 0.8), transparent);
}

.section-frame::before {
  content: '';
  position: absolute;
  inset: clamp(0.45rem, 1.1vw, 0.9rem) clamp(0.9rem, 2.5vw, 2.2rem);
  border: 1px solid rgba(198, 160, 98, 0.09);
  pointer-events: none;
  z-index: -1;
}

.two-col {
  display: grid;
  gap: clamp(1.3rem, 3vw, 3.6rem);
}

@media (min-width: 900px) {
  .two-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
  }
}

.btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.2rem;
}

.btn-row .btn {
  flex: 0 1 auto;
}

.section-title {
  text-align: center;
  font-size: clamp(2rem, 4.2vw, 3.3rem);
  margin-bottom: clamp(1.5rem, 4vw, 2.4rem);
}

.section-title.with-lines {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.section-title.with-lines::before,
.section-title.with-lines::after {
  content: '';
  flex: 0 1 130px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

@media (max-width: 699px) {
  .btn-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
  }

  .btn-row .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 520px) {
  .btn-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.65rem;
  }

  .section-title.with-lines {
    gap: 0.7rem;
  }

  .section-title.with-lines::before,
  .section-title.with-lines::after {
    flex-basis: clamp(42px, 18vw, 76px);
  }
}
