html.yoz-contact-open { overflow: hidden; }
.yoz-contact-dialog {
  --contact-ink: #1f1f1f;
  --contact-muted: #51525a;
  --contact-line: #1f1f1f35;
  --contact-field-line: #1f1f1f80;
  --contact-social: #ffffff40;
  box-sizing: border-box;
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  padding: 0;
  margin: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--contact-ink);
  color-scheme: light;
  font-family: 'Halenoir Compact', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  opacity: 0;
  transform: translateY(12px);
  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: linear-gradient(143deg, #ffffff80, #ffffffb3);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  backdrop-filter: blur(22px) saturate(160%);
  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: #d0d0d7;
  --contact-line: #ffffff50;
  --contact-field-line: #fff;
  --contact-social: #ffffff0d;
  color-scheme: dark;
}
html[data-theme='dark'] .yoz-contact-dialog::backdrop { background: linear-gradient(135deg, #0000008c, #000000d9); }
.yoz-contact-content {
  box-sizing: border-box;
  width: min(660px, 100%);
  margin: 0 auto;
  padding: max(56px, env(safe-area-inset-top)) 32px max(48px, env(safe-area-inset-bottom));
}
.yoz-contact-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin: 0 0 24px; padding: 0; background: transparent; }
.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 { position: fixed; z-index: 4; top: max(20px, env(safe-area-inset-top)); right: max(24px, env(safe-area-inset-right)); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font: 400 36px/1 sans-serif; color: var(--contact-ink); cursor: pointer; }
.yoz-contact-dialog .yoz-contact-close:hover { background: transparent; opacity: .65; }
.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-social); text-decoration: none; color: var(--contact-ink); font-weight: 500; }
.yoz-contact-socials a: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-field-line) !important; background: transparent !important; box-shadow: none !important; }
.yoz-contact-widget :where(input:not([type='file']):not([type='hidden']), textarea, select) { border: 0 !important; border-bottom: 1px solid var(--contact-field-line) !important; border-radius: 0 !important; }
.yoz-contact-widget .yoz-contact-control { border-bottom: 1px solid var(--contact-field-line) !important; box-shadow: none !important; background: transparent !important; }
.yoz-contact-widget .yoz-contact-control:focus-within { border-bottom-color: #9d62ff !important; }
.yoz-contact-widget :where([class*='Underline'], [class*='underline']) { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--contact-field-line) !important; }
.yoz-contact-widget :where([class*='Upload'], [class*='Drop'], [class*='upload'], [class*='drop']) { border-color: var(--contact-field-line) !important; }
.yoz-contact-widget form { padding: 0 !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-close:focus-visible { outline: none; color: #b280ff; }
.yoz-contact-dialog .yoz-contact-loading { margin: 12px 0; color: var(--contact-muted); font-size: 16px; }
@media (max-width: 600px) {
  .yoz-contact-content { padding: max(56px, env(safe-area-inset-top)) 16px max(32px, env(safe-area-inset-bottom)); }
  .yoz-contact-dialog #yoz-contact-title { font-size: 34px; }
  .yoz-contact-dialog .yoz-contact-close { top: max(12px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); }
  .yoz-contact-socials a { padding: 10px 14px; }
  .yoz-contact-widget { margin-inline: -12px; }
}
@media (prefers-reduced-motion: reduce) { .yoz-contact-dialog, .yoz-contact-dialog::backdrop { transition: none; transform: none; } }
