/* Adapted from front_template/login-split.html */
:root {
  --bg:      #fff1e5;
  --surface: #ffffff;
  --fg:      #33302e;
  --muted:   #807973;
  --accent:  #990f3d;
  --accent-2:#262a33;

  --border:  color-mix(in oklch, var(--fg) 18%, transparent);
  --accent-soft: color-mix(in oklch, var(--accent) 12%, transparent);

  --font-display: 'Financier Display', 'PT Serif', Georgia, 'Times New Roman', serif;
  --font-body:    'Metric', 'Golos Text', Arial, 'Helvetica Neue', sans-serif;
  --font-mono:    ui-monospace, 'JetBrains Mono', 'SF Mono', Menlo, monospace;
  --radius: 2px;
}
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh; font-family: var(--font-body); font-size: 15px;
  line-height: 1.5; color: var(--fg); -webkit-font-smoothing: antialiased;
}
a { text-decoration: none; }
button { font: inherit; cursor: pointer; }
p { margin: 0; }

.split { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 100vh; }
@media (max-width: 860px) { .split { grid-template-columns: 1fr; } }

.split-editorial {
  background: var(--accent-2); color: var(--bg); padding: 56px;
  display: flex; flex-direction: column; justify-content: space-between;
}
@media (max-width: 860px) { .split-editorial { padding: 40px 32px; } }
.split-editorial .wordmark { font-family: var(--font-display); font-size: 22px; letter-spacing: -0.01em; }
.split-editorial blockquote {
  font-family: var(--font-display); font-size: clamp(26px, 3vw, 36px); line-height: 1.28;
  letter-spacing: -0.01em; max-width: 26ch; margin: 0;
}
.split-editorial blockquote .mark { color: var(--accent); }
.split-editorial .quote-author { margin-top: 20px; font-size: 13.5px; color: color-mix(in oklch, var(--bg) 70%, transparent); }
.split-editorial .foot-meta { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.04em; text-transform: uppercase; color: color-mix(in oklch, var(--bg) 55%, transparent); }

.split-form-wrap { background: var(--bg); display: grid; place-items: center; padding: 40px 24px; }
.split-form { width: 100%; max-width: 360px; }
.split-form h1 { font-family: var(--font-display); font-size: 26px; font-weight: 600; margin: 0 0 6px; letter-spacing: -0.01em; }
.split-form .sub { color: var(--muted); font-size: 14px; margin: 0 0 30px; }

.field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.field label { font-size: 12.5px; color: var(--muted); }
.input {
  width: 100%; padding: 11px 13px; border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--surface); color: var(--fg); font: inherit; font-size: 14.5px;
}
.input:focus { outline: 2px solid var(--accent-soft); border-color: var(--accent-2); }

.row-between { display: flex; align-items: center; justify-content: space-between; margin: -4px 0 22px; }
.checkbox-row { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); }
.checkbox-row input { accent-color: var(--accent-2); }

.btn-primary {
  width: 100%; padding: 12px; border: 1px solid var(--accent-2); border-radius: 0;
  background: var(--accent-2); color: var(--surface); font-size: 14.5px; font-weight: 600;
  letter-spacing: -0.005em; transition: background 0.15s ease;
}
.btn-primary:hover { background: color-mix(in oklch, var(--accent-2) 85%, white); }

.form-error {
  margin: 0 0 18px; padding: 10px 13px; border: 1px solid var(--accent);
  color: var(--accent); font-size: 13.5px; border-radius: var(--radius);
  background: color-mix(in oklch, var(--accent) 8%, transparent);
}
