/* ================================================================
   FORMS — Newsletter + Contact
   ================================================================ */

/* Newsletter section (dark bg inline) */
.nl-section {
  background: var(--white); color: var(--black);
  padding: 80px var(--page-gutter);
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 80px; align-items: center;
}
.nl-h {
  font-family: var(--ff-display);
  font-size: clamp(32px, 4vw, 54px);
  font-weight: 900; text-transform: uppercase;
  line-height: 0.95; letter-spacing: -0.02em;
}
.nl-h em { font-style: italic; font-weight: 400; }
.nl-sub { font-size: 14px; color: var(--mid-gray); margin-top: 14px; line-height: 1.7; }
.nl-form { display: flex; flex-direction: column; gap: 12px; }
.nl-input {
  background: transparent; border: none;
  border-bottom: 2px solid var(--black);
  padding: 12px 0; font-size: 16px; color: var(--black);
  outline: none; font-family: var(--ff-body); letter-spacing: 0.02em;
}
.nl-input::placeholder { color: var(--silver); }
.nl-note { font-size: 11px; color: var(--light-gray); letter-spacing: 0.06em; margin-top: 4px; }

/* Contact / generic form */
.c-form-group { margin-bottom: 24px; }
.c-form-label {
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--mid-gray); display: block; margin-bottom: 8px;
}
.c-form-input,
.c-form-textarea,
.c-form-select {
  width: 100%; background: transparent; border: none;
  border-bottom: 1.5px solid rgba(0,0,0,0.2);
  padding: 10px 0; font-size: 15px; color: var(--black);
  outline: none; font-family: var(--ff-body); transition: border-color var(--speed-fast);
  appearance: none;
}
.c-form-input:focus,
.c-form-textarea:focus,
.c-form-select:focus { border-color: var(--black); }
.c-form-input::placeholder,
.c-form-textarea::placeholder { color: var(--silver); }
.c-form-textarea { resize: vertical; min-height: 100px; }

/* Dark form variants */
.c-form-input--dark,
.c-form-textarea--dark {
  color: var(--white);
  border-bottom-color: rgba(255,255,255,0.2);
}
.c-form-input--dark:focus,
.c-form-textarea--dark:focus { border-color: var(--white); }
.c-form-input--dark::placeholder,
.c-form-textarea--dark::placeholder { color: var(--mid-gray); }
.c-form-label--dark { color: var(--gray); }

/* Contact page layout */
.contact-wrap {
  display: grid; grid-template-columns: 1fr 1fr; min-height: 80vh;
}
.contact-left {
  background: var(--white); color: var(--black);
  padding: 72px 60px; display: flex; flex-direction: column; justify-content: center;
}
.contact-right {
  background: var(--off-black); padding: 72px 60px;
  display: flex; flex-direction: column; justify-content: center;
}
.contact-h {
  font-family: var(--ff-display); font-size: 42px; font-weight: 900;
  text-transform: uppercase; letter-spacing: -0.02em; line-height: 1; margin-bottom: 32px;
}
.contact-h em { font-style: italic; font-weight: 400; }
.contact-info-item { margin-bottom: 28px; }
.contact-info-label {
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gray); margin-bottom: 6px;
}
.contact-info-val { font-size: 15px; color: var(--white); }
.contact-info-desc { font-size: 13px; color: var(--gray); margin-top: 3px; }
