/* ZyncView theme: typography + cursor.
   Typography: Marcellus (headings, serif) + Sora (everything else). Loaded last on every page. */
:root { --zv-head: 'Marcellus', Georgia, 'Times New Roman', serif; --zv-body: 'Sora', system-ui, -apple-system, 'Segoe UI', sans-serif; }
body, button, input, select, textarea { font-family: var(--zv-body); }
h1, h2, h3, .section-h2, .hero-h1, .su-title { font-family: var(--zv-head) !important; font-weight: 400 !important; letter-spacing: 0 !important; }
h1 { line-height: 1.15; }
h1 span, h2 span { padding-bottom: .12em; }

/* Cursor: a circle, half red / half blue (the two lenses). Text fields keep the text cursor. */
html, body { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 4a12 12 0 0 0 0 24z' fill='%23ff2a1f'/%3E%3Cpath d='M16 4a12 12 0 0 1 0 24z' fill='%231f3dff'/%3E%3Ccircle cx='16' cy='16' r='12' fill='none' stroke='%23ffffff' stroke-width='2'/%3E%3Ccircle cx='16' cy='16' r='13.5' fill='none' stroke='%230f172a' stroke-opacity='.45' stroke-width='1'/%3E%3C/svg%3E") 16 16, auto; }
a, button, summary, label, select, [role="button"], input[type="range"], input[type="checkbox"], input[type="radio"], .btn, .play-btn { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 4a12 12 0 0 0 0 24z' fill='%23ff2a1f'/%3E%3Cpath d='M16 4a12 12 0 0 1 0 24z' fill='%231f3dff'/%3E%3Ccircle cx='16' cy='16' r='12' fill='none' stroke='%23ffffff' stroke-width='2'/%3E%3Ccircle cx='16' cy='16' r='13.5' fill='none' stroke='%230f172a' stroke-opacity='.45' stroke-width='1'/%3E%3C/svg%3E") 16 16, pointer; }
input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="search"], textarea { cursor: text; }
canvas { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 4a12 12 0 0 0 0 24z' fill='%23ff2a1f'/%3E%3Cpath d='M16 4a12 12 0 0 1 0 24z' fill='%231f3dff'/%3E%3Ccircle cx='16' cy='16' r='12' fill='none' stroke='%23ffffff' stroke-width='2'/%3E%3Ccircle cx='16' cy='16' r='13.5' fill='none' stroke='%230f172a' stroke-opacity='.45' stroke-width='1'/%3E%3C/svg%3E") 16 16, crosshair; }
.brand h1, .brand-text { font-family: var(--zv-body) !important; font-weight: 700 !important; letter-spacing: -0.3px !important; }
