/* contact page only. Form, fields, notes, card, .num, .kicker come from site.css. */
.contact__grid {
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: clamp(48px, 7vw, 120px); align-items: start;
}
.field__hint { font-weight: 400; margin-left: 4px; }
.req { color: var(--accent); }
#enquiry .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#enquiry button[disabled] { opacity: .6; cursor: progress; }
.form__note.is-ok { font-weight: 700; }
.form__note a { color: inherit; text-decoration: underline; }

.contact__side { display: grid; gap: clamp(48px, 5vw, 72px); padding-top: 12px; }
.contact__direct { display: grid; gap: 12px; }
.contact__direct .kicker, .contact__next .kicker { margin-bottom: 14px; }
.contact__link {
  font-family: 'Outfit', system-ui, sans-serif; font-weight: 700; letter-spacing: -.015em;
  font-size: clamp(19px, 1.7vw, 24px); overflow-wrap: anywhere; transition: color .2s var(--ease);
}
.contact__link:hover { color: var(--accent); }

.steps { list-style: none; display: grid; gap: 30px; }
.steps li { display: grid; grid-template-columns: 84px 1fr; gap: 18px; align-items: start; }
.steps .num { font-size: 56px; }
.steps h3 { font-size: 21px; margin-bottom: 6px; }
.steps .copy { font-size: 16px; }
.contact__nda { margin-top: 34px; font-size: 14px; color: var(--muted); }

@media (max-width: 760px) {
  .contact__grid { grid-template-columns: 1fr; }
  .form__row { grid-template-columns: 1fr; }
  .form .btn-primary { justify-self: stretch; justify-content: center; }
  .steps li { grid-template-columns: 64px 1fr; }
  .steps .num { font-size: 46px; }
}

/* lily scene (js/scenes/lily.js): on phones the pond sits in the space after the side column */
@media (max-width: 760px) {
  body[data-scene="lily"] .contact__side { padding-bottom: 150px; }
}
