:root {
  --dea-accent: var(--deadend-accent, #f1c232);
  --dea-blood: var(--deadend-blood, #a80f12);
  --dea-bg: var(--deadend-bg, #080808);
  --dea-panel: var(--deadend-panel, #111111);
  --dea-text: var(--deadend-text, #f4f0e7);
  --dea-muted: var(--deadend-muted, #b8b0a3);
}
html.deadend-audience-open { overflow: hidden; }
.deadend-audience-modal[hidden], .deadend-audience-success[hidden] { display: none !important; }
.deadend-audience-modal { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 22px; opacity: 0; transition: opacity .18s ease; }
.deadend-audience-modal.is-open { opacity: 1; }
.deadend-audience-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.78); backdrop-filter: blur(7px); }
.deadend-audience-modal__panel { position: relative; width: min(560px, 100%); max-height: min(760px, calc(100vh - 36px)); overflow: auto; color: var(--dea-text); background: radial-gradient(circle at 90% 0, color-mix(in srgb, var(--dea-blood) 34%, transparent), transparent 38%), linear-gradient(145deg, #171717, var(--dea-bg)); border: 1px solid color-mix(in srgb, var(--dea-accent) 44%, transparent); border-radius: 18px; box-shadow: 0 30px 90px rgba(0,0,0,.65); padding: clamp(28px, 6vw, 52px); transform: translateY(18px) scale(.985); transition: transform .18s ease; outline: none; }
.deadend-audience-modal.is-open .deadend-audience-modal__panel { transform: none; }
.deadend-audience-modal__panel::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(var(--dea-accent), var(--dea-blood)); border-radius: 18px 0 0 18px; }
.deadend-audience-modal__close { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); color: var(--dea-text); background: rgba(0,0,0,.36); font-size: 26px; line-height: 1; cursor: pointer; }
.deadend-audience-modal__close:hover, .deadend-audience-modal__close:focus-visible { border-color: var(--dea-accent); color: var(--dea-accent); }
.deadend-audience-modal__eyebrow { color: var(--dea-accent); text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 800; margin-bottom: 12px; }
.deadend-audience-modal h2 { color: var(--dea-text); margin: 0 40px 14px 0; font-size: clamp(30px, 6vw, 48px); line-height: .98; letter-spacing: -.035em; }
.deadend-audience-modal__copy { color: var(--dea-muted); font-size: 17px; line-height: 1.65; margin: 0 0 24px; }
.deadend-audience-form__fields { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 12px; }
.deadend-audience-form label > span { display: block; color: var(--dea-text); font-size: 13px; font-weight: 700; margin-bottom: 7px; }
.deadend-audience-form label small { color: var(--dea-muted); font-weight: 400; }
.deadend-audience-form input[type="text"], .deadend-audience-form input[type="email"] { box-sizing: border-box; width: 100%; min-height: 48px; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; padding: 10px 13px; color: var(--dea-text); background: rgba(0,0,0,.34); font: inherit; }
.deadend-audience-form input:focus { border-color: var(--dea-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--dea-accent) 20%, transparent); outline: none; }
.deadend-audience-consent { display: grid !important; grid-template-columns: 18px 1fr; align-items: start; gap: 9px; margin: 16px 0; color: var(--dea-muted); font-size: 12px; line-height: 1.5; }
.deadend-audience-consent input { margin-top: 2px; accent-color: var(--dea-accent); }
.deadend-audience-consent span { margin: 0 !important; color: inherit !important; font-size: inherit !important; font-weight: 400 !important; }
.deadend-audience-turnstile { min-height: 65px; margin: 13px 0; }
.deadend-audience-submit { width: 100%; min-height: 50px; border: 0; border-radius: 9px; padding: 12px 18px; color: #14110a; background: linear-gradient(135deg, #f6d366, var(--dea-accent)); font-size: 15px; font-weight: 900; letter-spacing: .02em; cursor: pointer; box-shadow: 0 10px 28px color-mix(in srgb, var(--dea-accent) 18%, transparent); }
.deadend-audience-submit:hover, .deadend-audience-submit:focus-visible { filter: brightness(1.08); transform: translateY(-1px); }
.deadend-audience-submit:disabled { cursor: wait; opacity: .65; transform: none; }
.deadend-audience-privacy { margin: 10px 0 0; color: var(--dea-muted); text-align: center; font-size: 11px; }
.deadend-audience-feedback { min-height: 22px; margin-top: 10px; color: #ffb6b6; font-size: 13px; text-align: center; }
.deadend-audience-feedback.is-success { color: #b9efc7; }
.deadend-audience-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.deadend-audience-success { text-align: center; padding: 20px 0; outline: none; }
.deadend-audience-success > span { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 18px; border: 2px solid var(--dea-accent); border-radius: 50%; color: var(--dea-accent); font-size: 32px; }
.deadend-audience-success h3 { margin: 0 0 10px; color: var(--dea-text); font-size: 32px; }
.deadend-audience-success p { margin: 0; color: var(--dea-muted); line-height: 1.7; }
.deadend-audience-inline { color: var(--dea-text); background: var(--dea-panel); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: clamp(22px, 5vw, 38px); }
.deadend-audience-not-ready { padding: 16px; border: 1px solid #c58d1a; background: #2b210e; color: #ffe3a1; }
@media (max-width: 560px) { .deadend-audience-modal { padding: 10px; align-items: end; } .deadend-audience-modal__panel { max-height: calc(100vh - 10px); border-radius: 18px 18px 8px 8px; padding: 30px 22px 24px; } .deadend-audience-form__fields { grid-template-columns: 1fr; } .deadend-audience-modal h2 { font-size: 34px; } }
@media (prefers-reduced-motion: reduce) { .deadend-audience-modal, .deadend-audience-modal__panel, .deadend-audience-submit { transition: none !important; transform: none !important; } }

.deadend-audience-form__fields > label:only-child { grid-column: 1 / -1; }

/* v0.1.1 direct-delivery and completed-state refinements. */
.deadend-audience-form__fields { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.deadend-audience-success { min-height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: clamp(28px, 7vw, 54px) 12px; }
.deadend-audience-success[hidden] { display: none !important; }
.deadend-audience-success h3 { font-size: clamp(30px, 6vw, 42px); }
.deadend-audience-success p { max-width: 480px; font-size: 16px; }
.deadend-audience-success__close { margin-top: 24px; min-width: 130px; min-height: 44px; border: 1px solid var(--dea-accent); border-radius: 8px; color: var(--dea-accent); background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.deadend-audience-success__close:hover, .deadend-audience-success__close:focus-visible { color: #171208; background: var(--dea-accent); }
