/* ============================================================
   casebook — freelance designer: warm paper, TWO oversized
   captioned tiles per row.
   ============================================================ */
body.t-casebook.ws-body { --bg: #fbf7f2; --fg: #6a5f57; --heading: #2e2622; --text: #6a5f57; --muted: #9b8d82; }
body.t-casebook .ws-nav { background: color-mix(in srgb, #fbf7f2 92%, transparent); }
body.t-casebook .ws-brand { font-weight: 800; font-size: 19px; letter-spacing: -0.02em; }
body.t-casebook .ws-nav-links a { font-size: 13.5px; font-weight: 600; }
body.t-casebook .ws-hero h1 { font-weight: 800; font-size: clamp(34px, 6vw, 72px); letter-spacing: -0.03em; }
body.t-casebook .ws-h2 { text-align: left; font-weight: 800; letter-spacing: -0.02em; }
body.t-casebook .ws-sub { text-align: left; margin-left: 0; }
body.t-casebook .ws-gallery-grid { grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 46px 40px; }
body.t-casebook .ws-gallery-item img { aspect-ratio: 4 / 3; border-radius: 6px; }
body.t-casebook .ws-gallery-cap strong { font-size: 16px; font-weight: 700; color: #2e2622; }
body.t-casebook .ws-gallery-cap span { color: #b1543b; font-size: 13px; font-weight: 600; }
body.t-casebook .ws-story-media img { border-radius: 6px; }
body.t-casebook .ws-quote { background: #ffffff; border-radius: 6px; }
body.t-casebook.ws-body .btn.brand { border-radius: 999px; background: #b1543b; color: #ffffff; border: 0; box-shadow: none; font-weight: 700; }
body.t-casebook .ws-cta { background: #2e2622; }
body.t-casebook .ws-cta .btn.brand { background: #b1543b; color: #ffffff; }

/* casebook — night. The toggle in the site's own menu flips to this; the preference is
   stored per site, so it never reaches the dashboard or another template. */
html[data-theme="dark"] body.t-casebook.ws-body { --bg: #221c19; --fg: #b8aaa0; --heading: #f4ece4; --text: #b8aaa0; --muted: #8d8078; }
html[data-theme="dark"] body.t-casebook .ws-nav { background: color-mix(in srgb, #221c19 92%, transparent); border-bottom-color: #39302b; }
html[data-theme="dark"] body.t-casebook .ws-section { border-top-color: #39302b; }
html[data-theme="dark"] body.t-casebook .ws-story-copy p,
html[data-theme="dark"] body.t-casebook .ws-feature p,
html[data-theme="dark"] body.t-casebook .ws-faq-item p,
html[data-theme="dark"] body.t-casebook .ws-richtext p { color: #b8aaa0; }
html[data-theme="dark"] body.t-casebook .ws-quote { background: #2b2320; border-color: #39302b; }
html[data-theme="dark"] body.t-casebook .ws-quote blockquote { color: #b8aaa0; }
html[data-theme="dark"] body.t-casebook .ws-plan { background: #2b2320; border-color: #39302b; }
html[data-theme="dark"] body.t-casebook .ws-faq-list, html[data-theme="dark"] body.t-casebook .ws-faq-item { border-color: #39302b; }
html[data-theme="dark"] body.t-casebook .ws-field input,
html[data-theme="dark"] body.t-casebook .ws-field textarea,
html[data-theme="dark"] body.t-casebook .ws-field select { background: #2b2320; border-color: #39302b; color: #f4ece4; }
html[data-theme="dark"] body.t-casebook .ws-footer { border-top-color: #39302b; }
html[data-theme="dark"] body.t-casebook .ws-cta { background: #160f0d; }
html[data-theme="dark"] body.t-casebook .ws-gallery-cap strong { color: #f4ece4; }
html[data-theme="dark"] body.t-casebook .ws-side { background: #221c19; border-right-color: #39302b; }
