
    /* ── RESET ── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    img { max-width: 100%; height: auto; display: block; }
    ul, ol { list-style: none; }

    /* ── TOKENS ── */
    :root {
        --white: #ffffff;
        --off-white: #f7f5f2;
        --light-gray: #eeece8;
        --mid-gray: #c8c4bc;
        --dark-gray: #4a4742;
        --black: #111010;
        --orange: #E8500A;
        --orange-light: #ff7a38;
        --orange-pale: #fff0e8;
        --border: #e2dfd8;
    }

    /* ── BASE ── */
    body {
        background: var(--white);
        color: var(--black);
        font-family: 'DM Sans', sans-serif;
        font-size: 15px;
        line-height: 1.6;
    }
    a { text-decoration: none; color: inherit; }

    /* ── TOPBAR ── */
    .topbar {
        background: var(--black);
        padding: 8px 40px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .topbar-left {
        font-family: 'Space Mono', monospace;
        font-size: 10px;
        color: #777;
        letter-spacing: 0.08em;
    }
    .topbar-left span { color: var(--orange); }
    .topbar-right {
        display: flex;
        gap: 20px;
        list-style: none;
    }
    .topbar-right li a {
        font-size: 10px;
        font-family: 'Space Mono', monospace;
        letter-spacing: 0.08em;
        color: #666;
        transition: color 0.2s;
        text-transform: uppercase;
    }
    .topbar-right li a:hover { color: var(--orange); }

    /* ── TICKER ── */
    .ticker-bar {
        background: var(--orange);
        padding: 7px 0;
        overflow: hidden;
        display: flex;
        align-items: center;
    }
    .ticker-label {
        background: var(--black);
        color: var(--white);
        font-family: 'Space Mono', monospace;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.1em;
        padding: 2px 16px;
        white-space: nowrap;
        flex-shrink: 0;
        text-transform: uppercase;
        z-index: 2;
    }
    .ticker-track { overflow: hidden; flex: 1; }
    .ticker-inner {
        display: flex;
        gap: 48px;
        animation: scroll-ticker 100s linear infinite;
        width: max-content;
    }
    .ticker-inner span {
        font-family: 'DM Sans', sans-serif;
        font-size: 12px;
        font-weight: 600;
        color: var(--white);
        white-space: nowrap;
    }
    .ticker-inner span::before { content: '◆ '; font-size: 8px; }
    @keyframes scroll-ticker {
        from { transform: translateX(0); }
        to   { transform: translateX(-50%); }
    }

    /* ── NAV ── */
    nav {
        background: var(--white);
        border-bottom: 2px solid var(--black);
        position: sticky;
        top: 0;
        z-index: 200;
    }
    .nav-inner {
        padding: 0 40px;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }
    .logo {
        display: flex;
        align-items: center;
        padding: 16px 0;
        margin-right: 40px;
        flex-shrink: 0;
        text-decoration: none;
    }
    .nav-menu {
        display: flex;
        list-style: none;
        flex: 1;
    }
    .nav-menu li a {
        display: block;
        padding: 20px 14px;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--dark-gray);
        border-bottom: 3px solid transparent;
        transition: all 0.2s;
        white-space: nowrap;
    }
    .nav-menu li a:hover,
    .nav-menu li a.active {
        color: var(--orange);
        border-bottom-color: var(--orange);
    }
    .nav-search {
        margin-left: auto;
        display: flex;
        align-items: center;
        gap: 8px;
        background: var(--off-white);
        border: 1px solid var(--border);
        border-radius: 4px;
        padding: 6px 12px;
    }
    .nav-search input {
        border: none;
        background: transparent;
        font-family: 'DM Sans', sans-serif;
        font-size: 12px;
        color: var(--black);
        outline: none;
        width: 160px;
    }
    .nav-search input::placeholder { color: var(--mid-gray); }
    .search-icon { color: var(--mid-gray); font-size: 14px; cursor: pointer; }
    .nav-toggle {
        display: none;
        background: none;
        border: none;
        font-size: 24px;
        cursor: pointer;
        color: var(--black);
        padding: 0 4px;
        line-height: 1;
        margin-left: auto;
        flex-shrink: 0;
    }

    /* ── PWA PROMO BANNER (sticky bottom) ── */
    .pwa-promo {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9999;
        background: linear-gradient(135deg, #E8500A 0%, #FF6B2B 50%, #E8500A 100%);
        background-size: 200% 200%;
        animation: pwa-shimmer 3s ease infinite;
        padding: 0;
        overflow: hidden;
        box-shadow: 0 -4px 16px rgba(0,0,0,0.15);
    }
    @keyframes pwa-shimmer {
        0%, 100% { background-position: 0% 50%; }
        50% { background-position: 100% 50%; }
    }
    .pwa-promo-inner {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        padding: 10px 40px;
        max-width: 100%;
    }
    .pwa-promo-icon {
        flex-shrink: 0;
        animation: pwa-bounce 2s ease-in-out infinite;
    }
    @keyframes pwa-bounce {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-3px); }
    }
    .pwa-promo-text {
        display: flex;
        flex-direction: column;
        gap: 1px;
    }
    .pwa-promo-title {
        font-family: 'Space Mono', monospace;
        font-size: 12px;
        font-weight: 700;
        color: #fff;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }
    .pwa-promo-desc {
        font-family: 'DM Sans', sans-serif;
        font-size: 12px;
        color: rgba(255,255,255,0.85);
    }
    .pwa-promo-btn {
        background: #fff;
        color: #E8500A;
        font-family: 'Space Mono', monospace;
        font-size: 11px;
        font-weight: 700;
        padding: 7px 20px;
        border: none;
        border-radius: 4px;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        cursor: pointer;
        text-decoration: none;
        white-space: nowrap;
        transition: all 0.2s;
        box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    }
    .pwa-promo-btn:hover {
        background: var(--black);
        color: #fff;
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    }
    .pwa-promo-close {
        background: none;
        border: none;
        color: rgba(255,255,255,0.6);
        font-size: 14px;
        cursor: pointer;
        padding: 4px 8px;
        margin-left: 4px;
        transition: color 0.2s;
        flex-shrink: 0;
    }
    .pwa-promo-close:hover { color: #fff; }

    body { padding-bottom: 64px; }

    /* ── NEWSLETTER BAND ── */
    .newsletter-band {
        background: var(--orange);
        padding: 48px 40px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 40px;
    }
    .nl-eyebrow {
        font-family: 'Space Mono', monospace;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.7);
        margin-bottom: 8px;
    }
    .nl-title {
        font-family: 'Playfair Display', serif;
        font-size: 32px;
        font-weight: 900;
        color: var(--white);
        letter-spacing: -0.02em;
        line-height: 1.1;
    }
    .nl-form {
        display: flex;
        gap: 0;
        flex: 0 0 420px;
    }
    .nl-form input {
        flex: 1;
        background: rgba(255,255,255,0.15);
        border: 2px solid rgba(255,255,255,0.3);
        border-right: none;
        border-radius: 4px 0 0 4px;
        padding: 12px 16px;
        font-family: 'DM Sans', sans-serif;
        font-size: 13px;
        color: var(--white);
        outline: none;
        transition: background 0.2s;
    }
    .nl-form input::placeholder { color: rgba(255,255,255,0.55); }
    .nl-form input:focus { background: rgba(255,255,255,0.2); }
    .nl-form button {
        background: var(--black);
        color: var(--white);
        border: 2px solid var(--black);
        border-radius: 0 4px 4px 0;
        padding: 12px 24px;
        font-family: 'Space Mono', monospace;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        cursor: pointer;
        white-space: nowrap;
        transition: background 0.2s;
    }
    .nl-form button:hover { background: #1a1a1a; }

    /* ── FOOTER ── */
    footer {
        background: var(--black);
        color: var(--white);
    }
    .footer-top {
        padding: 48px 40px;
        display: grid;
        grid-template-columns: 260px 1fr 1fr 1fr;
        gap: 40px;
        border-bottom: 1px solid #1e1e1e;
    }
    .footer-tagline {
        font-family: 'Space Mono', monospace;
        font-size: 10px;
        color: #555;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        margin-bottom: 20px;
    }
    .footer-contact {
        font-size: 12px;
        color: #555;
        line-height: 1.8;
    }
    .footer-contact a { color: var(--orange); }
    .footer-col-title {
        font-family: 'Space Mono', monospace;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #444;
        margin-bottom: 16px;
        padding-bottom: 10px;
        border-bottom: 1px solid #1e1e1e;
    }
    .footer-links {
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .footer-links li a {
        font-size: 13px;
        color: #666;
        transition: color 0.2s;
    }
    .footer-links li a:hover { color: var(--orange); }
    .footer-bottom {
        padding: 16px 40px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .footer-copy {
        font-family: 'Space Mono', monospace;
        font-size: 10px;
        color: #333;
        letter-spacing: 0.06em;
    }
    .footer-socials { display: flex; gap: 12px; }
    .social-pill {
        background: #1a1a1a;
        border: 1px solid #2a2a2a;
        color: #666;
        font-family: 'Space Mono', monospace;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: 0.08em;
        padding: 5px 12px;
        border-radius: 20px;
        transition: all 0.2s;
        text-transform: uppercase;
        text-decoration: none;
        display: inline-block;
    }
    .social-pill:hover { background: var(--orange); border-color: var(--orange); color: var(--white); }

    /* ── POPUP BANNER (disabled, waiting for new banner) ── */

    /* ── READ PROGRESS ── */
    .read-progress {
        position: fixed;
        top: 0; left: 0;
        height: 3px;
        background: var(--orange);
        z-index: 999;
        width: 0%;
        transition: width 0.1s linear;
    }

    /* ── RESPONSIVE: TABLET (≤900px) ── */
    @media (max-width: 900px) {
        .topbar { padding: 6px 20px; }
        .topbar-right { display: none; }
        nav .nav-inner { padding: 0 20px; }
        .logo { margin-right: auto; }
        .nav-toggle { display: flex; align-items: center; }
        .nav-search { margin-left: 12px; display: flex; }
        .nav-search input { width: 120px; }
        .nav-menu { display: none; width: 100%; flex-direction: column; border-top: 1px solid var(--border); padding: 8px 0 12px; order: 3; }
        .nav-menu.open { display: flex; }
        .nav-menu li a { padding: 10px 20px; border-bottom: none; border-left: 3px solid transparent; }
        .nav-menu li a:hover, .nav-menu li a.active { border-left-color: var(--orange); border-bottom-color: transparent; }
        .pwa-promo-inner { padding: 10px 20px; gap: 12px; }
        .newsletter-band { flex-direction: column; padding: 36px 20px; gap: 20px; }
        .nl-form { flex: none; width: 100%; }
        .footer-top { grid-template-columns: 1fr 1fr; gap: 24px; padding: 32px 20px; }
        .footer-bottom { padding: 14px 20px; flex-direction: column; gap: 10px; text-align: center; }
        .footer-socials { justify-content: center; }
    }

    /* ── RESPONSIVE: MOBILE (≤600px) ── */
    @media (max-width: 600px) {
        .topbar { padding: 6px 16px; }
        .topbar-left { font-size: 9px; }
        nav .nav-inner { padding: 0 16px; }
        .nav-search { margin-left: 8px; padding: 5px 8px; }
        .nav-search input { width: 90px; font-size: 11px; }
        .search-icon { font-size: 12px; }
        .pwa-promo-inner { padding: 8px 16px; gap: 10px; }
        .pwa-promo-title { font-size: 11px; }
        .pwa-promo-btn { font-size: 10px; padding: 6px 14px; }
        .newsletter-band { padding: 28px 16px; }
        .nl-title { font-size: 24px; }
        .nl-form { flex-direction: column; }
        .nl-form input { border-right: 2px solid rgba(255,255,255,0.3); border-radius: 4px 4px 0 0; }
        .nl-form button { border-radius: 0 0 4px 4px; }
        .footer-top { grid-template-columns: 1fr; padding: 28px 16px; }
        .footer-bottom { padding: 12px 16px; }
    }
    