/* ==========================================================================
   Andrine Mendez — Contact page. Transcribed from project/Contact.dc.html.
   ========================================================================== */

.contact-hero { background: var(--brand); border-top: 2.5px solid var(--ink-900); }
.contact-hero-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 72px 32px;
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 40px;
  align-items: start;
}
.contact-hero h1 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(36px, 6vw, 60px);
  letter-spacing: -0.03em;
  line-height: 0.95;
  margin: 14px 0 8px;
  color: var(--ink-900);
}
.contact-hero p.lead {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--ink-800);
  max-width: 44ch;
  margin: 0 0 32px;
}

.contact-form-card { background: var(--white); display: flex; flex-direction: column; gap: 16px; }
.contact-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-sent-card { background: var(--white); }
.contact-sent-title { font-family: var(--font-display); font-weight: 800; font-size: 22px; color: var(--ink-900); }
.contact-sent-card p { font-family: var(--font-body); color: var(--grey-600); margin: 8px 0 0; }
.contact-sent-card p a { font-weight: 600; }

/* Netlify spam honeypot — off-screen, not display:none (bots skip those) */
.hp-field {
  position: absolute;
  left: -5000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.contact-form-error {
  background: var(--danger-tint);
  color: var(--danger);
  border: 1.5px solid var(--danger);
  border-radius: var(--radius-md);
  padding: 14px 18px;
  font-family: var(--font-body);
  font-size: 14px;
  margin: 0 0 16px;
}
.contact-form-error a { color: var(--danger); font-weight: 700; }

.contact-portrait-wrap { position: relative; height: 220px; }
.contact-portrait-offset {
  position: absolute; top: 16px; left: 16px;
  width: 100%; height: 100%;
  background: var(--ink-900);
  border-radius: 18px;
}
.contact-portrait-cutout {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  clip-path: polygon(14% 0%, 86% 4%, 100% 32%, 94% 72%, 74% 100%, 26% 95%, 2% 62%, 6% 18%);
}

.contact-direct {
  max-width: 1120px; margin: 0 auto; padding: 56px 32px;
  display: flex; gap: 40px; flex-wrap: wrap;
}
.contact-direct a {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  text-decoration: none;
}

@media (max-width: 700px) {
  .contact-hero-inner { grid-template-columns: 1fr; }
  .contact-portrait-wrap { height: 200px; }
  .contact-form-row { grid-template-columns: 1fr; }
}
