
.ct__top {
  display: grid;
  grid-template-columns: minmax(min(300px, 100%), 1fr) minmax(min(320px, 100%), 0.9fr);
  gap: clamp(36px, 6vw, 100px);
  align-items: end;
  margin-bottom: clamp(36px, 6vh, 64px);
}
.ct__side .ct__details { margin-top: 0; }

.ct__intro h1 { margin: 20px 0 26px; }

.ct__details { list-style: none; margin: clamp(32px, 5vh, 52px) 0 0; padding: 0; }
.ct__details li {
  display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between;
  padding: 15px 0; border-bottom: 1px solid var(--line);
}
.ct__k {
  font-family: var(--mono); font-size: var(--t-label); letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--mute);
}
.ct__v { font-size: var(--t-small); }
a.ct__v:hover { color: var(--blue); }

.ct__emergency {
  margin-top: 28px; padding: 18px 20px;
  background: var(--stone); border-left: 3px solid var(--blue);
  font-size: var(--t-small); max-width: 44ch;
}

.form { display: grid; gap: 0; }
.form__hp { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }

.form__row { display: grid; gap: 8px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.form__row:first-child { border-top: 1px solid var(--line); }

.form__label {
  font-family: var(--mono); font-size: var(--t-label); letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--mute);
  display: flex; align-items: baseline; gap: 12px;
}

.form__field {
  width: 100%; border: 0; background: none; padding: 6px 0;
  font-family: inherit; font-size: var(--t-body); color: var(--ink);
  border-bottom: 1px solid transparent; transition: border-color .3s;
}
.form__field:focus { outline: none; border-bottom-color: var(--blue); }
.form__field:focus-visible { outline: none; }
.form__row:focus-within .form__label { color: var(--ink); }
textarea.form__field { resize: vertical; min-height: 92px; }

.form__submit { margin-top: 28px; justify-self: start; }

.form__status {
  margin-top: 18px; padding: 14px 16px; font-size: var(--t-small);
  border-left: 3px solid var(--blue); background: var(--stone);
}
.form__status--err { border-left-color: #a6301f; }

.form__privacy { margin-top: 20px; font-size: 13px; color: var(--mute); }

@media (max-width: 900px) {
  .ct__top { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .ct__details li { padding: 18px 0; }
  .form__row { padding: 18px 0; }
}

@media (max-width: 900px) {
  .ct__module .hm-enquiry__formwrap { order: -1; border-top: 0; border-bottom: 1px solid var(--line); }
  .ct__module .qh-stage { min-height: 300px; }
}
