.contact-page {
  min-height: 100vh;
  background: #fff8fb;
  color: #21191e;
}

.contact-hero {
  min-height: 32rem;
  color: white;
  background:
    linear-gradient(110deg, rgba(12, 8, 11, .94), rgba(12, 8, 11, .38)),
    url("assets/market-artist-hero.jpg") center 42% / cover;
}

.contact-topbar { position: relative; z-index: 1; }

.contact-hero__content {
  width: min(760px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(6rem, 15vw, 9rem) 0 5rem;
}

.contact-hero__content h1,
.contact-intro h2 {
  margin: .35rem 0 1rem;
  font: 700 clamp(2.8rem, 8vw, 6rem)/.95 Georgia, "Times New Roman", serif;
}

.contact-hero__content p:last-child { max-width: 650px; font-size: 1.2rem; line-height: 1.7; }

.contact-main { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 5rem 0; }

.contact-intro { display: grid; grid-template-columns: 1.4fr .7fr; gap: clamp(2rem, 6vw, 5rem); align-items: end; }
.contact-intro h2 { font-size: clamp(2.3rem, 5vw, 4.7rem); }
.contact-intro > div > p:last-child { max-width: 690px; color: #62535c; font-size: 1.08rem; line-height: 1.75; }
.contact-intro aside { display: grid; gap: .55rem; padding: 1.5rem; border: 2px solid #21191e; border-radius: 18px; background: #fff; box-shadow: 7px 7px 0 #f82890; }
.contact-intro aside a { color: #b8005a; font-weight: 800; }
.contact-intro aside span { color: #62535c; line-height: 1.55; }

.contact-form { margin-top: 3rem; padding: clamp(1.25rem, 4vw, 3rem); border-radius: 28px; background: #171217; color: white; box-shadow: 0 24px 60px rgba(38, 18, 29, .18); }
.contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.contact-form label { display: grid; gap: .5rem; color: #fff !important; font-weight: 800; }
.contact-form label small { font-weight: 500; color: #cbbfc6; }
.contact-form input,
.contact-form select,
.contact-form textarea { width: 100%; min-width: 0; padding: .95rem 1rem; border: 2px solid transparent; border-radius: 13px; background: #fff; color: #171217; font: inherit; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { border-color: #ff0a78; outline: 3px solid rgba(255, 10, 120, .2); }
.contact-form__message { margin-top: 1.15rem; }
.contact-form textarea { resize: vertical; line-height: 1.55; }
.contact-form__honeypot { position: absolute !important; left: -10000px !important; }
.contact-consent { grid-template-columns: auto 1fr !important; align-items: start; margin-top: 1.2rem; color: #f4e9ef !important; font-weight: 600 !important; line-height: 1.55; }
.contact-consent input { width: 1.25rem; height: 1.25rem; margin-top: .15rem; accent-color: #ff0a78; }
.contact-privacy { color: #cbbfc6; font-size: .9rem; line-height: 1.55; }
.contact-privacy a { color: #ff83bb; }
.contact-form__actions { display: flex; gap: 1rem; align-items: center; margin-top: 1.5rem; }
.contact-form__actions p { margin: 0; line-height: 1.5; }

@media (max-width: 760px) {
  .contact-intro,
  .contact-form__grid { grid-template-columns: 1fr; }
  .contact-hero { min-height: 28rem; }
  .contact-main { padding: 3.5rem 0; }
  .contact-form__actions { align-items: stretch; flex-direction: column; }
}
