/* Sorcerous Origins — shared design system
   Consolidated from the per-page <style> blocks (Aug 2026). */

:root{ --bg:#faf9f6; --surface:#ffffff; --surface-tint:#e2f2ee;
    --ink:#17181b; --ink-mid:#5b5b57; --ink-dim:#8a8a84;
    --accent:#147d6b; --accent-dark:#0f5f52;
    --gold:#c2492b; --gold-tint:#fceae3;
    --border:#e7e3d9; }
*{ box-sizing:border-box; margin:0; padding:0; }
body{ background:var(--bg); color:var(--ink); font-family:"Manrope", sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; }
h1,h2,h3{ font-family:"Manrope", sans-serif; font-weight:800; letter-spacing:-0.01em; line-height:1.15; }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
.wrap{ max-width:1120px; margin:0 auto; padding:0 24px; }
.nav{ display:flex; align-items:center; justify-content:space-between; padding:22px 0; border-bottom:1px solid var(--border); }
.nav__brand{ display:flex; align-items:center; gap:10px; }
.nav__brand img{ width:32px; height:32px; border-radius:50%; }
.nav__wordmark{ font-weight:800; font-size:17px; }
.nav__links{ display:flex; align-items:center; gap:28px; }
.nav__links a{ font-size:14px; font-weight:600; color:var(--ink-mid); }
.nav__links a:hover{ color:var(--ink); }
.nav__actions{ display:flex; align-items:center; gap:12px; }
.btn{ font-size:14px; font-weight:700; padding:11px 20px; border-radius:8px; display:inline-block; }
.btn-primary{ background:var(--accent); color:#fff; }
.btn-primary:hover{ background:var(--accent-dark); }
.btn-outline{ border:1px solid var(--border); color:var(--ink); background:transparent; }
.btn-outline:hover{ border-color:var(--ink-dim); }
.card__img img{ width:100%; height:100%; object-fit:cover; }
.card__body{ padding:18px; }
.footer{ padding:40px 0; border-top:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.footer__brand{ display:flex; align-items:center; gap:10px; }
.footer__brand img{ width:24px; height:24px; border-radius:50%; }
.footer__links{ display:flex; gap:22px; }
.footer__links a{ font-size:13px; color:var(--ink-mid); }
.footer__copy{ font-size:13px; color:var(--ink-dim); }
.nav__links a.active{ color:var(--ink); border-bottom:2px solid var(--accent); padding-bottom:2px; }
.btn-sm{ font-size:13px; padding:9px 16px; }
.page-head{ padding:56px 0 40px; }
.page-head__title{ font-size:clamp(30px,4.2vw,42px); margin-bottom:10px; }
.page-head__sub{ font-size:15px; color:var(--ink-mid); max-width:520px; }
.inline-link{ color:var(--accent-dark); border-bottom:1px solid var(--border); }
.inline-link:hover{ border-color:var(--accent-dark); }
.segmented{ display:inline-flex; border:1px solid var(--border); border-radius:9px; overflow:hidden; background:var(--surface); }
.control-tab{ background:none; border:none; border-right:1px solid var(--border); font-family:"Manrope",sans-serif; font-size:13px; font-weight:600; color:var(--ink-mid); cursor:pointer; padding:8px 14px; transition:background .12s, color .12s; }
.segmented .control-tab:last-child{ border-right:none; }
.control-tab:hover:not(.active){ background:var(--surface-tint); color:var(--ink); }
.control-tab.active{ background:var(--accent); color:#fff; }
