main {
  background: var(--cream);
}

/* Contact layout */
.contact-page {
  display: grid;
  gap: 10%;
  grid-template-columns: 1fr .85fr;
  margin: auto;
  max-width: 1180px;
  padding: 110px 5vw;
}

.contact-copy {
  align-self: center;
}

.contact-copy h1 {
  font: 600 clamp(50px, 7vw, 90px) / .92 var(--display);
  letter-spacing: -.08em;
  margin: 25px 0;
}

.contact-copy h1 em {
  font-family: var(--serif);
  font-weight: 400;
}

.contact-copy > p:not(.eyebrow) {
  color: #657069;
  font-size: 17px;
  max-width: 420px;
}

.contact-details {
  display: grid;
  gap: 18px;
  margin-top: 55px;
}

.contact-details a,
.contact-details div {
  display: grid;
  font-size: 14px;
  gap: 3px;
}

.contact-details strong {
  color: var(--orange);
  font: 600 10px var(--display);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.contact-details span {
  color: var(--ink);
}

/* Quote form */
.quote-form {
  background: var(--header-green);
  color: var(--cream);
  display: grid;
  gap: 17px;
  padding: 34px;
}

.form-heading {
  border-bottom: 1px solid rgba(245, 240, 231, .25);
  margin-bottom: 8px;
  padding-bottom: 20px;
}

.form-heading span {
  color: var(--orange);
  font: 600 11px var(--display);
}

.form-heading h2 {
  font: 600 30px / 1 var(--display);
  letter-spacing: -.06em;
  margin: 15px 0 8px;
}

.form-heading p {
  color: rgba(245, 240, 231, .65);
  font-size: 12px;
  margin: 0;
}

.quote-form label {
  display: grid;
  font: 600 11px var(--display);
  gap: 7px;
  letter-spacing: .04em;
}

.quote-form input,
.quote-form select,
.quote-form textarea {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(245, 240, 231, .4);
  color: #fff;
  font: 14px var(--sans);
  outline: 0;
  padding: 10px 0;
  resize: vertical;
}

.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus {
  border-bottom-color: var(--orange);
}

.quote-form select option {
  color: var(--ink);
}

.quote-form input::placeholder,
.quote-form textarea::placeholder {
  color: rgba(245, 240, 231, .5);
}

.quote-form .button {
  background: var(--orange);
  border: 0;
  color: #fff;
  cursor: pointer;
  justify-content: center;
  margin-top: 10px;
}

/* Follow-up CTA */
.contact-next {
  background: var(--orange);
  padding: 85px max(5vw, calc((100% - 1180px) / 2));
}

.contact-next h2 {
  font: 600 clamp(44px, 6vw, 72px) / .92 var(--display);
  letter-spacing: -.08em;
  margin: 22px 0;
}

.contact-next h2 em {
  font-family: var(--serif);
  font-weight: 400;
}

.outline-button {
  border: 1px solid var(--ink);
  color: var(--ink);
  display: inline-flex;
  font: 600 13px var(--display);
  margin-top: 10px;
  padding: 15px 19px;
}

.outline-button span {
  font-size: 18px;
  margin-left: 12px;
}

@media (max-width: 700px) {
  .contact-page {
    display: block;
    padding: 75px 6vw;
  }

  .quote-form {
    margin-top: 55px;
    padding: 25px;
  }

  .contact-next {
    padding: 70px 6vw;
  }
}
