.cw-contact {
  color: var(--text);
  background: radial-gradient(ellipse at 90% 0%, rgba(216, 166, 122, 0.07), transparent 65%), linear-gradient(135deg, #241c17, #191512);
  border-radius: 24px;
  padding: clamp(1.25rem, 4vw, 2.5rem);
  max-width: 760px;
  margin-inline: auto;
}

.cw-contact :where(h1, h2, p) { margin: 0; }
.cw-contact :where(h1, h2) { font-size: clamp(1.8rem, 4vw, 2.5rem); line-height: 1.15; letter-spacing: -0.035em; text-wrap: balance; }
.cw-contact .eyebrow { margin-bottom: 0.8rem; }
.cw-contact .cw-contact-intro { color: var(--muted); margin: 1rem 0 1.5rem; max-width: 56ch; }
.cw-contact .cw-contact-hint { color: var(--muted); font-size: 0.8rem; margin-top: 0.5rem; }
.cw-contact .cw-contact-fields { border: 0; padding: 0; margin: 1.25rem 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; min-width: 0; }
.cw-contact-fields > div { min-width: 0; }
.cw-contact .cw-contact-wide { grid-column: 1 / -1; }
.cw-contact label { display: block; margin-bottom: 0.4rem; font-weight: 700; font-size: 0.9rem; }
.cw-contact label span { font-weight: 400; color: var(--muted); }
.cw-contact :where(input, select, textarea) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; border: 1px solid var(--line); border-radius: 10px; padding: 0.75rem; background: #15110f; color: var(--text); font: inherit; font-size: 1rem; color-scheme: dark; }
.cw-contact textarea { resize: vertical; min-height: 130px; }
.cw-contact input[type="file"] { font-size: 0.85rem; }
.cw-contact input::file-selector-button { border: 0; border-radius: 6px; padding: 0.6rem; margin-right: 0.5rem; background: var(--panel-alt); color: var(--text); cursor: pointer; }
.cw-contact :where(input, select, textarea, button):focus-visible,
.cw-contact-close:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.cw-contact .cw-contact-file-list { padding-left: 1.25rem; margin: 0.5rem 0; overflow-wrap: anywhere; color: var(--muted); font-size: 0.8rem; }
.cw-contact :where(.cw-contact-clear, .cw-contact-submit) { min-height: 48px; padding: 0.75rem 1.2rem; font: inherit; border-radius: 999px; cursor: pointer; }
.cw-contact .cw-contact-clear { color: var(--text); background: transparent; border: 1px solid var(--line); font-size: 0.85rem; }
.cw-contact .cw-contact-submit { background: var(--primary-cta); color: var(--bg); border: 1px solid transparent; font-weight: 700; }
.cw-contact .cw-contact-submit:hover:not(:disabled) { background: var(--accent); }
.cw-contact :disabled { opacity: 0.7; cursor: wait; }
.cw-contact .cw-contact-status { margin: 1rem 0; overflow-wrap: anywhere; }
.cw-contact .cw-contact-status[data-state="error"] { color: #f2b49e; }
.cw-contact .cw-contact-status[data-state="success"] { color: #c6d7ad; }
.cw-contact .cw-contact-verification { margin-top: 1.25rem; min-width: 0; }
.cw-contact [data-contact-verification-retry] { margin-top: 0.5rem; }
.cw-contact .cw-contact-sr { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.cw-contact-dialog { box-sizing: border-box; width: min(760px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; border: 1px solid var(--line); border-radius: 24px; background: var(--bg); color: var(--text); box-shadow: 0 24px 80px rgba(0, 0, 0, 0.4); overflow-y: auto; overscroll-behavior: contain; }
.cw-contact-dialog::backdrop { background: rgba(12, 9, 7, 0.8); }
.cw-contact-dialog .cw-contact { padding-top: 3.75rem; }
.cw-contact-close { position: absolute; top: 0.65rem; right: 0.65rem; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--panel); color: var(--text); font-size: 1.6rem; cursor: pointer; }

@media (max-width: 600px) {
  .cw-contact .cw-contact-fields { grid-template-columns: minmax(0, 1fr); }
  .cw-contact .cw-contact-submit { width: 100%; }
  .cw-contact-dialog { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); }
}
.cw-contact-privacy {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow-wrap: anywhere;
}
.cw-contact-privacy h2 { font-size: 1.1rem; }
.cw-contact-privacy p { margin: 0.6rem 0; line-height: 1.6; }
.cw-contact-privacy a { display: block; margin-top: 0.75rem; color: inherit; text-underline-offset: 0.2em; }
