html.yoz-contact-open { overflow: hidden; }
.yoz-contact-dialog {
  --contact-ink: #1f1f1f;
  --contact-muted: #51525a;
  --contact-line: #1f1f1f26;
  --contact-field: #ffffff60;
  --contact-header: #f8fbfff5;
  box-sizing: border-box;
  width: min(580px, calc(100vw - 32px));
  max-height: calc(100svh - 48px);
  padding: 32px;
  margin: auto;
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: 32px;
  border: .5px solid #ffffffc2;
  border-top: 1px solid #fff;
  background: linear-gradient(143deg, #fff6, #fff9);
  box-shadow: inset 0 0 1px #0000001c;
  -webkit-backdrop-filter: saturate(200%) blur(5px);
  backdrop-filter: saturate(200%) blur(5px);
  color: var(--contact-ink);
  font-family: 'Halenoir Compact', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  opacity: 0;
  transform: translateY(16px) scale(.98);
  transition: opacity 220ms ease, transform 350ms cubic-bezier(.22,1,.36,1);
}
.yoz-contact-dialog.is-visible { opacity: 1; transform: none; }
.yoz-contact-dialog::backdrop {
  background: #e7edf42b;
  -webkit-backdrop-filter: blur(22px) saturate(110%);
  backdrop-filter: blur(22px) saturate(110%);
  opacity: 0;
  transition: opacity 220ms ease;
}
.yoz-contact-dialog.is-visible::backdrop { opacity: 1; }
html[data-theme='dark'] .yoz-contact-dialog {
  --contact-ink: #fff;
  --contact-muted: #c3c3cb;
  --contact-line: #ffffff38;
  --contact-field: #ffffff0d;
  --contact-header: #080810f5;
  background: linear-gradient(135deg, #00000073, #000000eb);
  border: .5px solid #ffffff4d;
  border-top: 1px solid #ffffff4d;
}
html[data-theme='dark'] .yoz-contact-dialog::backdrop { background: #00000038; }
.yoz-contact-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; position: sticky; top: -32px; z-index: 2; margin: -32px -32px 24px; padding: 32px 32px 16px; background: var(--contact-header); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.yoz-contact-dialog .yoz-contact-eyebrow { margin: 0 0 4px; font: 500 12px/1.5 'Halenoir Compact', sans-serif; letter-spacing: .08em; color: var(--contact-muted); }
.yoz-contact-dialog #yoz-contact-title { margin: 0; font: 700 40px/1.05 'Halenoir Compact', sans-serif; letter-spacing: -.025em; color: var(--contact-ink); }
.yoz-contact-dialog .yoz-contact-close { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 0; border: 1px solid var(--contact-line); border-radius: 50%; background: var(--contact-field); font: 400 28px/1 sans-serif; color: var(--contact-ink); cursor: pointer; }
.yoz-contact-socials { display: flex; gap: 12px; }
.yoz-contact-socials a { flex: 1; padding: 12px 16px; border: 1px solid var(--contact-line); border-radius: 18px; background: var(--contact-field); text-decoration: none; color: var(--contact-ink); font-weight: 500; }
.yoz-contact-socials a:hover, .yoz-contact-close:hover { background: #88888826; }
.yoz-contact-divider { display: flex; align-items: center; gap: 12px; margin: 24px 0 20px; color: var(--contact-muted); font-size: 14px; }
.yoz-contact-divider::before, .yoz-contact-divider::after { content: ''; height: 1px; background: var(--contact-line); flex: 1; }
.yoz-contact-widget, .yoz-contact-widget * { font-family: 'Halenoir Compact', sans-serif !important; }
.yoz-contact-widget :where(label, p, div, span) { color: inherit !important; }
.yoz-contact-widget :where(input, textarea, select) { font-size: 16px !important; color: var(--contact-ink) !important; caret-color: var(--contact-ink); border-color: var(--contact-line) !important; }
.yoz-contact-widget :where(input:not([type='file']):not([type='hidden']), textarea, select) { background: var(--contact-field) !important; border-radius: 12px !important; padding: 12px !important; }
.yoz-contact-widget textarea { min-height: 96px !important; resize: vertical; }
.yoz-contact-widget :where(input, textarea)::placeholder { color: var(--contact-muted) !important; opacity: .8 !important; }
.yoz-contact-widget :where(label, [class*='Label'], [class*='Hint'], [class*='Description']) { color: var(--contact-ink) !important; }
.yoz-contact-widget :where([role='alert'], [class*='Error']) { color: #ef4269 !important; }
.yoz-contact-widget :where(button[type='submit'], [class*='SubmitButton']) { border-radius: 24px !important; font-weight: 600 !important; }
.yoz-contact-widget button { color: #fff !important; }
.yoz-contact-widget a { color: var(--contact-ink); }
.yoz-contact-widget a[href*='elfsight.com'] { color: #333 !important; }
.yoz-contact-dialog :where(a, button, input, textarea, select):focus-visible { outline: 2px solid #8b35ed; outline-offset: 3px; }
.yoz-contact-dialog .yoz-contact-loading { margin: 12px 0; color: var(--contact-muted); font-size: 16px; }
@media (max-width: 600px) {
  .yoz-contact-dialog { padding: 24px 20px; border-radius: 26px; width: calc(100vw - 24px); max-height: calc(100svh - 24px); }
  .yoz-contact-dialog #yoz-contact-title { font-size: 34px; }
  .yoz-contact-header { top: -24px; margin: -24px -20px 24px; padding: 24px 20px 16px; }
  .yoz-contact-socials a { padding: 10px 14px; }
}
@media (prefers-reduced-motion: reduce) { .yoz-contact-dialog, .yoz-contact-dialog::backdrop { transition: none; transform: none; } }
