/**
 * City of Hats — Monochrome + restrained teal
 *
 * Design contract:
 * - true black navigation and dark feature bands
 * - warm off-white page ground and white cards
 * - neutral ink typography and borders
 * - logo teal for identity, links, focus, and selected states
 * - semantic success, warning, and danger colors remain meaningful
 */

:root {
    --coh-mono-black: #050505;
    --coh-mono-black-2: #0a0a0a;
    --coh-mono-ink: #111111;
    --coh-mono-copy: #454545;
    --coh-mono-muted: #707070;
    --coh-mono-paper: #f5f5f1;
    --coh-mono-paper-2: #ecece7;
    --coh-mono-white: #ffffff;
    --coh-mono-line: #d7d7d1;
    --coh-mono-dark-line: rgba(255, 255, 255, 0.13);
    --coh-mono-teal: #36ccc5;
    --coh-mono-teal-dark: #147d79;
    --coh-mono-teal-soft: rgba(54, 204, 197, 0.09);
    --coh-mono-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --coh-mono-shadow-md: 0 12px 34px rgba(0, 0, 0, 0.07);
    --coh-mono-shadow-lg: 0 24px 64px rgba(0, 0, 0, 0.10);
}

html:has(body.coh-monochrome-theme) {
    background: var(--coh-mono-paper);
}

body.coh-monochrome-theme {
    background: var(--coh-mono-paper);
    color: var(--coh-mono-ink);
}

body.coh-monochrome-theme :focus-visible {
    outline: 3px solid rgba(54, 204, 197, 0.58);
    outline-offset: 3px;
}

/* ── Global header ───────────────────────────────────────────── */
body.coh-monochrome-theme .header-wrapper,
body.coh-monochrome-theme .header-wrapper.scrolled {
    --dark-bg: var(--coh-mono-black);
    --dark-surface: var(--coh-mono-black);
    --header-glass: rgba(5, 5, 5, 0.94);
    --header-glass-scrolled: rgba(5, 5, 5, 0.98);
    --header-border: rgba(255, 255, 255, 0.11);
    --glass-bg: rgba(7, 7, 7, 0.98);
    --glass-border: rgba(255, 255, 255, 0.13);
    --text-primary: #ffffff;
    --text-secondary: #b9b9b9;
    --text-tertiary: #828282;
    --nav-gold: #ffffff;
    --nav-gold-glow: transparent;
    --api-purple: var(--coh-mono-teal);
    --api-purple-light: #d7d7d7;
    --api-gradient: linear-gradient(135deg, #ffffff, #bdbdbd);
    background: rgba(5, 5, 5, 0.96);
    border-bottom-color: rgba(255, 255, 255, 0.12);
    box-shadow: none;
}

body.coh-monochrome-theme .header-wrapper.scrolled {
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.28);
}

body.coh-monochrome-theme .header-wrapper .nav-link,
body.coh-monochrome-theme .header-wrapper .language-current {
    color: #b9b9b9;
}

body.coh-monochrome-theme .header-wrapper .nav-link:hover,
body.coh-monochrome-theme .header-wrapper .nav-link:focus-visible,
body.coh-monochrome-theme .header-wrapper .language-current:hover {
    color: #ffffff;
}

body.coh-monochrome-theme .header-wrapper .nav-link--cta {
    color: #050505 !important;
    background: #ffffff;
    border-color: #ffffff;
    box-shadow: none;
}

body.coh-monochrome-theme .header-wrapper .nav-link--cta:hover {
    color: #050505 !important;
    background: #e7e7e7;
    border-color: #e7e7e7;
    box-shadow: none;
}

body.coh-monochrome-theme .header-wrapper .nav-link--premium,
body.coh-monochrome-theme .header-wrapper .nav-link--premium:hover,
body.coh-monochrome-theme .mobile-sidebar .mobile-nav-link--premium,
body.coh-monochrome-theme .mobile-sidebar .mobile-nav-link--premium:hover {
    color: #ffffff !important;
    text-shadow: none;
}

body.coh-monochrome-theme .header-wrapper .nav-link::after,
body.coh-monochrome-theme .header-wrapper .mega-menu::before,
body.coh-monochrome-theme .header-wrapper .mega-menu--api::before,
body.coh-monochrome-theme .header-wrapper .mega-menu--channels::before {
    background: var(--coh-mono-teal);
}

body.coh-monochrome-theme .header-wrapper .mega-menu,
body.coh-monochrome-theme .header-wrapper .login-dropdown,
body.coh-monochrome-theme .header-wrapper .mobile-nav {
    background: rgba(7, 7, 7, 0.985);
    border-color: rgba(255, 255, 255, 0.13);
    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.62);
}

body.coh-monochrome-theme .mobile-sidebar {
    background: #070707;
    border-left-color: rgba(255, 255, 255, 0.13);
    box-shadow: -28px 0 80px rgba(0, 0, 0, 0.66);
}

body.coh-monochrome-theme .mobile-sidebar-overlay {
    background: rgba(0, 0, 0, 0.82);
}

body.coh-monochrome-theme .mobile-accent-bar {
    background: var(--coh-mono-teal);
}

body.coh-monochrome-theme .mobile-sidebar .mobile-nav-link--cta,
body.coh-monochrome-theme .mobile-sidebar .mobile-cta-primary {
    color: #050505 !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
    box-shadow: none;
}

body.coh-monochrome-theme .mobile-sidebar .mobile-nav-link--cta:hover,
body.coh-monochrome-theme .mobile-sidebar .mobile-cta-primary:hover {
    color: #050505 !important;
    background: #e7e7e7 !important;
    border-color: #e7e7e7 !important;
}

body.coh-monochrome-theme .header-wrapper .mega-menu-title[style],
body.coh-monochrome-theme .mobile-sidebar .mobile-submenu-item[style] {
    color: #d8d8d8 !important;
}

body.coh-monochrome-theme .header-wrapper .mega-menu--api {
    border-color: rgba(255, 255, 255, 0.13);
}

body.coh-monochrome-theme .header-wrapper .mega-menu-link:hover,
body.coh-monochrome-theme .mobile-sidebar .mobile-submenu-item:hover,
body.coh-monochrome-theme .mobile-sidebar .mobile-nav-link:hover {
    background: rgba(255, 255, 255, 0.055);
    border-color: rgba(255, 255, 255, 0.12);
}

body.coh-monochrome-theme .header-wrapper .coh-header-contact {
    color: #d8d8d8;
    background: rgba(255, 255, 255, 0.055);
    border-color: rgba(255, 255, 255, 0.14);
}

body.coh-monochrome-theme .header-wrapper .coh-header-contact:hover {
    color: #050505;
    background: #ffffff;
    border-color: #ffffff;
    box-shadow: none;
}

/* Premium language selector: black glass, neutral hierarchy, teal selection. */
body.coh-monochrome-theme .contact-modal-overlay {
    background: rgba(0, 0, 0, 0.82);
}

body.coh-monochrome-theme .lang-modal {
    background: linear-gradient(145deg, rgba(13, 13, 13, 0.99), rgba(5, 5, 5, 0.995));
    border-color: rgba(255, 255, 255, 0.15);
    box-shadow: 0 32px 100px rgba(0, 0, 0, 0.72);
}

body.coh-monochrome-theme .lang-modal::before,
body.coh-monochrome-theme .lang-modal::after {
    background: radial-gradient(circle, rgba(255, 255, 255, 0.06), transparent 70%);
}

body.coh-monochrome-theme .lang-modal-accent {
    background: linear-gradient(90deg, transparent 4%, var(--coh-mono-teal) 50%, transparent 96%);
}

body.coh-monochrome-theme .lang-modal-icon,
body.coh-monochrome-theme .lang-option-code {
    color: #d2d2d2;
    background: rgba(255, 255, 255, 0.055);
    border-color: rgba(255, 255, 255, 0.12);
}

body.coh-monochrome-theme .lang-option {
    background: rgba(255, 255, 255, 0.035);
    border-color: rgba(255, 255, 255, 0.11);
}

body.coh-monochrome-theme .lang-option:hover {
    background: rgba(255, 255, 255, 0.075);
    border-color: rgba(255, 255, 255, 0.20);
}

body.coh-monochrome-theme .lang-option.active {
    background: var(--coh-mono-teal-soft);
    border-color: var(--coh-mono-teal);
}

/* ── Shared light-page palette ───────────────────────────────── */
body.coh-monochrome-theme .v4-page {
    --v4-bg: var(--coh-mono-paper);
    --v4-bg-alt: var(--coh-mono-white);
    --v4-border: var(--coh-mono-line);
    --v4-card: var(--coh-mono-white);
    --v4-text: var(--coh-mono-ink);
    --v4-text-secondary: var(--coh-mono-copy);
    --v4-text-muted: var(--coh-mono-muted);
    --v4-dark: var(--coh-mono-black);
    --v4-dark-2: var(--coh-mono-black-2);
    --v4-dark-card: rgba(255, 255, 255, 0.055);
    --v4-dark-border: var(--coh-mono-dark-line);
    --v4-dark-text: #f5f5f5;
    --v4-dark-text-2: #bdbdbd;
    --v4-dark-muted: #858585;
    --v4-purple: #ffffff;
    --v4-shadow-sm: var(--coh-mono-shadow-sm);
    --v4-shadow-md: var(--coh-mono-shadow-md);
    --v4-shadow-lg: var(--coh-mono-shadow-lg);
}

body.coh-monochrome-theme .coh-compare {
    --coh-bg: var(--coh-mono-paper);
    --coh-bg-alt: var(--coh-mono-paper-2);
    --coh-text: var(--coh-mono-ink);
    --coh-text-secondary: var(--coh-mono-copy);
    --coh-text-muted: var(--coh-mono-muted);
    --coh-accent-hover: var(--coh-mono-teal-dark);
    --coh-accent-soft: var(--coh-mono-teal-soft);
    --coh-indigo: var(--coh-mono-ink);
    --coh-border: var(--coh-mono-line);
    --coh-card: var(--coh-mono-white);
    --coh-shadow-sm: var(--coh-mono-shadow-sm);
    --coh-shadow-md: var(--coh-mono-shadow-md);
    --coh-shadow-lg: var(--coh-mono-shadow-lg);
}

body.coh-monochrome-theme .coh-vs {
    --bg: var(--coh-mono-paper);
    --alt: var(--coh-mono-paper-2);
    --card: var(--coh-mono-white);
    --text: var(--coh-mono-ink);
    --muted: var(--coh-mono-copy);
    --teal-dark: var(--coh-mono-teal-dark);
    --blue: var(--coh-mono-ink);
    --border: var(--coh-mono-line);
    --shadow: var(--coh-mono-shadow-lg);
}

body.coh-monochrome-theme .help-page {
    --help-bg: var(--coh-mono-white);
    --help-bg-alt: var(--coh-mono-paper);
    --help-text: var(--coh-mono-ink);
    --help-text-secondary: var(--coh-mono-copy);
    --help-text-muted: var(--coh-mono-muted);
    --help-border: var(--coh-mono-line);
}

body.coh-monochrome-theme .coh-contact-wrapper {
    --coh-bg: var(--coh-mono-paper);
    --coh-surface: var(--coh-mono-white);
    --coh-surface-2: var(--coh-mono-paper);
    --coh-surface-3: var(--coh-mono-paper-2);
    --coh-text: var(--coh-mono-ink);
    --coh-text-2: var(--coh-mono-copy);
    --coh-text-3: var(--coh-mono-muted);
    --coh-border: var(--coh-mono-line);
    --coh-border-hover: #b8b8b0;
    --coh-shadow-sm: var(--coh-mono-shadow-sm);
    --coh-shadow-md: var(--coh-mono-shadow-md);
}

body.coh-monochrome-theme .br-page {
    --br-bg: var(--coh-mono-paper);
    --br-bg-alt: var(--coh-mono-white);
    --br-text: var(--coh-mono-ink);
    --br-text-secondary: var(--coh-mono-copy);
    --br-accent-hover: var(--coh-mono-teal-dark);
    --br-coral: var(--coh-mono-ink);
    --br-coral-soft: rgba(0, 0, 0, 0.05);
    --br-purple: var(--coh-mono-ink);
    --br-purple-soft: rgba(0, 0, 0, 0.05);
    --br-border: var(--coh-mono-line);
}

/* Variable normalization for the feature, product, and industry page families. */
body.coh-monochrome-theme :is(.tp-page,.ck-page,.sm-page,.cs-page,.csl-page,.dh-page,.ev-page,.gl-page,.pi-page,.nfc-page,.int-page,.uc-page,.wc-page,.dd-page,.ed-page,.gf-page,.ops-page,.hs-page,.ls-page,.ss-page,.st-page,.cm-page,.pr-page) {
    --tp-bg: var(--coh-mono-paper); --tp-bg-alt: var(--coh-mono-white); --tp-bg-muted: var(--coh-mono-paper-2); --tp-text: var(--coh-mono-ink); --tp-text-secondary: var(--coh-mono-copy); --tp-text-muted: var(--coh-mono-muted); --tp-purple: var(--coh-mono-ink); --tp-purple-soft: rgba(0,0,0,.05); --tp-border: var(--coh-mono-line); --tp-card: var(--coh-mono-white);
    --ck-bg: var(--coh-mono-paper); --ck-bg-alt: var(--coh-mono-white); --ck-bg-muted: var(--coh-mono-paper-2); --ck-text: var(--coh-mono-ink); --ck-text-secondary: var(--coh-mono-copy); --ck-text-muted: var(--coh-mono-muted); --ck-blue: var(--coh-mono-ink); --ck-blue-soft: rgba(0,0,0,.05); --ck-blue-border: rgba(0,0,0,.13); --ck-border: var(--coh-mono-line); --ck-card: var(--coh-mono-white);
    --sm-bg: var(--coh-mono-paper); --sm-bg-alt: var(--coh-mono-white); --sm-bg-muted: var(--coh-mono-paper-2); --sm-text: var(--coh-mono-ink); --sm-text-secondary: var(--coh-mono-copy); --sm-text-muted: var(--coh-mono-muted); --sm-purple: var(--coh-mono-ink); --sm-purple-soft: rgba(0,0,0,.05); --sm-border: var(--coh-mono-line); --sm-card: var(--coh-mono-white);
    --cs-bg: var(--coh-mono-paper); --cs-bg-alt: var(--coh-mono-white); --cs-bg-muted: var(--coh-mono-paper-2); --cs-text: var(--coh-mono-ink); --cs-text-secondary: var(--coh-mono-copy); --cs-text-muted: var(--coh-mono-muted); --cs-accent: var(--coh-mono-teal-dark); --cs-accent-hover: #0f6865; --cs-accent-soft: var(--coh-mono-teal-soft); --cs-purple: var(--coh-mono-ink); --cs-purple-soft: rgba(0,0,0,.05); --cs-purple-border: rgba(0,0,0,.13); --cs-border: var(--coh-mono-line); --cs-card: var(--coh-mono-white);
    --csl-bg: var(--coh-mono-paper); --csl-bg-alt: var(--coh-mono-white); --csl-text: var(--coh-mono-ink); --csl-text-secondary: var(--coh-mono-copy); --csl-text-muted: var(--coh-mono-muted); --csl-blue: var(--coh-mono-ink); --csl-blue-soft: rgba(0,0,0,.05); --csl-purple: var(--coh-mono-ink); --csl-purple-soft: rgba(0,0,0,.05); --csl-border: var(--coh-mono-line); --csl-card: var(--coh-mono-white);
    --dh-bg: var(--coh-mono-paper); --dh-bg-alt: var(--coh-mono-white); --dh-bg-muted: var(--coh-mono-paper-2); --dh-text: var(--coh-mono-ink); --dh-text-secondary: var(--coh-mono-copy); --dh-text-muted: var(--coh-mono-muted); --dh-purple: var(--coh-mono-ink); --dh-purple-soft: rgba(0,0,0,.05); --dh-purple-border: rgba(0,0,0,.13); --dh-border: var(--coh-mono-line); --dh-card: var(--coh-mono-white);
    --ev-bg: var(--coh-mono-paper); --ev-bg-alt: var(--coh-mono-white); --ev-bg-muted: var(--coh-mono-paper-2); --ev-text: var(--coh-mono-ink); --ev-text-secondary: var(--coh-mono-copy); --ev-text-muted: var(--coh-mono-muted); --ev-accent: var(--coh-mono-teal-dark); --ev-accent-hover: #0f6865; --ev-accent-soft: var(--coh-mono-teal-soft); --ev-accent-border: rgba(54,204,197,.24); --ev-border: var(--coh-mono-line); --ev-card: var(--coh-mono-white);
    --gl-bg: var(--coh-mono-paper); --gl-bg-alt: var(--coh-mono-white); --gl-bg-muted: var(--coh-mono-paper-2); --gl-text: var(--coh-mono-ink); --gl-text-secondary: var(--coh-mono-copy); --gl-text-muted: var(--coh-mono-muted); --gl-blue: var(--coh-mono-ink); --gl-blue-soft: rgba(0,0,0,.05); --gl-blue-border: rgba(0,0,0,.13); --gl-purple: var(--coh-mono-ink); --gl-purple-soft: rgba(0,0,0,.05); --gl-purple-border: rgba(0,0,0,.13); --gl-border: var(--coh-mono-line); --gl-card: var(--coh-mono-white);
    --pi-bg: var(--coh-mono-paper); --pi-bg-alt: var(--coh-mono-white); --pi-bg-muted: var(--coh-mono-paper-2); --pi-text: var(--coh-mono-ink); --pi-text-secondary: var(--coh-mono-copy); --pi-text-muted: var(--coh-mono-muted); --pi-gold: var(--coh-mono-ink); --pi-gold-bright: var(--coh-mono-ink); --pi-gold-soft: rgba(0,0,0,.05); --pi-gold-border: rgba(0,0,0,.16); --pi-purple: var(--coh-mono-ink); --pi-purple-soft: rgba(0,0,0,.05); --pi-border: var(--coh-mono-line); --pi-card: var(--coh-mono-white);
    --nfc-bg: var(--coh-mono-paper); --nfc-bg-alt: var(--coh-mono-white); --nfc-bg-muted: var(--coh-mono-paper-2); --nfc-text: var(--coh-mono-ink); --nfc-text-secondary: var(--coh-mono-copy); --nfc-text-muted: var(--coh-mono-muted); --nfc-accent: var(--coh-mono-teal-dark); --nfc-accent-hover: #0f6865; --nfc-accent-soft: var(--coh-mono-teal-soft); --nfc-accent-border: rgba(54,204,197,.24); --nfc-border: var(--coh-mono-line); --nfc-card: var(--coh-mono-white);
    --int-bg: var(--coh-mono-paper); --int-bg-alt: var(--coh-mono-white); --int-bg-muted: var(--coh-mono-paper-2); --int-text: var(--coh-mono-ink); --int-text-secondary: var(--coh-mono-copy); --int-text-muted: var(--coh-mono-muted); --int-border: var(--coh-mono-line); --int-card: var(--coh-mono-white);
    --uc-bg: var(--coh-mono-paper); --uc-bg-alt: var(--coh-mono-white); --uc-bg-muted: var(--coh-mono-paper-2); --uc-text: var(--coh-mono-ink); --uc-text-secondary: var(--coh-mono-copy); --uc-text-muted: var(--coh-mono-muted); --uc-accent: var(--coh-mono-teal-dark); --uc-accent-hover: #0f6865; --uc-accent-soft: var(--coh-mono-teal-soft); --uc-accent-border: rgba(54,204,197,.24); --uc-blue: var(--coh-mono-ink); --uc-blue-soft: rgba(0,0,0,.05); --uc-blue-border: rgba(0,0,0,.13); --uc-border: var(--coh-mono-line); --uc-card: var(--coh-mono-white);
    --wc-bg: var(--coh-mono-paper); --wc-bg-alt: var(--coh-mono-white); --wc-text: var(--coh-mono-ink); --wc-text-secondary: var(--coh-mono-copy); --wc-text-muted: var(--coh-mono-muted); --wc-indigo: var(--coh-mono-ink); --wc-indigo-soft: rgba(0,0,0,.05); --wc-indigo-border: rgba(0,0,0,.13); --wc-border: var(--coh-mono-line); --wc-card: var(--coh-mono-white);
    --dd-bg: var(--coh-mono-paper); --dd-bg-alt: var(--coh-mono-white); --dd-bg-muted: var(--coh-mono-paper-2); --dd-text: var(--coh-mono-ink); --dd-text-secondary: var(--coh-mono-copy); --dd-text-muted: var(--coh-mono-muted); --dd-purple: var(--coh-mono-ink); --dd-purple-soft: rgba(0,0,0,.05); --dd-border: var(--coh-mono-line); --dd-card: var(--coh-mono-white);
    --ed-bg: var(--coh-mono-paper); --ed-bg-alt: var(--coh-mono-white); --ed-bg-muted: var(--coh-mono-paper-2); --ed-text: var(--coh-mono-ink); --ed-text-secondary: var(--coh-mono-copy); --ed-text-muted: var(--coh-mono-muted); --ed-purple: var(--coh-mono-ink); --ed-purple-soft: rgba(0,0,0,.05); --ed-purple-border: rgba(0,0,0,.13); --ed-border: var(--coh-mono-line); --ed-card: var(--coh-mono-white);
    --gf-bg: var(--coh-mono-paper); --gf-bg-alt: var(--coh-mono-white); --gf-bg-muted: var(--coh-mono-paper-2); --gf-text: var(--coh-mono-ink); --gf-text-secondary: var(--coh-mono-copy); --gf-text-muted: var(--coh-mono-muted); --gf-purple: var(--coh-mono-ink); --gf-purple-soft: rgba(0,0,0,.05); --gf-purple-border: rgba(0,0,0,.13); --gf-border: var(--coh-mono-line); --gf-card: var(--coh-mono-white);
    --ops-bg: var(--coh-mono-paper); --ops-bg-alt: var(--coh-mono-white); --ops-text: var(--coh-mono-ink); --ops-text-secondary: var(--coh-mono-copy); --ops-purple: var(--coh-mono-ink); --ops-purple-soft: rgba(0,0,0,.05); --ops-border: var(--coh-mono-line);
    --hs-bg: var(--coh-mono-paper); --hs-bg-alt: var(--coh-mono-white); --hs-bg-muted: var(--coh-mono-paper-2); --hs-text: var(--coh-mono-ink); --hs-text-secondary: var(--coh-mono-copy); --hs-text-muted: var(--coh-mono-muted); --hs-blue: var(--coh-mono-ink); --hs-blue-soft: rgba(0,0,0,.05); --hs-blue-border: rgba(0,0,0,.13); --hs-purple: var(--coh-mono-ink); --hs-purple-soft: rgba(0,0,0,.05); --hs-purple-border: rgba(0,0,0,.13); --hs-border: var(--coh-mono-line); --hs-card: var(--coh-mono-white);
    --ls-bg: var(--coh-mono-paper); --ls-bg-alt: var(--coh-mono-white); --ls-bg-muted: var(--coh-mono-paper-2); --ls-text: var(--coh-mono-ink); --ls-text-secondary: var(--coh-mono-copy); --ls-text-muted: var(--coh-mono-muted); --ls-indigo: var(--coh-mono-teal-dark); --ls-indigo-hover: #0f6865; --ls-indigo-soft: var(--coh-mono-teal-soft); --ls-indigo-border: rgba(54,204,197,.24); --ls-blue: var(--coh-mono-ink); --ls-blue-soft: rgba(0,0,0,.05); --ls-blue-border: rgba(0,0,0,.13); --ls-purple: var(--coh-mono-ink); --ls-purple-soft: rgba(0,0,0,.05); --ls-purple-border: rgba(0,0,0,.13); --ls-border: var(--coh-mono-line); --ls-card: var(--coh-mono-white);
    --ss-bg: var(--coh-mono-paper); --ss-bg-alt: var(--coh-mono-white); --ss-bg-muted: var(--coh-mono-paper-2); --ss-text: var(--coh-mono-ink); --ss-text-secondary: var(--coh-mono-copy); --ss-text-muted: var(--coh-mono-muted); --ss-amber: var(--coh-mono-teal-dark); --ss-amber-hover: #0f6865; --ss-amber-soft: var(--coh-mono-teal-soft); --ss-amber-border: rgba(54,204,197,.24); --ss-blue: var(--coh-mono-ink); --ss-blue-soft: rgba(0,0,0,.05); --ss-blue-border: rgba(0,0,0,.13); --ss-purple: var(--coh-mono-ink); --ss-purple-soft: rgba(0,0,0,.05); --ss-purple-border: rgba(0,0,0,.13); --ss-border: var(--coh-mono-line); --ss-card: var(--coh-mono-white);
    --st-bg: var(--coh-mono-paper); --st-bg-alt: var(--coh-mono-white); --st-bg-muted: var(--coh-mono-paper-2); --st-text: var(--coh-mono-ink); --st-text-secondary: var(--coh-mono-copy); --st-text-muted: var(--coh-mono-muted); --st-border: var(--coh-mono-line); --st-card: var(--coh-mono-white);
    --cm-bg: var(--coh-mono-paper); --cm-bg-alt: var(--coh-mono-white); --cm-bg-muted: var(--coh-mono-paper-2); --cm-text: var(--coh-mono-ink); --cm-text-secondary: var(--coh-mono-copy); --cm-text-muted: var(--coh-mono-muted); --cm-accent: var(--coh-mono-teal-dark); --cm-accent-hover: #0f6865; --cm-accent-soft: var(--coh-mono-teal-soft); --cm-accent-border: rgba(54,204,197,.24); --cm-stealth: var(--coh-mono-ink); --cm-stealth-soft: rgba(0,0,0,.05); --cm-stealth-border: rgba(0,0,0,.13); --cm-border: var(--coh-mono-line); --cm-card: var(--coh-mono-white);
    --cs-emerald: var(--coh-mono-teal-dark); --cs-emerald-hover: #0f6865; --cs-emerald-soft: var(--coh-mono-teal-soft); --cs-emerald-border: rgba(54,204,197,.24); --cs-blue: var(--coh-mono-ink); --cs-blue-soft: rgba(0,0,0,.05); --cs-blue-border: rgba(0,0,0,.13); --cs-rose: var(--coh-mono-ink); --cs-rose-soft: rgba(0,0,0,.05); --cs-rose-border: rgba(0,0,0,.13);
}

body.coh-monochrome-theme .pr-page {
    --pr-bg: var(--coh-mono-paper);
    --pr-bg-card: var(--coh-mono-white);
    --pr-bg-highlight: rgba(0, 0, 0, 0.045);
    --pr-text: var(--coh-mono-ink);
    --pr-text-secondary: var(--coh-mono-copy);
    --pr-text-muted: var(--coh-mono-muted);
    --pr-gold: var(--coh-mono-ink);
    --pr-gold-dark: #303030;
    --pr-gold-border: rgba(0, 0, 0, 0.18);
    --pr-border: var(--coh-mono-line);
    --pr-shadow: var(--coh-mono-shadow-md);
    --pr-shadow-sm: var(--coh-mono-shadow-sm);
}

/* Dark secure-chat family stays dark, but loses blue/purple tint. */
body.coh-monochrome-theme .sc-page {
    --sc-bg: var(--coh-mono-black);
    --sc-surface: var(--coh-mono-black-2);
    --sc-card: rgba(255, 255, 255, 0.05);
    --sc-border: rgba(255, 255, 255, 0.13);
    --sc-primary: var(--coh-mono-teal);
    --sc-primary-soft: var(--coh-mono-teal-soft);
    --sc-primary-glow: rgba(54, 204, 197, 0.20);
    --sc-text: #f3f3f3;
    --sc-text-dim: #b6b6b6;
    --sc-accent: #d8d8d8;
    --sc-accent-soft: rgba(255, 255, 255, 0.07);
}

/* ── Hero and component refinements ─────────────────────────── */
body.coh-monochrome-theme .v4-hero {
    background:
        radial-gradient(ellipse at 20% 0%, rgba(54, 204, 197, 0.09), transparent 43%),
        linear-gradient(180deg, #050505 0%, #0a0a0a 100%);
}

body.coh-monochrome-theme .v4-hero h1 .v4-hero-accent,
body.coh-monochrome-theme .coh-vs h1 span {
    background: none;
    color: var(--coh-mono-teal);
    -webkit-text-fill-color: currentColor;
}

body.coh-monochrome-theme .v4-section--dark,
body.coh-monochrome-theme .coh-vs__verdict,
body.coh-monochrome-theme .coh-vs__cta {
    background: var(--coh-mono-black);
}

body.coh-monochrome-theme .coh-vs__hero,
body.coh-monochrome-theme .coh-compare::before {
    background-image:
        radial-gradient(circle at 14% 0%, rgba(54, 204, 197, 0.08), transparent 35%),
        linear-gradient(rgba(0, 0, 0, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.035) 1px, transparent 1px);
    background-size: auto, 56px 56px, 56px 56px;
}

body.coh-monochrome-theme .coh-vs__verdict::after {
    background: rgba(255, 255, 255, 0.065);
}

body.coh-monochrome-theme :is(.v4-card,.br-feature-card,.br-dual-col,.coh-vs__card,.coh-vs__source,.coh-vs__table-wrap) {
    box-shadow: var(--coh-mono-shadow-sm);
}

body.coh-monochrome-theme :is(.v4-card,.br-feature-card,.br-dual-col,.coh-vs__card,.coh-vs__source):hover {
    box-shadow: var(--coh-mono-shadow-md);
}

body.coh-monochrome-theme .br-cta-band {
    background: var(--coh-mono-paper-2);
}

body.coh-monochrome-theme .br-btn--primary,
body.coh-monochrome-theme .coh-vs__btn {
    color: #050505;
    background: #ffffff;
    border-color: #050505;
    box-shadow: inset 0 0 0 1px #050505;
}

body.coh-monochrome-theme .br-btn--primary {
    color: #ffffff;
    background: #050505;
}

body.coh-monochrome-theme .br-btn--primary:hover {
    background: #272727;
}

/* Comparison table remains scannable: teal yes, amber partial, red no. */
body.coh-monochrome-theme .coh-compare th.coh-th-coh,
body.coh-monochrome-theme .coh-vs th:nth-child(2),
body.coh-monochrome-theme .coh-vs td:nth-child(2),
body.coh-monochrome-theme .coh-compare tr.coh-highlight td {
    background: var(--coh-mono-teal-soft);
}

body.coh-monochrome-theme .coh-overview-matrix__table th:first-child,
body.coh-monochrome-theme .coh-overview-matrix__table td:first-child,
body.coh-monochrome-theme .coh-vs th,
body.coh-monochrome-theme .coh-vs td:first-child {
    background: var(--coh-mono-paper) !important;
}

/* ── Legal pages ─────────────────────────────────────────────── */
body.coh-monochrome-theme :is(.coh-privacy,.coh-terms) {
    background: var(--coh-mono-paper);
    color: var(--coh-mono-ink);
}

body.coh-monochrome-theme :is(.coh-privacy-header,.coh-terms-header) {
    border-bottom-color: var(--coh-mono-line);
}

body.coh-monochrome-theme :is(.coh-privacy-intro,.coh-terms-intro,.coh-privacy-governing,.coh-terms-governing) {
    background: var(--coh-mono-white);
    border-color: var(--coh-mono-line);
    box-shadow: var(--coh-mono-shadow-sm);
}

/* ── Footer ──────────────────────────────────────────────────── */
body.coh-monochrome-theme .coh-footer {
    --coh-surface: var(--coh-mono-black);
    --coh-border: rgba(255, 255, 255, 0.11);
    --coh-border-hover: rgba(255, 255, 255, 0.20);
    --coh-text-secondary: #b2b2b2;
    --coh-text-muted: #7b7b7b;
    --coh-gold: #ffffff;
    background: var(--coh-mono-black);
    background-image: none;
}

body.coh-monochrome-theme .coh-footer::before,
body.coh-monochrome-theme .coh-footer::after {
    display: none;
}

body.coh-monochrome-theme .coh-footer-accent {
    background: linear-gradient(90deg, transparent, var(--coh-mono-teal), transparent);
    opacity: 0.65;
}

body.coh-monochrome-theme .coh-footer-webapp {
    background: #101010;
    border-color: rgba(255, 255, 255, 0.16);
}

body.coh-monochrome-theme .coh-footer-webapp:hover {
    background: #1b1b1b;
    border-color: rgba(255, 255, 255, 0.28);
}

body.coh-monochrome-theme .coh-footer-link--premium,
body.coh-monochrome-theme .coh-footer-link--premium:hover {
    color: #ffffff;
}

body.coh-monochrome-theme .coh-footer-link--premium::before {
    background: #ffffff;
}

@media (max-width: 760px) {
    body.coh-monochrome-theme .coh-vs__hero,
    body.coh-monochrome-theme .coh-compare {
        background-size: auto, 40px 40px, 40px 40px;
    }

    body.coh-monochrome-theme .mobile-sidebar .mobile-nav-link--premium {
        background: rgba(255, 255, 255, 0.035);
        border-color: rgba(255, 255, 255, 0.10);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.coh-monochrome-theme *,
    body.coh-monochrome-theme *::before,
    body.coh-monochrome-theme *::after {
        scroll-behavior: auto !important;
    }
}
