/* Pitchman Labs palette: light pink + lavender on white. */
@font-face { font-family: 'Plus Jakarta Sans'; font-weight: 200 800; font-display: swap; src: url('/assets/plus-jakarta-sans.woff2') format('woff2'); }

:root {
  --pink-50: #fff5fa;
  --pink-100: #fde7f1;
  --pink-300: #f6b3d1;
  --pink-500: #ec8dbd;
  --lav-50: #f8f5ff;
  --lav-100: #efe9fd;
  --lav-300: #c9b8f5;
  --lav-500: #a58bea;
  --lav-700: #7258c9;
  --ink: #2f2346;
  --muted: #7a6e8f;
  --line: #ece4f5;
  --bg: #ffffff;
  --danger: #c2416b;
  --grad: linear-gradient(135deg, var(--pink-300) 0%, var(--lav-300) 100%);
  --grad-strong: linear-gradient(135deg, var(--pink-500) 0%, var(--lav-500) 100%);
  --radius: 16px;
  --shadow: 0 10px 30px rgba(165, 139, 234, 0.18);
  --font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', 'Noto Sans', 'Nirmala UI', sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; color: inherit; }

.logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.logo img { width: 52px; height: 52px; }
.logo .wordmark {
  font-weight: 800; font-size: 30px; letter-spacing: -0.5px;
  background: var(--grad-strong); -webkit-background-clip: text; background-clip: text; color: transparent;
}

.field { display: block; width: 100%; padding: 15px 18px; border: 1.5px solid var(--line); border-radius: 14px;
  background: #fff; outline: none; transition: border-color .15s, box-shadow .15s; font-size: 16px; }
.field::placeholder { color: #a79cb8; }
.field:focus { border-color: var(--lav-300); box-shadow: 0 0 0 4px var(--lav-100); }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; cursor: pointer; text-decoration: none;
  padding: 14px 24px; border-radius: 14px; font-weight: 700; font-size: 16px; color: var(--ink);
  background: var(--grad); box-shadow: var(--shadow); transition: transform .12s, filter .12s, opacity .12s; }
.btn:hover { filter: saturate(1.15) brightness(1.02); }
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
.btn.ghost { background: #fff; border: 1.5px solid var(--line); box-shadow: none; }
.btn.ghost:hover { border-color: var(--lav-300); }
.btn:focus-visible, .chip:focus-visible, a:focus-visible { outline: 3px solid var(--lav-300); outline-offset: 2px; }
