:root {
            --bg: #f4efe3;
            --paper: #fbf7ee;
            --ink: #21170f;
            --muted: #6e5a46;
            --line: #c9b99e;
            --accent: #6e2c1c;
            --gold: #a77a2d;
            --navy: #082033;
        }

        * { box-sizing: border-box; }

        body {
            margin: 0;
            background: var(--bg);
            color: var(--ink);
            font-family: Georgia, "Times New Roman", serif;
            line-height: 1.6;
        }

        html,
        body {
            width: 100%;
            max-width: 100%;
            overflow-x: hidden;
        }

        a {
            color: var(--accent);
            text-decoration: none;
        }

        a:hover { text-decoration: underline; }

        .signal-page {
            width: 100%;
            max-width: 1600px;
            margin: 0 auto;
            padding: 32px 24px;
        }

        .signal-admin-nav {
            margin-bottom: 18px;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .signal-masthead {
            text-align: center;
            padding: 28px 0 22px;
            border-bottom: 1px solid var(--line);
        }

        .signal-brand {
            margin: 0;
        }

        .signal-brand img {
            display: block;
            width: auto;
            max-width: 100%;
            height: 150px;
            margin: 0 auto;
        }

        .signal-nav {
            display: none;
            flex-wrap: wrap;
            justify-content: center;
            gap: 36px;
            padding: 18px 0;
            border-bottom: 1px solid var(--line);
            font-size: 15px;
            letter-spacing: .04em;
            text-transform: uppercase;
        }

        .signal-nav a {
            color: var(--ink);
        }

        .signal-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 320px);
            gap: 48px;
            margin-top: 34px;
            align-items: start;
        }

        .signal-content {
            min-width: 0;
        }

        .signal-content,
        .signal-layout,
        .signal-article,
        .signal-section,
        .sidebar {
            min-width: 0;
        }

        .signal-hero {
            padding-bottom: 32px;
            border-bottom: 1px solid var(--line);
            margin-bottom: 28px;
        }

        .signal-kicker,
        .meta,
        .ad-label {
            color: var(--muted);
            font-size: 12px;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .signal-kicker {
            margin: 0 0 10px;
        }

        .signal-title {
            margin: 0 0 16px;
            color: var(--ink);
            font-size: clamp(42px, 5vw, 76px);
            font-weight: normal;
            line-height: 1.03;
        }

        .signal-dek {
            max-width: 980px;
            margin: 0;
            color: #2e251d;
            font-size: 22px;
            line-height: 1.55;
        }

        .signal-article {
            display: grid;
            gap: 0;
        }

        .signal-section {
            padding: 26px 0;
            border-bottom: 1px solid var(--line);
        }

        .signal-section h2 {
            margin: 0 0 10px;
            color: var(--ink);
            font-size: 34px;
            font-weight: normal;
            line-height: 1.12;
        }

        .signal-section p,
        .signal-output p {
            margin: 0 0 14px;
            color: #2e251d;
            font-size: 19px;
            line-height: 1.75;
            overflow-wrap: anywhere;
        }

        .sidebar {
            border-left: 1px solid var(--line);
            padding-left: 32px;
        }

        .article-byline {
            padding: 24px 0 22px;
            border-bottom: 1px solid var(--line);
            color: var(--muted);
            font-size: 12px;
            letter-spacing: .08em;
            line-height: 1.45;
            text-transform: uppercase;
        }

        .signal-section:has(+ .article-byline),
        .signal-article:has(+ .article-byline) .signal-section:last-child {
            border-bottom: 0;
        }

        .signal-meta-card,
        .sponsor-ad,
        .signal-output,
        .signal-empty {
            background: var(--paper);
            border: 1px solid var(--line);
            padding: 24px;
            margin-bottom: 28px;
        }

        .signal-meta-card h2,
        .sponsor-ad h3,
        .signal-output h2 {
            margin: 0 0 12px;
            color: var(--ink);
            font-size: 30px;
            font-weight: normal;
            line-height: 1.1;
        }

        .signal-meta-card p,
        .sponsor-ad p,
        .signal-empty p {
            margin: 0 0 16px;
            color: #2e251d;
            font-size: 16px;
            line-height: 1.55;
        }

        .signal-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .signal-tags span {
            border: 1px solid var(--line);
            padding: 5px 8px;
            color: var(--muted);
            font-size: 12px;
            letter-spacing: .04em;
            text-transform: uppercase;
        }

        .sponsor-ad {
            text-align: center;
        }

        .sponsor-ad.dark {
            background: var(--navy);
            border-color: #0e3049;
            color: #fff;
        }

        .sponsor-ad.dark h3,
        .sponsor-ad.dark p {
            color: #fff;
        }

        .button,
        .signal-cta {
            display: inline-block;
            padding: 10px 18px;
            background: var(--gold);
            color: #fff;
            font-size: 13px;
            letter-spacing: .06em;
            text-transform: uppercase;
        }

        .dark .button { background: #1aa0d2; }

        .signal-archive {
            margin-top: 32px;
        }

        .signal-archive h2 {
            margin: 0;
            padding-bottom: 8px;
            border-bottom: 1px solid var(--line);
            color: var(--ink);
            font-size: 18px;
            font-weight: normal;
            letter-spacing: .04em;
            text-transform: uppercase;
        }

        .signal-archive-card {
            padding: 12px 0;
            border-bottom: 1px solid rgba(201, 185, 158, .5);
        }

        .signal-archive-card h3 {
            margin: 0;
            color: var(--accent);
            font-size: 18px;
            font-weight: normal;
            line-height: 1.25;
        }

        .signal-archive-card p {
            margin: 3px 0 0;
            color: var(--muted);
            font-size: 14px;
            line-height: 1.45;
        }

        .pulse-poll {
            margin: 34px 0 0;
            padding: 24px;
            background: var(--paper);
            border: 1px solid var(--line);
        }

        .pulse-poll__intro {
            margin-bottom: 20px;
        }

        .pulse-poll__eyebrow {
            margin: 0 0 6px;
            color: var(--muted);
            font-size: 12px;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .pulse-poll h2 {
            margin: 0 0 8px;
            color: var(--ink);
            font-size: 30px;
            font-weight: normal;
            line-height: 1.15;
        }

        .pulse-poll p {
            margin: 0;
            color: var(--muted);
            font-size: 16px;
        }

        .pulse-poll__form {
            display: grid;
            gap: 18px;
        }

        .pulse-question {
            min-width: 0;
            margin: 0;
            padding: 0;
            border: 0;
        }

        .pulse-question legend,
        .pulse-optin label {
            display: block;
            margin-bottom: 10px;
            color: var(--ink);
            font-size: 18px;
            line-height: 1.25;
        }

        .pulse-question label {
            display: flex;
            align-items: center;
            gap: 10px;
            min-height: 42px;
            margin: 8px 0;
            padding: 10px 12px;
            border: 1px solid rgba(201, 185, 158, .85);
            background: #fffaf1;
            color: #2e251d;
            cursor: pointer;
        }

        .pulse-question input,
        .pulse-consent input {
            flex: 0 0 auto;
        }

        .pulse-optin {
            display: grid;
            gap: 12px;
            padding: 16px;
            border: 1px solid rgba(201, 185, 158, .85);
            background: #fffaf1;
        }

        .pulse-optin[hidden] {
            display: none;
        }

        .pulse-optin input[type="email"] {
            width: 100%;
            margin-top: 8px;
            padding: 12px;
            border: 1px solid var(--line);
            background: #fff;
            color: var(--ink);
            font: inherit;
        }

        .pulse-consent {
            display: flex !important;
            align-items: flex-start;
            gap: 10px;
            margin: 0 !important;
            color: var(--muted) !important;
            font-size: 14px !important;
            line-height: 1.35 !important;
            cursor: pointer;
        }

        .pulse-consent input[type="checkbox"] {
            width: 18px;
            height: 18px;
            margin-top: 1px;
            accent-color: var(--gold);
        }

        .pulse-consent span {
            flex: 1;
        }

        .pulse-actions {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 14px;
        }

        .pulse-actions button {
            display: inline-block;
            padding: 11px 18px;
            border: 0;
            background: var(--gold);
            color: #fff;
            font: inherit;
            font-size: 13px;
            letter-spacing: .06em;
            text-transform: uppercase;
            cursor: pointer;
        }

        .pulse-actions p {
            color: var(--accent);
            font-size: 14px;
        }

        .pulse-results {
            margin-top: 28px;
            padding-top: 22px;
            border-top: 1px solid var(--line);
        }

        .pulse-results__head {
            margin-bottom: 18px;
        }

        .pulse-results h3 {
            margin: 0 0 8px;
            color: var(--ink);
            font-size: 26px;
            font-weight: normal;
            line-height: 1.15;
        }

        .pulse-result-question {
            margin-top: 20px;
        }

        .pulse-result-question h4 {
            margin: 0 0 12px;
            color: var(--ink);
            font-size: 17px;
            font-weight: 700;
            line-height: 1.3;
        }

        .pulse-bars {
            display: grid;
            gap: 10px;
        }

        .pulse-bar-meta {
            display: flex;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 5px;
            color: #2e251d;
            font-size: 14px;
            line-height: 1.25;
        }

        .pulse-bar-meta strong {
            color: var(--accent);
            font-weight: 700;
            white-space: nowrap;
        }

        .pulse-bar-track {
            width: 100%;
            height: 12px;
            overflow: hidden;
            background: rgba(201, 185, 158, .45);
            border: 1px solid rgba(201, 185, 158, .75);
        }

        .pulse-bar-fill {
            min-width: 2px;
            height: 100%;
            background: var(--gold);
        }

        .footer {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 8px 18px;
            margin-top: 48px;
            padding: 24px 0 8px;
            border-top: 1px solid var(--line);
            text-align: center;
            color: var(--muted);
            font-size: 14px;
        }

        .footer a {
            color: var(--accent);
            font-weight: 700;
        }

        .site-footer-panel {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;
            margin-top: 24px;
            padding-top: 24px;
            border-top: 1px solid var(--line);
        }

        .site-footer-panel .signal-meta-card {
            height: 100%;
        }

        @media (max-width: 1100px) {
            .signal-page {
                width: 100%;
                max-width: 100%;
                padding: 28px 22px;
            }

            .signal-layout {
                grid-template-columns: 1fr;
                gap: 32px;
            }

            .sidebar {
                border-left: 0;
                border-top: 1px solid var(--line);
                padding-top: 28px;
                padding-left: 0;
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: 20px;
            }

            .site-footer-panel {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 700px) {
            .signal-page {
                width: 100%;
                max-width: 100%;
                padding: 20px 16px;
            }

            .signal-masthead {
                padding: 12px 0 16px;
            }

            .signal-brand img {
                width: min(100%, 720px);
                max-width: 100%;
                height: auto;
                object-fit: contain;
            }

            .signal-nav {
                justify-content: flex-start;
                gap: 22px;
                overflow-x: visible;
                white-space: normal;
                padding: 14px 0;
            }

            .signal-layout { margin-top: 24px; }

            .signal-title { font-size: 38px; }

            .signal-dek { font-size: 19px; }

            .signal-section h2 { font-size: 28px; }

            .signal-section p { font-size: 18px; }

            .sidebar {
                display: block;
            }

            .signal-meta-card,
            .sponsor-ad,
            .signal-output,
            .signal-empty,
            .pulse-poll {
                padding: 18px;
            }

            .pulse-poll h2 {
                font-size: 26px;
            }

            .pulse-question legend {
                font-size: 17px;
            }

            .pulse-question label {
                min-height: 46px;
            }

            .pulse-results h3 {
                font-size: 23px;
            }

            .pulse-bar-meta {
                font-size: 13px;
            }
        }

        @media (max-width: 480px) {
            .signal-page {
                width: 100%;
                max-width: 100%;
                padding: 16px 12px;
            }

            .signal-brand img {
                width: 100%;
                max-width: 100%;
                height: auto;
                object-fit: contain;
            }

            .signal-title {
                font-size: 32px;
            }

            .signal-dek,
            .signal-section p {
                font-size: 17px;
            }

            .signal-section h2 {
                font-size: 25px;
            }
        }
