/* Contact remains a compact, clearly grouped conversation. */
.compact-contact {
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  gap: clamp(32px, 5vw, 76px);
  padding-block: clamp(58px, 7vw, 96px);
}
.compact-contact .contact-copy { padding-top: 18px; }
.compact-contact .contact-copy h2 {
  margin-bottom: 24px;
  font-size: clamp(2.4rem, 4.1vw, 3.55rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.compact-contact .contact-copy .section-description {
  max-width: 35ch;
  line-height: 1.6;
  letter-spacing: -.01em;
}
.compact-contact .contact-copy .body-secondary { line-height: 1.65; }
.compact-contact .contact-copy .contact-email { margin-top: 24px; }
.compact-contact .contact-copy a {
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}
.compact-contact .inquiry-form {
  padding: clamp(22px, 2.5vw, 32px);
  border: 1px solid #00000012;
  border-radius: 28px;
  background: #fff;
  box-shadow: var(--ui-shadow, 0 2px 5px #00000004, 0 18px 48px #00000007);
}
.compact-contact .inquiry-form h3 {
  margin-bottom: 24px;
  font-size: 1.45rem;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: -.025em;
}
.compact-contact .form-fields { gap: 20px 16px; }
.compact-inquiry .field label,
.compact-inquiry legend {
  margin-bottom: 8px;
  color: #111;
  font-weight: 650;
  font-size: .875rem;
  line-height: 1.4;
  letter-spacing: 0;
}
.compact-inquiry .field label span,
.compact-inquiry legend span {
  color: #000000a8;
  font-size: .75rem;
  font-weight: 450;
}
.compact-inquiry input:not([type=checkbox]):not([type=file]),
.compact-inquiry textarea,
.compact-inquiry .language-disclosure > summary {
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid #0000001c;
  border-radius: 13px;
  background: #fff;
  color: #111;
  box-shadow: inset 0 1px 2px #00000003;
  font-size: 1rem;
  font-weight: 450;
  line-height: 1.5;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}
.compact-inquiry textarea { min-height: 94px; height: 94px; }
.compact-inquiry input::placeholder,
.compact-inquiry textarea::placeholder { color: #00000099; }
.compact-inquiry input:not([type=checkbox]):not([type=file]):hover,
.compact-inquiry textarea:hover,
.compact-inquiry .language-disclosure > summary:hover { border-color: #00000045; }
.compact-inquiry input:not([type=checkbox]):not([type=file]):focus,
.compact-inquiry textarea:focus,
.compact-inquiry .language-disclosure[open] > summary {
  border-color: #111;
  background: #fff;
  box-shadow: 0 0 0 3px #f3ffdc;
}
.compact-inquiry :is(input, textarea, summary, button, a):focus-visible {
  outline: 2px solid #111;
  outline-offset: 3px;
}
.compact-inquiry .field-hint { color: #000000b3; font-size: .8125rem; }
.compact-inquiry .language-disclosure > summary { gap: 10px; }
.compact-inquiry .language-disclosure > summary::after {
  width: 7px;
  height: 7px;
  border-width: 1.5px;
  transition: transform 160ms var(--ui-ease, ease-out);
}
.compact-inquiry .language-disclosure.has-selection > summary {
  border-color: #00000048;
  background: #f3ffdc;
}
.compact-inquiry .language-disclosure.has-selection .language-selection { font-weight: 600; }
.compact-inquiry .language-panel {
  top: calc(100% + 7px);
  padding: 16px;
  border-color: #0000001c;
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 4px 10px #00000006, 0 18px 44px #00000014;
  transform-origin: top center;
}
.compact-inquiry .language-choices { gap: 6px; }
.compact-inquiry .language-choice {
  gap: 8px;
  min-height: 44px;
  padding: 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  transition: background 120ms ease, border-color 120ms ease;
}
.compact-inquiry .language-choice:hover { background: #00000004; }
.compact-inquiry .language-choice:has(input:checked) {
  border-color: #00000012;
  background: #f3ffdc;
}
.compact-inquiry .language-choice input { border-color: #00000059; border-radius: 6px; }
.compact-inquiry .language-choice input:checked { background: #b7ff22; border-color: #111; }
.compact-inquiry .language-choice input:checked::before { border-color: #111; }
.compact-inquiry .language-choice span {
  color: #111;
  font-size: .8125rem;
  font-weight: 550;
  line-height: 1.4;
}
.compact-inquiry .other-language-inline {
  margin-top: 12px;
  padding: 12px 0 0;
  border-top: 1px solid #00000012;
}
.compact-inquiry .language-panel-footer { margin-top: 12px; }
.compact-inquiry .language-done {
  min-height: 44px;
  padding: 10px 22px;
  font-weight: 650;
  background: #b7ff22;
}
.compact-inquiry .video-source-row { gap: 9px; }
.compact-contact .compact-inquiry .file-button {
  min-height: 48px;
  padding: 11px 16px;
  border-radius: 13px;
  font-size: .8125rem;
  font-weight: 600;
  background: #111;
  color: #fff;
  box-shadow: 0 1px 2px #00000012;
}
.compact-inquiry .file-picker:focus-within { border-radius: 13px; outline-offset: 3px; }
.compact-inquiry #file-limits { font-size: .75rem; color: #000000a8; }
.compact-inquiry .selected-file { gap: 4px 10px; }
.compact-inquiry #remove-file {
  min-height: 44px;
  padding: 10px 13px;
  border-color: #00000026;
  font-size: .8125rem;
  font-weight: 600;
}
.compact-inquiry .submit-button {
  min-height: 50px;
  border-radius: 14px;
  background: #b7ff22;
  color: #111;
  font-size: .9375rem;
  font-weight: 650;
  box-shadow: 0 1px 2px #00000012, inset 0 1px 0 #ffffff7a;
}
.compact-inquiry .submit-button:hover {
  background: #b7ff22;
  box-shadow: 0 2px 5px #00000016, inset 0 1px 0 #ffffff7a;
}
.compact-inquiry :is(.submit-button, .language-done, #remove-file),
.compact-inquiry .file-picker .file-button {
  transition: transform 160ms var(--ui-ease, ease-out), box-shadow 160ms ease;
}
.compact-inquiry :is(.submit-button, .language-done, #remove-file):active,
.compact-inquiry .file-picker:active .file-button {
  transform: scale(.98);
  transition-duration: 0ms;
}
.compact-inquiry .form-followup { color: #000000b3; font-size: .75rem; }
.compact-inquiry .availability-note { color: #000000b3; line-height: 1.55; }
.compact-inquiry .privacy-note { color: #000000a8; font-size: .75rem; }
.compact-inquiry .form-status:not(:empty) {
  padding: 12px 14px;
  border: 1px solid #00000026;
  border-radius: 12px;
  background: #fff;
  line-height: 1.5;
  font-weight: 550;
}
.compact-inquiry .field-error { font-weight: 600; line-height: 1.45; }
.compact-inquiry [aria-invalid=true] { box-shadow: 0 0 0 2px #0000000d; }
@media (max-width: 1100px) {
  .compact-contact { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 36px; }
}
@media (max-width: 859px) {
  .compact-contact { grid-template-columns: 1fr; gap: 28px; }
  .compact-contact .contact-copy { position: static; padding: 0; }
  .compact-contact .contact-copy h2 { margin-bottom: 20px; }
  .compact-contact .inquiry-form { max-width: 650px; }
}
@media (max-width: 599px) {
  .compact-contact { padding-block: 52px; }
  .compact-contact .inquiry-form { padding: 24px 20px; border-radius: 24px; }
  .compact-contact .contact-copy h2 { font-size: clamp(2.1rem, 8.4vw, 2.65rem); }
  .compact-contact .form-fields { gap: 18px 12px; }
  .compact-inquiry .form-fields > .field:not(.form-wide) > label { min-height: 0; }
  .compact-inquiry .language-panel { position: static; margin-top: 7px; padding: 12px; box-shadow: none; }
  .compact-inquiry .language-choices { grid-template-columns: 1fr; }
}
@media (max-width: 479px) {
  .compact-contact .form-fields { grid-template-columns: 1fr; }
  .compact-contact .inquiry-form { padding: 22px 18px; }
  .compact-inquiry .video-source-row { grid-template-columns: minmax(0, 1fr) auto; }
  .compact-inquiry .video-source-row > .field { grid-column: 1 / -1; }
  .compact-inquiry .video-or { justify-self: start; }
  .compact-inquiry .file-picker { justify-self: end; }
}
@media (prefers-contrast: more) {
  .compact-contact .inquiry-form,
  .compact-inquiry .language-panel,
  .compact-inquiry input:not([type=file]),
  .compact-inquiry textarea,
  .compact-inquiry .language-disclosure > summary { border-color: #111; }
}
@media (prefers-reduced-motion: reduce) {
  .compact-inquiry *, .compact-inquiry *::after { transition-duration: 0ms !important; }
  .compact-inquiry :is(.submit-button, .language-done, #remove-file):active,
  .compact-inquiry .file-picker:active .file-button { transform: none; }
}
