:root {
    --bg: #f6f3ef;
    --panel: #ffffff;
    --text: #261f1d;
    --muted: #7c706c;
    --primary: #c83245;
    --primary-dark: #9e1f31;
    --gold: #d9a65a;
    --border: #eadfd8;
    --shadow: 0 18px 45px rgba(80, 48, 40, 0.12);
    --radius-lg: 24px;
    --radius-md: 16px;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--bg);
    color: var(--text);
}

a {
    color: inherit;
    text-decoration: none;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

p {
    color: var(--muted);
    line-height: 1.55;
}

.btn {
    border: 0;
    border-radius: 999px;
    padding: 12px 18px;
    font-weight: 800;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--primary), #e84c62);
    box-shadow: 0 12px 30px rgba(200, 50, 69, 0.22);
}

.btn-secondary {
    background: #fff;
    color: var(--text);
    border: 1px solid var(--border);
}

.alert {
    padding: 12px 14px;
    border-radius: 14px;
    margin-bottom: 16px;
    font-weight: 700;
}

.alert-error {
    color: #8f1f2e;
    background: #ffe3e8;
    border: 1px solid #ffc6d0;
}

.eyebrow {
    margin-bottom: 6px;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.78rem;
    font-weight: 900;
}