*,*::before,*::after{box-sizing:border-box}
:root{
  /* Defaults (Killerspots). Each client's theme.css overrides these. */
  --canvas:#0f1419; --card-top:#19202a; --card:#161c24; --line:#2a3038; --input-line:#3a424d;
  --ink:#e0e0e0; --heading:#fff; --muted:#9ca3af;
  --brand:#ef5253; --glow:239,82,83; --btn:#c9383a; --btn-hover:#b32d2e; --btn-ink:#fff; --link:#ff9595;
  --font:Inter,"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",Arial,sans-serif;
}
html{color-scheme:dark;-webkit-text-size-adjust:100%}
body{
  margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;
  font-family:var(--font);color:var(--ink);line-height:1.5;
  background:
    radial-gradient(900px 520px at 50% -140px,rgba(var(--glow),.20),transparent 68%),
    radial-gradient(700px 420px at 50% 115%,rgba(var(--glow),.07),transparent 70%),
    var(--canvas);
}
.wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px 32px;min-width:0}
.logo{display:flex;justify-content:center;width:min(300px,82%);margin:0 0 36px}
.logo img{display:block;width:auto;max-width:100%;height:auto;max-height:130px}
.logo--plate{width:auto;max-width:min(300px,82%);padding:14px 20px;background:#fff;border-radius:14px}
.card{
  position:relative;width:100%;max-width:420px;min-width:0;padding:36px 32px 28px;
  background:linear-gradient(180deg,var(--card-top),var(--card));
  border:1px solid var(--line);border-radius:16px;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.02) inset;
}
.bars{display:flex;align-items:flex-end;gap:4px;height:22px;margin-bottom:18px}
.bars i{display:block;width:4px;border-radius:2px;background:var(--brand)}
.bars i:nth-child(1){height:35%;opacity:.45}
.bars i:nth-child(2){height:70%;opacity:.7}
.bars i:nth-child(3){height:100%}
.bars i:nth-child(4){height:55%;opacity:.8}
.bars i:nth-child(5){height:85%}
.bars i:nth-child(6){height:40%;opacity:.6}
.bars i:nth-child(7){height:65%;opacity:.75}
.bars i:nth-child(8){height:30%;opacity:.45}
.bars i:nth-child(9){height:18%;opacity:.3}
.eyebrow{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand)}
h1{margin:0 0 26px;font-size:clamp(24px,6.4vw,30px);line-height:1.15;font-weight:800;letter-spacing:-.02em;color:var(--heading);overflow-wrap:anywhere}
label{display:block;margin:0 0 8px;font-size:14px;font-weight:600;color:var(--ink)}
input[type=email]{
  display:block;width:100%;min-width:0;height:52px;padding:0 14px;
  font:inherit;font-size:16px;color:var(--heading);
  background:var(--canvas);border:1px solid var(--input-line);border-radius:10px;outline:none;
  transition:border-color .15s,box-shadow .15s;
}
input[type=email]::placeholder{color:#6b7280}
input[type=email]:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--glow),.28)}
button{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;margin-top:16px;
  font:inherit;font-size:16px;font-weight:700;color:var(--btn-ink);cursor:pointer;
  background:var(--btn);border:0;border-radius:10px;transition:background .15s,transform .1s;
}
button:hover{background:var(--btn-hover)}
button:active{transform:translateY(1px)}
button:focus-visible{outline:3px solid var(--heading);outline-offset:2px}
.note{margin:18px 0 0;font-size:13px;color:var(--muted)}
.help{margin:22px 0 0;font-size:14px;color:var(--muted);text-align:center}
a{color:var(--link);text-underline-offset:3px}
a:hover{color:#fff}
a:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}
.foot{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;padding:18px 16px 22px;font-size:12.5px;color:var(--muted);text-align:center;border-top:1px solid rgba(255,255,255,.05)}
.foot a{color:var(--muted)}
.foot--credit{flex-direction:column;align-items:center;gap:10px;padding:20px 16px 26px}
.credit{display:block;line-height:0;opacity:.9}
.credit:hover{opacity:1}
.credit img{display:block;width:130px;height:auto}
@media (max-width:380px){.card{padding:28px 20px 22px}.wrap{padding-top:36px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
