:root {
    --sj-bg: #f7f4ef;
    --sj-card: #ffffff;
    --sj-primary: #6f4ba1;
    --sj-primary-dark: #51337a;
    --sj-accent: #d68b2b;
    --sj-text: #202124;
    --sj-muted: #6b7280;
    --sj-border: #e6e1d8;
    --sj-danger: #b42318;
    --sj-success: #157347;
    --sj-warning: #946200;
    --shadow: 0 16px 35px rgba(37, 26, 50, .08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--sj-bg); color: var(--sj-text); line-height: 1.55; }
a { color: var(--sj-primary); text-decoration: none; }
a:hover { color: var(--sj-primary-dark); text-decoration: underline; }
img, video { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
input, select, textarea { width: 100%; border: 1px solid var(--sj-border); border-radius: 12px; padding: .78rem .9rem; background: #fff; color: var(--sj-text); }
textarea { resize: vertical; }
label { display: grid; gap: .4rem; font-weight: 650; color: #332a3f; }
fieldset { border: 1px solid var(--sj-border); border-radius: 16px; padding: 1rem; }
legend { font-weight: 800; padding: 0 .5rem; }
.container { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.page-section { padding: 2rem 0; }
.inline-form { display: inline; margin: 0; }
.link-button { border: 0; padding: 0; background: transparent; color: var(--sj-primary); cursor: pointer; font: inherit; }
.link-button:hover { text-decoration: underline; }
.link-button.danger, .danger { color: var(--sj-danger); }
.breadcrumbs { color: var(--sj-muted); font-size: .95rem; }
.eyebrow { text-transform: uppercase; color: var(--sj-accent); font-weight: 800; letter-spacing: .08em; font-size: .82rem; }
