
.cms-form { display: grid; gap: 16px; margin-top: 20px; }
.cms-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; width: 100%; min-width: 0; }
.cms-field, .registration-field { display: grid; min-width: 0; align-content: start; gap: 8px; color: var(--ink); font: 14px/1.4 var(--sans); overflow-wrap: anywhere; }
.cms-field:has(textarea), .cms-field:has(select) { grid-column: 1 / -1; }
.cms-field > span, .registration-field { letter-spacing: .01em; }
.cms-field input, .cms-field select, .cms-field textarea,
.registration-field input, .registration-field select, .registration-field textarea {
  width: 100%; min-width: 0; max-width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #bfb6a8;
  border-radius: 10px; background: #fffdf9; color: var(--ink); font: 16px/1.45 var(--sans);
}
.cms-field textarea { min-height: 130px; resize: vertical; }
.cms-field input:focus, .cms-field select:focus, .cms-field textarea:focus,
.registration-field input:focus, .registration-field select:focus, .registration-field textarea:focus {
  outline: 3px solid #79867340; border-color: var(--sage-dark);
}
.cms-submit { min-height: 50px; justify-self: start; border-radius: 40px; cursor: pointer; }
.cms-submit:disabled { opacity: .65; cursor: wait; }
.cms-form-note, .cms-form-status { margin: 0; font: 13px/1.65 var(--sans); }
.cms-form-note { color: #625b52; }
.cms-form-note a { color: var(--sage-dark); }
.cms-form-status { min-height: 1.5em; color: var(--sage-dark); }
.cms-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.turnstile-slot { width: 100%; max-width: 100%; min-width: 0; min-height: 0; }
.contact-form-panel { padding: 28px; background: #eee8e4; }
.contact-form-panel h2 { margin: 8px 0 18px; font-size: clamp(27px, 3vw, 38px); font-weight: 400; }
.contact-form-panel .eyebrow { margin: 0; }
.registration-section { padding: clamp(56px, 8vw, 100px) 0; background: #eee8e4; }
.registration-inner { width: min(1180px, 90%); margin: auto; }
.registration-heading { max-width: 720px; margin-bottom: 32px; }
.registration-heading h2 { margin: 8px 0 12px; font-size: clamp(34px, 4vw, 52px); font-weight: 400; }
.registration-heading p { margin: 0; font: 16px/1.6 var(--sans); }
.registration-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 28px; align-items: start; }
.registration-grid > * { min-width: 0; }
.registration-details, .registration-form { padding: clamp(20px, 3vw, 32px); border: 1px solid var(--line); border-radius: 18px; background: #f8f4ec; }
.registration-form { width: 100%; max-width: 100%; margin-top: 0; }
.registration-details h3 { margin: 0 0 18px; font-size: 24px; font-weight: 400; }
.registration-details dl { margin: 0; }
.registration-details dl div { padding: 12px 0; border-top: 1px solid var(--line); }
.registration-details dt { color: #71654d; font: 10px/1.5 var(--sans); letter-spacing: 1.4px; text-transform: uppercase; }
.registration-details dd { margin: 5px 0 0; font: 15px/1.5 var(--sans); }
.registration-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.registration-field-wide { grid-column: 1 / -1; }
.registration-submit { min-height: 50px; padding: 12px 22px; border: 0; background: var(--sage-dark); color: white; font: 13px/1.3 var(--sans); cursor: pointer; }
.registration-submit:hover { background: #4d5b48; }
.registration-note { margin: 4px 0 0; color: #625b52; font: 13px/1.65 var(--sans); }
.registration-status { min-height: 1.5em; margin: 0; color: var(--sage-dark); font: 13px/1.6 var(--sans); }
@media (max-width: 760px) {
  .cms-fields, .registration-fields { grid-template-columns: 1fr; }
  .cms-field:has(textarea), .cms-field:has(select), .registration-field-wide { grid-column: auto; }
  .registration-grid { grid-template-columns: 1fr; }
  .contact-form-panel { padding: 22px; }
}
