.ct-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,4rem);align-items:start}
@media(max-width:900px){ .ct-grid{grid-template-columns:1fr} }

form.enq{margin-top:1rem}
.field{margin-bottom:1.15rem}
.field label{display:block;font-size:.86rem;font-weight:650;color:var(--ink);margin-bottom:.4rem}
.field .hint{display:block;font-weight:400;font-size:.8rem;color:var(--muted);margin-top:.15rem}
.field input,.field select,.field textarea{
  width:100%;font:inherit;font-size:.95rem;color:var(--ink);
  background:var(--paper);
  border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);
  border-radius:var(--r);padding:.7rem .85rem;
  transition:border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease);
}
.field textarea{min-height:8rem;resize:vertical;line-height:1.6}
.field select{
  appearance:none;cursor:pointer;padding-right:2.4rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23345f31' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .95rem center;background-size:.7rem;
}
.field input:hover,.field select:hover,.field textarea:hover{border-color:color-mix(in srgb,var(--ink) 40%,transparent)}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--sun-ink);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--sun) 35%,transparent);
}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#9a2f22}
.err{display:block;font-size:.8rem;color:#9a2f22;margin-top:.35rem;font-weight:600}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
@media(max-width:560px){ .field-row{grid-template-columns:1fr;gap:0} }

.optin{display:flex;gap:.7rem;align-items:flex-start;margin:1.4rem 0 1.2rem}
.optin input{width:1.25rem;height:1.25rem;margin-top:.12rem;flex:none;accent-color:var(--sun-ink)}
.optin label{font-size:.88rem;color:var(--ink-2);font-weight:400}

.privacy-line{font-size:.8rem;color:var(--muted);margin-top:1rem;max-width:29rem;line-height:1.55}
.privacy-line a{color:var(--sun-ink)}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.form-status{
  margin-top:1.2rem;padding:1rem 1.15rem;border-radius:var(--r);
  font-size:.92rem;line-height:1.55;display:none;
}
.form-status[data-state="ok"]{display:block;background:color-mix(in srgb,var(--sun) 22%,var(--paper));border:1px solid color-mix(in srgb,var(--sun-ink) 30%,transparent);color:var(--ink)}
.form-status[data-state="err"]{display:block;background:#fbeae7;border:1px solid #d9a49c;color:#7a2418}

.aside-card{
  padding:1.5rem 1.45rem;border-radius:var(--r-card);
  background:var(--paper-3);
  border:1px solid color-mix(in srgb,var(--sun-ink) 20%,transparent);
}
.aside-card + .aside-card{margin-top:1.1rem}
.aside-card h3{font-size:1.05rem;margin-bottom:.5rem}
.aside-card p{font-size:.9rem;color:var(--ink-2);margin-bottom:.9rem}
.aside-card p:last-child{margin-bottom:0}
.direct{list-style:none;display:flex;flex-direction:column;gap:.75rem;font-size:.9rem}
.direct li{display:flex;gap:.7rem;align-items:flex-start}
/* wide enough for the longest key at the phone label size, or INSTAGRAM
   pushes its own value out of line with the rows above and below */
.direct .k{font-size:var(--label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);min-width:6.5rem;padding-top:.25em}
.direct a{color:var(--sun-ink);text-underline-offset:2px;display:inline-block;padding-block:.3rem}
.direct a:hover{color:var(--ink)}
