.pitch-demo-launch {
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  z-index: 150;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
  border: 1px solid #74d4b8;
  border-radius: 999px;
  background: #4fc3a1;
  color: #0a0a0a;
  font: 600 18px 'Barlow', sans-serif;
  box-shadow: 0 6px 30px #0005;
  cursor: pointer;
  transition: background .2s, transform .2s;
}
.pitch-demo-launch:hover { background: #80d53f; transform: translateY(-2px); }
.pitch-demo-launch:focus-visible, .pitch-demo-dialog button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.pitch-demo-launch.pitch-demo-launch--compact {
  box-sizing: border-box;
  width: 48px;
  height: 48px;
  padding: 0 13px;
  gap: 0;
  font-size: 14px;
  transition: width .2s, gap .2s, background .2s, transform .2s;
}
.pitch-demo-launch--compact svg { flex-shrink: 0; }
.pitch-demo-launch--compact span { max-width: 0; opacity: 0; overflow: hidden; white-space: nowrap; transition: max-width .2s, opacity .2s; }
.pitch-demo-launch--compact:hover, .pitch-demo-launch--compact:focus-visible { width: 142px; gap: 8px; }
.pitch-demo-launch--compact:hover span, .pitch-demo-launch--compact:focus-visible span { max-width: 96px; opacity: 1; }
.pitch-demo-launch--compact:focus-visible { outline-color: #498d79; }
.pitch-demo-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(1180px, calc(100% - 48px));
  max-height: calc(100dvh - 48px);
  padding: 0;
  overflow: auto;
  border: 1px solid #444;
  border-radius: 16px;
  color: #f2f2f2;
  background: #111;
  box-shadow: 0 24px 100px #0009;
  font-family: 'Barlow', sans-serif;
}
.pitch-demo-dialog::backdrop { background: #000c; backdrop-filter: blur(5px); }
.pitch-demo-header { display: flex; justify-content: space-between; align-items: center; padding: 24px 28px; gap: 20px; border-bottom: 1px solid #ffffff20; }
.pitch-demo-eyebrow { color: #4fc3a1; font: 11px 'DM Mono', monospace; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 6px; }
.pitch-demo-dialog h2 { font: 600 34px 'Barlow Condensed', sans-serif; }
.pitch-demo-close { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border: 1px solid #555; border-radius: 50%; color: #fff; background: transparent; font-size: 28px; cursor: pointer; }
.pitch-demo-close:hover { background: #333; }
.pitch-demo-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr); }
.pitch-demo-player { padding: 28px; min-width: 0; }
.pitch-demo-player video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #000; border-radius: 8px; }
.pitch-demo-caption { color: #aaa; font-size: 14px; margin-top: 14px; }
.pitch-demo-contact { padding: 28px; background: #f2f2f2; color: #0a0a0a; }
.pitch-demo-contact h3 { font: 600 28px 'Barlow Condensed', sans-serif; }
.pitch-demo-contact > p { font-size: 15px; line-height: 1.5; color: #575757; margin-top: 8px; }
.pitch-demo-contact label { display: block; margin: 16px 0 6px; font-size: 14px; font-weight: 600; }
.pitch-demo-contact input, .pitch-demo-contact textarea { width: 100%; background: #fff; color: #0a0a0a; border: 1px solid #bbb; border-radius: 5px; padding: 10px 12px; font: 16px 'Barlow', sans-serif; }
.pitch-demo-contact textarea { resize: vertical; }
.pitch-demo-contact input:focus, .pitch-demo-contact textarea:focus { outline: 2px solid #498d79; outline-offset: 1px; }
.pitch-demo-send { display: flex; justify-content: space-between; width: 100%; padding: 13px 16px; margin-top: 20px; background: #0a0a0a; color: #fff; border: 0; border-radius: 5px; font: 600 16px 'Barlow', sans-serif; cursor: pointer; }
.pitch-demo-send:hover { background: #235e4d; }
.pitch-demo-contact .pitch-demo-send:focus-visible { outline-color: #498d79; }
.pitch-demo-contact .pitch-demo-help { font-size: 12px; }
.pitch-demo-contact fieldset { border: 0; min-width: 0; }
.pitch-demo-contact fieldset:disabled { opacity: .65; }
.pitch-demo-contact button:disabled { cursor: default; }
.pitch-demo-contact label.pitch-demo-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; font-weight: 400; line-height: 1.5; }
.pitch-demo-contact .pitch-demo-consent input { width: 16px; height: 16px; margin-top: 3px; flex-shrink: 0; accent-color: #498d79; }
.pitch-demo-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.pitch-demo-notice { font-size: 14px; line-height: 1.5; padding: 12px; margin-top: 12px; border: 1px solid #498d79; }
.pitch-demo-notice a { color: inherit; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .pitch-demo-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); }
  .pitch-demo-layout { grid-template-columns: 1fr; }
  .pitch-demo-header { padding: 18px; }
  .pitch-demo-dialog h2 { font-size: 28px; }
  .pitch-demo-player, .pitch-demo-contact { padding: 20px; }
  .pitch-demo-launch { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); font-size: 16px; padding: 13px 20px; }
}
@media (prefers-reduced-motion: reduce) { .pitch-demo-launch, .pitch-demo-launch--compact span { transition: none !important; } }
@media print { .pitch-demo-launch, .pitch-demo-dialog { display: none !important; } }
