/**
 * Harq Editorial Design System — Press Edition
 * Primary Brand Color: #6b809b (Slate / Steel Blue)
 * Aesthetic: minimal newspaper / NYT-inspired, Armenian type
 */

:root {
    --harq-primary: #6b809b;
    --harq-primary-hover: #556a84;
    --harq-primary-dark: #3f5168;
    --harq-primary-rgb: 107, 128, 155;
    --harq-primary-light: rgba(107, 128, 155, 0.08);
    --harq-primary-subtle: #e9eef4;
    --harq-primary-border: rgba(107, 128, 155, 0.28);

    --harq-accent-red: #e11d48;
    --harq-accent-red-hover: #be123c;

    --harq-bg: #ffffff;
    --harq-bg-card: #ffffff;
    --harq-border: #e5e5e5;
    --harq-border-subtle: #f0f0f0;
    --harq-rule: #121212;

    --harq-text-heading: #121212;
    --harq-text-body: #333333;
    --harq-text-muted: #666666;
    --harq-text-light: #999999;

    --harq-radius-sm: 0;
    --harq-radius-md: 0;
    --harq-radius-lg: 0;
    --harq-radius-xl: 0;
    --harq-radius-full: 0;

    --harq-shadow-sm: none;
    --harq-shadow-md: none;
    --harq-shadow-lg: none;
    --harq-shadow-hover: none;

    --harq-transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, opacity 0.2s ease;
    --harq-font: 'Noto Sans Armenian', 'Open Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --harq-font-heading: 'Noto Serif Armenian', Georgia, 'Times New Roman', serif;
    --harq-measure: 42rem;
}

/* ==========================================================================
   Base & Typography
   ========================================================================== */
html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--harq-font);
    background-color: var(--harq-bg);
    color: var(--harq-text-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    line-height: 1.65;
    font-size: 1rem;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--harq-font-heading);
    color: var(--harq-text-heading);
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

a {
    color: var(--harq-primary);
    transition: var(--harq-transition);
}

a:hover {
    color: var(--harq-primary-hover);
}

/* Bootstrap Primary Color Overrides */
:root {
    --bs-primary: var(--harq-primary);
    --bs-primary-rgb: var(--harq-primary-rgb);
    --bs-border-radius: 0;
    --bs-border-radius-sm: 0;
    --bs-border-radius-lg: 0;
    --bs-border-radius-xl: 0;
    --bs-border-radius-pill: 0;
}

.btn-primary {
    background-color: var(--harq-primary) !important;
    border-color: var(--harq-primary) !important;
    color: #ffffff !important;
    font-weight: 600;
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 0 !important;
    padding: 0.55rem 1.35rem;
    transition: var(--harq-transition);
    box-shadow: none !important;
}

.btn-primary:hover, .btn-primary:focus {
    background-color: var(--harq-primary-hover) !important;
    border-color: var(--harq-primary-hover) !important;
    transform: none;
    box-shadow: none !important;
}

.btn-outline-primary {
    color: var(--harq-primary) !important;
    border-color: var(--harq-primary) !important;
    border-radius: 0 !important;
    font-weight: 600;
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: var(--harq-transition);
    box-shadow: none !important;
}

.btn-outline-primary:hover {
    background-color: var(--harq-primary) !important;
    color: #ffffff !important;
    transform: none;
    box-shadow: none !important;
}

.btn-outline-secondary {
    border-radius: 0 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.8125rem;
    box-shadow: none !important;
}

/* Press kickers (replacing pill badges) */
.badge.bg-primary {
    background-color: transparent !important;
    color: var(--harq-primary) !important;
    border: none;
    border-bottom: 1px solid var(--harq-primary);
    border-radius: 0 !important;
    font-weight: 600;
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    padding: 0.15rem 0;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    transition: var(--harq-transition);
}

.badge.bg-primary:hover {
    background-color: transparent !important;
    color: var(--harq-primary-dark) !important;
    border-bottom-color: var(--harq-primary-dark);
    transform: none;
}

.badge.bg-info {
    background-color: transparent !important;
    color: var(--harq-text-muted) !important;
    border: none;
    border-bottom: 1px solid var(--harq-border);
    border-radius: 0 !important;
    font-weight: 600;
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.15rem 0;
}

/* Breadcrumbs */
.breadcrumb {
    padding: 0.35rem 0;
    margin-bottom: 1.25rem;
    font-size: 0.75rem;
    letter-spacing: 0.02em;
}

.breadcrumb-item a {
    color: var(--harq-text-muted);
    text-decoration: none;
    font-weight: 500;
}

.breadcrumb-item a:hover {
    color: var(--harq-primary);
    text-decoration: underline;
}

.breadcrumb-item.active {
    color: var(--harq-text-heading);
}

/* ==========================================================================
   Secondary Header (Date & Calendar)
   ========================================================================== */
.secondary-header {
    background: #ffffff;
    border-bottom: 1px solid var(--harq-border);
    font-size: 0.75rem;
    padding: 0.35rem 0;
    color: var(--harq-text-muted);
}

.secondary-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.secondary-header-date svg {
    display: none;
}

.secondary-header-badge {
    background: transparent;
    color: var(--harq-primary);
    padding: 0;
    border-radius: 0;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.secondary-header-badge::before {
    content: '·';
    margin-right: 0.5rem;
    color: var(--harq-text-light);
}

.secondary-header-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 1.5rem;
}

.secondary-header-menu a {
    color: var(--harq-text-muted);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: var(--harq-transition);
}

.secondary-header-menu a:hover {
    color: var(--harq-text-heading);
}

/* Support CTA — header + footer (own palette via tokens) */
:root {
    --harq-support-bg: #3f5168;
    --harq-support-fg: #ffffff;
    --harq-support-bg-hover: #556a84;
}

.harq-support-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    font-weight: 700;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.harq-support-link svg {
    flex-shrink: 0;
}

/* Briefly unset during theme switch so var() backgrounds repaint */
html.harq-theme-switching .harq-support-link--header,
html.harq-theme-switching .harq-support-link--footer {
    background-color: transparent !important;
    border-color: transparent !important;
}

.secondary-header-menu .harq-support-link--header,
.harq-support-link--header {
    color: var(--harq-support-fg) !important;
    background-color: var(--harq-support-bg) !important;
    border: 1px solid var(--harq-support-bg) !important;
    padding: 0.28rem 0.75rem;
    letter-spacing: 0.07em;
    line-height: 1.2;
    font-size: 0.7rem;
    text-transform: uppercase;
    box-shadow: none;
}

.secondary-header-menu .harq-support-link--header:hover,
.secondary-header-menu .harq-support-link--header:focus-visible,
.harq-support-link--header:hover,
.harq-support-link--header:focus-visible {
    color: var(--harq-support-fg) !important;
    background-color: var(--harq-support-bg-hover) !important;
    border-color: var(--harq-support-bg-hover) !important;
    text-decoration: none;
}

.harq-support-link--footer {
    color: var(--harq-support-fg) !important;
    font-weight: 700;
    padding: 0.65rem 1.1rem;
    border: 1px solid var(--harq-support-bg) !important;
    background-color: var(--harq-support-bg) !important;
    text-decoration: none;
    letter-spacing: 0.04em;
}

.harq-support-link--footer:hover,
.harq-support-link--footer:focus-visible {
    color: var(--harq-support-fg) !important;
    background-color: var(--harq-support-bg-hover) !important;
    border-color: var(--harq-support-bg-hover) !important;
    text-decoration: none;
}

.footer-support-cta {
    margin-top: 1.25rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--harq-border);
}

.footer-support-cta-text {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--harq-text-muted);
}

.footer-support-cta .harq-support-link--footer {
    width: 100%;
    justify-content: center;
}

body.reader-theme-dark .footer-support-cta {
    border-top-color: rgba(255, 255, 255, 0.12);
}

/* ==========================================================================
   Main Navigation Header
   ========================================================================== */
.main-navbar {
    background: #ffffff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-bottom: 1px solid var(--harq-rule);
    box-shadow: 0 1px 0 #ffffff, 0 2px 0 var(--harq-rule);
    position: sticky;
    top: 0;
    z-index: 1020;
    transition: var(--harq-transition);
    padding: 0.85rem 0 0.95rem;
    overflow: visible;
}

.main-navbar .navbar-collapse,
.main-navbar .container,
.main-navbar .navbar-nav {
    overflow: visible;
}

.navbar-brand {
    padding: 0;
    display: flex;
    align-items: center;
}

.navbar-brand img {
    height: 48px;
    width: auto;
    transition: var(--harq-transition);
}

.navbar-brand:hover img {
    opacity: 0.85;
    transform: none;
}

.navbar-nav .nav-link {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--harq-text-heading);
    padding: 0.4rem 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    position: relative;
    transition: var(--harq-transition);
    border-radius: 0;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: var(--harq-primary);
    background-color: transparent;
}

.navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.15rem;
    height: 1px;
    background: var(--harq-primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
}

.navbar-nav .nav-link:hover::after {
    transform: scaleX(1);
}

/* Nested menu dropdowns */
.harq-nav-dropdown {
    position: relative;
}

.harq-nav-dropdown-trigger {
    display: inline-flex;
    align-items: center;
    gap: 0;
}

.harq-nav-dropdown-trigger .nav-link {
    padding-right: 0.35rem;
}

.harq-nav-dropdown-trigger .nav-link::after {
    right: 0.35rem;
}

.harq-nav-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: var(--harq-text-muted);
    cursor: pointer;
    transition: var(--harq-transition);
}

.harq-nav-dropdown-toggle:hover,
.harq-nav-dropdown-toggle:focus,
.harq-nav-dropdown.show .harq-nav-dropdown-toggle {
    color: var(--harq-primary);
}

.harq-nav-caret {
    display: block;
    width: 0.4rem;
    height: 0.4rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    transition: transform 0.2s ease;
}

.harq-nav-dropdown.show .harq-nav-caret {
    transform: rotate(225deg) translateY(-1px);
}

.navbar-nav .dropdown-menu {
    border: 1px solid var(--harq-border);
    border-radius: 0;
    box-shadow: 0 8px 24px rgba(18, 18, 18, 0.08);
    padding: 0.4rem 0;
    margin-top: 0.15rem;
    min-width: 12.5rem;
    background: #fff;
    z-index: 1040;
    animation: dropdownFadeIn 0.15s ease-out;
}

.navbar-nav .dropdown-divider {
    margin: 0.35rem 0;
    border-top-color: var(--harq-border);
}

.navbar-nav .dropdown-item {
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--harq-text-body);
    padding: 0.5rem 1rem;
    border-radius: 0;
    transition: var(--harq-transition);
}

.navbar-nav .dropdown-item.harq-nav-dropdown-parent {
    font-weight: 700;
    color: var(--harq-text-heading);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.75rem;
}

.navbar-nav .dropdown-item:hover,
.navbar-nav .dropdown-item:focus {
    background-color: var(--harq-primary-subtle);
    color: var(--harq-primary-dark);
}

@media (min-width: 992px) {
    .harq-nav-dropdown:hover > .dropdown-menu,
    .harq-nav-dropdown:focus-within > .dropdown-menu {
        display: block;
        margin-top: 0;
        top: 100%;
    }

    /* Keep hover open across the gap under the trigger */
    .harq-nav-dropdown::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        height: 0.5rem;
    }

    .harq-nav-dropdown:hover .harq-nav-caret,
    .harq-nav-dropdown:focus-within .harq-nav-caret {
        transform: rotate(225deg) translateY(-1px);
    }
}

@media (max-width: 991.98px) {
    .harq-nav-dropdown-trigger {
        width: 100%;
        justify-content: space-between;
    }

    .harq-nav-dropdown .dropdown-menu {
        position: static;
        float: none;
        box-shadow: none;
        border: 0;
        border-left: 2px solid var(--harq-primary-border);
        margin: 0.25rem 0 0.5rem 0.75rem;
        padding: 0.15rem 0;
        background: transparent;
    }

    .harq-nav-dropdown .dropdown-item.harq-nav-dropdown-parent {
        display: none;
    }
}

@keyframes dropdownFadeIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.navbar-search-btn {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    color: var(--harq-text-heading);
    background: transparent;
    border: none;
    transition: var(--harq-transition);
    cursor: pointer;
}

.navbar-search-btn:hover {
    background: transparent;
    color: var(--harq-primary);
    border-color: transparent;
}

/* ==========================================================================
   Search Overlay
   ========================================================================== */
.search-bar-container {
    background: #ffffff;
    border-bottom: 1px solid var(--harq-border);
    box-shadow: none;
    animation: searchSlideDown 0.2s ease;
}

@keyframes searchSlideDown {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.search-input-wrapper {
    max-width: 720px;
    margin: 0 auto;
}

.search-input-container {
    display: flex;
    align-items: center;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--harq-rule);
    border-radius: 0;
    padding: 0.5rem 0;
    transition: var(--harq-transition);
}

.search-input-container:focus-within {
    background: transparent;
    border-color: var(--harq-primary);
    box-shadow: none;
}

.search-icon {
    color: var(--harq-text-muted);
    margin-right: 0.75rem;
    flex-shrink: 0;
}

.search-input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 1.125rem;
    font-family: var(--harq-font-heading);
    color: var(--harq-text-heading);
}

.search-clear-btn {
    background: transparent;
    border: none;
    color: var(--harq-text-light);
    cursor: pointer;
    border-radius: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--harq-transition);
}

.search-clear-btn:hover {
    color: var(--harq-text-heading);
    background: transparent;
}

/* ==========================================================================
   Breaking News Banner
   ========================================================================== */
.breaking-news-banner {
    background: var(--harq-primary-dark);
    color: #ffffff;
    padding: 0.5rem 0;
    box-shadow: none;
}

.breaking-news-wrapper {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.breaking-news-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: transparent;
    padding: 0;
    border-radius: 0;
    white-space: nowrap;
    flex-shrink: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.35);
    padding-right: 1rem;
}

.breaking-pulse-dot {
    width: 6px;
    height: 6px;
    background-color: #ffffff;
    border-radius: 50%;
    animation: pulseGlow 1.5s infinite;
}

@keyframes pulseGlow {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 6px rgba(255, 255, 255, 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    }
}

.breaking-news-content {
    flex: 1;
    overflow: hidden;
}

.breaking-news-ticker {
    display: flex;
    gap: 2.5rem;
    animation: tickerMarquee 35s linear infinite;
}

.breaking-news-ticker:hover {
    animation-play-state: paused;
}

.breaking-news-item {
    white-space: nowrap;
    flex-shrink: 0;
}

.breaking-news-item a {
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
}

.breaking-news-item a:hover {
    text-decoration: underline;
}

.breaking-news-time {
    background: rgba(255, 255, 255, 0.2);
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
}

@keyframes tickerMarquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ==========================================================================
   Editorial Hero Bento Showcase
   ========================================================================== */
.hero-bento-section {
    padding: 2rem 0;
    background: var(--harq-bg);
}

.hero-bento-grid {
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr;
    grid-template-rows: 240px 240px;
    gap: 1.25rem;
}

.hero-bento-item {
    position: relative;
    border-radius: var(--harq-radius-lg);
    overflow: hidden;
    background: #0f172a;
    box-shadow: var(--harq-shadow-md);
    transition: var(--harq-transition);
}

.hero-bento-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--harq-shadow-hover);
}

.hero-bento-item.lead {
    grid-row: span 2;
}

.hero-bento-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    position: relative;
    overflow: hidden;
}

.hero-bento-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.hero-bento-item:hover .hero-bento-image {
    transform: scale(1.06);
}

.hero-bento-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(15, 23, 42, 0.05) 0%,
        rgba(15, 23, 42, 0.4) 45%,
        rgba(15, 23, 42, 0.92) 100%
    );
    transition: opacity 0.3s ease;
}

.hero-bento-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem;
    z-index: 2;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.hero-bento-item.lead .hero-bento-content {
    padding: 2.25rem;
}

.hero-bento-badge {
    margin-bottom: 0.75rem;
}

.hero-bento-badge .badge {
    background: rgba(107, 128, 155, 0.88) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.hero-bento-title {
    color: #ffffff;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0.5rem;
    font-size: 1.05rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.hero-bento-item.lead .hero-bento-title {
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 0.75rem;
}

.hero-bento-excerpt {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.925rem;
    line-height: 1.5;
    margin-bottom: 0.75rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hero-bento-meta {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.75);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* ==========================================================================
   Section Headers
   ========================================================================== */
.section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 1.75rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid var(--harq-rule);
    position: relative;
}

.section-header::after {
    display: none;
}

.section-title {
    font-family: var(--harq-font-heading);
    font-size: 1.75rem;
    font-weight: 600;
    margin: 0;
    color: var(--harq-text-heading);
    letter-spacing: -0.015em;
}

.section-subtitle {
    color: var(--harq-text-muted);
    font-size: 0.9375rem;
    margin: 0.35rem 0 0 0;
}

.section-view-all {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--harq-primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border-radius: 0;
    background: transparent;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: var(--harq-transition);
}

.section-view-all:hover {
    background: transparent;
    color: var(--harq-primary-dark);
    transform: none;
    text-decoration: underline;
}

/* ==========================================================================
   Card System (Story, Popular, Latest)
   ========================================================================== */
.harq-card {
    background: var(--harq-bg-card);
    border: none;
    border-bottom: 1px solid var(--harq-border);
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
    transition: var(--harq-transition);
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-bottom: 1.25rem;
}

.harq-card:hover {
    transform: none;
    box-shadow: none;
    border-color: var(--harq-border);
}

.harq-card-image-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background-color: var(--harq-border-subtle);
    margin-bottom: 0.85rem;
}

.harq-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    transition: opacity 0.25s ease;
}

.harq-card:hover .harq-card-image {
    transform: none;
    opacity: 0.92;
}

.harq-card-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 2;
}

.harq-card-body {
    padding: 0;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.harq-card-title {
    font-family: var(--harq-font-heading);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 0.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.harq-card-title a {
    color: var(--harq-text-heading);
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    transition: background-size 0.25s ease;
}

.harq-card-title a:hover {
    color: var(--harq-text-heading);
    background-size: 100% 1px;
}

.harq-card-excerpt {
    color: var(--harq-text-muted);
    font-size: 0.9375rem;
    line-height: 1.5;
    margin-bottom: 0.75rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.harq-card-footer {
    margin-top: auto;
    padding-top: 0;
    border-top: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.75rem;
    color: var(--harq-text-light);
}

/* Category Featured Spotlight Card */
.category-spotlight-card {
    background: #ffffff;
    border-radius: var(--harq-radius-lg);
    border: 1px solid var(--harq-border);
    overflow: hidden;
    box-shadow: var(--harq-shadow-sm);
    transition: var(--harq-transition);
    height: 100%;
}

.category-spotlight-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--harq-shadow-hover);
    border-color: rgba(107, 128, 155, 0.4);
}

.category-spotlight-image-wrapper {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--harq-border-subtle);
}

.category-spotlight-image {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    transition: transform 0.6s ease;
}

.category-spotlight-card:hover .category-spotlight-image {
    transform: scale(1.05);
}

/* Horizontal Story List Card */
.harq-horizontal-card {
    background: #ffffff;
    border-radius: var(--harq-radius-md);
    border: 1px solid var(--harq-border);
    padding: 0.85rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    transition: var(--harq-transition);
    box-shadow: var(--harq-shadow-sm);
    text-decoration: none;
}

.harq-horizontal-card:hover {
    transform: translateX(4px);
    border-color: var(--harq-primary);
    box-shadow: var(--harq-shadow-md);
}

.harq-horizontal-thumb {
    width: 90px;
    height: 70px;
    border-radius: var(--harq-radius-sm);
    object-fit: cover;
    flex-shrink: 0;
    background: var(--harq-border-subtle);
}

.harq-horizontal-content {
    flex: 1;
    min-width: 0;
}

.harq-horizontal-title {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--harq-text-heading);
    margin: 0 0 0.35rem 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
}

.harq-horizontal-meta {
    font-size: 0.75rem;
    color: var(--harq-text-light);
}

/* ==========================================================================
   Homepage Category Quick-Nav Chips
   ========================================================================== */
.home-category-bar {
    background: #ffffff;
    border-bottom: 1px solid var(--harq-border);
    padding: 0.85rem 0;
    margin-bottom: 1.5rem;
}

.home-category-scroll {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 0.25rem 0;
}

.home-category-scroll::-webkit-scrollbar {
    display: none;
}

.home-category-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 1rem;
    background: var(--harq-bg);
    border: 1px solid var(--harq-border);
    border-radius: var(--harq-radius-full);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--harq-text-body);
    text-decoration: none;
    white-space: nowrap;
    transition: var(--harq-transition);
}

.home-category-chip:hover {
    background: var(--harq-primary-light);
    border-color: var(--harq-primary);
    color: var(--harq-primary);
    transform: translateY(-1px);
}

.home-category-chip.active {
    background: var(--harq-primary);
    border-color: var(--harq-primary);
    color: #ffffff;
}

.home-category-chip-count {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    font-size: 0.7rem;
    border-radius: var(--harq-radius-full);
    background: rgba(107, 128, 155, 0.15);
    color: var(--harq-primary);
}

.home-category-chip.active .home-category-chip-count {
    background: rgba(255, 255, 255, 0.25);
    color: #ffffff;
}

/* ==========================================================================
   1. The Frontline Split-Stage Hero (Առաջնագիծ)
   ========================================================================== */
.frontline-hero-section {
    padding: 1rem 0 1.5rem 0;
}

.frontline-main-card {
    position: relative;
    border-radius: var(--harq-radius-xl);
    overflow: hidden;
    background: #0f172a;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
    height: 100%;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: var(--harq-transition);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.frontline-main-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.22);
}

.frontline-main-link {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.frontline-main-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.frontline-main-card:hover .frontline-main-image {
    transform: scale(1.05);
}

.frontline-main-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(15, 23, 42, 0.04) 0%,
        rgba(15, 23, 42, 0.45) 35%,
        rgba(15, 23, 42, 0.96) 100%
    );
    z-index: 2;
}

.frontline-main-content {
    position: relative;
    z-index: 3;
    padding: 2.75rem;
    color: #ffffff;
}

.frontline-label-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.85rem;
    background: rgba(107, 128, 155, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: var(--harq-radius-full);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.frontline-main-title {
    font-size: 2.15rem;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 0.9rem;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    letter-spacing: -0.01em;
}

.frontline-main-title a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.frontline-main-title a:hover {
    color: #93c5fd;
}

.frontline-main-excerpt {
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.88);
    margin-bottom: 1.25rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.frontline-main-meta {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.75);
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding-top: 0.85rem;
}

/* Frontline Focus Cards (Right Stage) */
.frontline-focus-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    height: 100%;
}

.frontline-focus-card {
    position: relative;
    border-radius: var(--harq-radius-xl);
    overflow: hidden;
    background: #0f172a;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    flex: 1;
    min-height: 245px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: var(--harq-transition);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.frontline-focus-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.16);
}

.frontline-focus-link {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.frontline-focus-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.frontline-focus-card:hover .frontline-focus-image {
    transform: scale(1.05);
}

.frontline-focus-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(15, 23, 42, 0.04) 0%,
        rgba(15, 23, 42, 0.45) 40%,
        rgba(15, 23, 42, 0.95) 100%
    );
    z-index: 2;
}

.frontline-focus-content {
    position: relative;
    z-index: 3;
    padding: 1.5rem;
    color: #ffffff;
}

.frontline-focus-title {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.5rem;
    color: #ffffff;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.frontline-focus-title a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.frontline-focus-title a:hover {
    color: #93c5fd;
}

.frontline-focus-meta {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.75);
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* ==========================================================================
   2. The "60-Second Briefing" (Արագ Ընթերցում) Strip
   ========================================================================== */
.briefing-strip-container {
    margin: 1.25rem 0 2.5rem 0;
}

.briefing-strip {
    background: #ffffff;
    border: 1px solid var(--harq-border);
    border-radius: var(--harq-radius-xl);
    padding: 0.75rem 1.25rem;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.briefing-strip-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #ffffff;
    background: linear-gradient(135deg, var(--harq-accent-red), #be123c);
    padding: 0.4rem 0.85rem;
    border-radius: var(--harq-radius-full);
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    flex-shrink: 0;
}

.briefing-items-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    width: 100%;
}

.briefing-item {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    text-decoration: none;
    color: var(--harq-text-body);
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.35;
    position: relative;
    padding-right: 0.75rem;
    border-right: 1px solid var(--harq-border-subtle);
    transition: var(--harq-transition);
}

.briefing-item:last-child {
    border-right: none;
    padding-right: 0;
}

.briefing-item:hover {
    color: var(--harq-primary);
    transform: translateY(-1px);
}

.briefing-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--harq-primary);
    flex-shrink: 0;
}

.briefing-text {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ==========================================================================
   3. "Columns of Thought" (Բազմասյուն Մամուլի Սրահ)
   ========================================================================== */
.broadsheet-section {
    padding: 3rem 0;
    background: var(--harq-bg);
}

.broadsheet-deck {
    background: #ffffff;
    border: 1px solid var(--harq-border);
    border-radius: var(--harq-radius-xl);
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.04);
}

.broadsheet-col {
    padding: 2.25rem;
    border-right: 1px solid var(--harq-border);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.broadsheet-col:last-child {
    border-right: none;
}

.broadsheet-col-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 0.85rem;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid var(--harq-border-subtle);
    position: relative;
}

.broadsheet-col-header::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 45px;
    height: 2px;
    background: var(--harq-primary);
}

.broadsheet-col-title {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0;
    color: var(--harq-text-heading);
    letter-spacing: -0.01em;
}

.broadsheet-col-title a {
    color: var(--harq-text-heading);
    text-decoration: none;
}

.broadsheet-col-title a:hover {
    color: var(--harq-primary);
}

.broadsheet-view-more {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--harq-primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.broadsheet-view-more:hover {
    color: var(--harq-primary-hover);
    text-decoration: underline;
}

/* Col 1: Numbered Briefing Items */
.broadsheet-list-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--harq-border-subtle);
    text-decoration: none;
    transition: var(--harq-transition);
}

.broadsheet-list-item:first-child {
    padding-top: 0;
}

.broadsheet-list-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.broadsheet-list-item:hover {
    transform: translateX(4px);
}

.broadsheet-num {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--harq-primary);
    line-height: 1;
    font-family: var(--harq-font-heading);
    opacity: 0.75;
    min-width: 1.75rem;
}

.broadsheet-list-item:hover .broadsheet-num {
    opacity: 1;
    color: var(--harq-primary-hover);
}

.broadsheet-item-title {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--harq-text-heading);
    line-height: 1.35;
    margin: 0 0 0.25rem 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.broadsheet-list-item:hover .broadsheet-item-title {
    color: var(--harq-primary);
}

.broadsheet-item-time {
    font-size: 0.75rem;
    color: var(--harq-text-light);
}

/* Col 2: Spotlight Culture Card */
.broadsheet-spotlight-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.broadsheet-spotlight-thumb {
    position: relative;
    border-radius: var(--harq-radius-lg);
    overflow: hidden;
    aspect-ratio: 16 / 10;
    margin-bottom: 1.25rem;
    background: var(--harq-border-subtle);
}

.broadsheet-spotlight-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.broadsheet-spotlight-card:hover .broadsheet-spotlight-thumb img {
    transform: scale(1.05);
}

.broadsheet-spotlight-title {
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.35;
    margin-bottom: 0.6rem;
}

.broadsheet-spotlight-title a {
    color: var(--harq-text-heading);
    text-decoration: none;
}

.broadsheet-spotlight-title a:hover {
    color: var(--harq-primary);
}

.broadsheet-spotlight-desc {
    font-size: 0.85rem;
    color: var(--harq-text-muted);
    line-height: 1.55;
    margin-bottom: 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.broadsheet-spotlight-meta {
    font-size: 0.75rem;
    color: var(--harq-text-light);
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid var(--harq-border-subtle);
}

/* Col 3: Opinion & Analysis Pull-Quote Style */
.broadsheet-quote-card {
    background: var(--harq-bg);
    border-radius: var(--harq-radius-lg);
    padding: 1.25rem;
    margin-bottom: 1.25rem;
    border-left: 3px solid var(--harq-primary);
    transition: var(--harq-transition);
}

.broadsheet-quote-card:last-child {
    margin-bottom: 0;
}

.broadsheet-quote-card:hover {
    background: var(--harq-primary-light);
    transform: translateX(4px);
}

.broadsheet-quote-title {
    font-size: 0.925rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.4rem;
}

.broadsheet-quote-title a {
    color: var(--harq-text-heading);
    text-decoration: none;
}

.broadsheet-quote-title a:hover {
    color: var(--harq-primary);
}

.broadsheet-quote-author {
    font-size: 0.75rem;
    color: var(--harq-primary);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

/* ==========================================================================
   4. "The Library Pavilion" (Մատենադարան & Հատուկ Հրատարակություններ)
   ========================================================================== */
.library-pavilion {
    background: linear-gradient(145deg, #090e1a 0%, #0f172a 45%, #182232 100%);
    position: relative;
    padding: 4.5rem 0;
    color: #ffffff;
    overflow: hidden;
}

.library-pavilion::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(107, 128, 155, 0.22), transparent 55%);
    pointer-events: none;
}

.library-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 2.5rem;
    position: relative;
    z-index: 2;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding-bottom: 1.25rem;
}

.library-header-title {
    font-size: 1.85rem;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 0.35rem 0;
}

.library-header-subtitle {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.65);
    margin: 0;
}

.library-viewall-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #93c5fd;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.45rem 1.15rem;
    border-radius: var(--harq-radius-full);
    border: 1px solid rgba(147, 197, 253, 0.3);
    transition: var(--harq-transition);
}

.library-viewall-btn:hover {
    background: rgba(147, 197, 253, 0.15);
    color: #ffffff;
    border-color: #93c5fd;
    transform: translateX(2px);
}

.pedestal-shelf {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--harq-radius-xl);
    padding: 2.5rem;
    position: relative;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 20px 40px rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.pedestal-shelf::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 10%;
    right: 10%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--harq-primary), transparent);
}

.pedestal-book-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    transition: var(--harq-transition);
}

.pedestal-book-item:hover {
    transform: translateY(-8px);
}

.pedestal-cover-wrap {
    perspective: 1000px;
    margin-bottom: 1.25rem;
}

.pedestal-cover {
    width: 130px;
    height: 185px;
    object-fit: cover;
    border-radius: 4px 10px 10px 4px;
    box-shadow: 
        -8px 8px 24px rgba(0, 0, 0, 0.7),
        inset 4px 0 8px rgba(255, 255, 255, 0.25),
        inset -3px 0 6px rgba(0, 0, 0, 0.4);
    transform: rotateY(-12deg);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.pedestal-book-item:hover .pedestal-cover {
    transform: rotateY(0deg) scale(1.05);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.8);
}

.pedestal-book-title {
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.35rem;
    line-height: 1.3;
}

.pedestal-book-author {
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.65);
}

/* Quote Callout Card in Library Pavilion */
.quote-callout-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--harq-radius-xl);
    padding: 2.25rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.quote-callout-card--light {
    background: #ffffff;
    border-color: var(--harq-border);
}

.quote-callout-card--light .quote-icon {
    color: var(--harq-primary);
    opacity: 0.85;
}

.quote-callout-card--light .quote-text {
    color: var(--harq-text-body);
}

.quote-callout-card--light .quote-author-badge {
    border-top-color: var(--harq-border);
}

.quote-author-name {
    font-weight: 700;
    color: var(--harq-text-heading);
}

.quote-author-meta {
    font-size: 0.8125rem;
    color: var(--harq-text-muted);
}

.quote-icon {
    color: #93c5fd;
    opacity: 0.7;
    margin-bottom: 1rem;
}

.quote-text {
    font-size: 1.15rem;
    font-style: italic;
    line-height: 1.6;
    color: #f1f5f9;
    margin-bottom: 1.5rem;
}

.quote-author-badge {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 1rem;
}

/* ==========================================================================
   5. "The Timeline Ledger" (Ժամանակագրական Հոսք) & Utility Hub
   ========================================================================== */
.timeline-ledger-section {
    padding: 4rem 0;
    background: #ffffff;
}

.timeline-card {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    padding: 1.5rem;
    background: var(--harq-bg-card);
    color: var(--harq-text-body);
    border: 1px solid var(--harq-border);
    border-radius: var(--harq-radius-xl);
    margin-bottom: 1.25rem;
    position: relative;
    transition: var(--harq-transition);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.timeline-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 3px;
    background: var(--harq-primary);
    opacity: 0;
    transition: opacity 0.2s ease;
    border-radius: var(--harq-radius-xl) 0 0 var(--harq-radius-xl);
}

.timeline-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
    border-color: rgba(107, 128, 155, 0.4);
}

.timeline-card:hover::before {
    opacity: 1;
}

.timeline-thumb-wrap {
    width: 220px;
    height: 145px;
    border-radius: var(--harq-radius-md);
    overflow: hidden;
    flex-shrink: 0;
    background: var(--harq-border-subtle);
    position: relative;
}

.timeline-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    object-position: center top;
    transition: transform 0.6s ease;
}

.timeline-card:hover .timeline-thumb {
    transform: scale(1.05);
}

.timeline-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.timeline-badge {
    margin-bottom: 0.35rem;
}

.timeline-title {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.timeline-title a {
    color: var(--harq-text-heading);
    text-decoration: none;
    transition: color 0.2s ease;
}

.timeline-title a:hover {
    color: var(--harq-primary);
}

.timeline-excerpt {
    font-size: 0.875rem;
    color: var(--harq-text-muted);
    line-height: 1.5;
    margin-bottom: 0.85rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.timeline-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.75rem;
    color: var(--harq-text-light);
    margin-top: auto;
}

/* Utility Hub: Popularity Meter */
.utility-hub {
    position: sticky;
    top: 95px;
}

.popularity-meter-item {
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--harq-border-subtle);
    text-decoration: none;
    display: block;
    transition: var(--harq-transition);
}

.popularity-meter-item:first-child {
    padding-top: 0;
}

.popularity-meter-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.popularity-meter-item:hover {
    transform: translateX(4px);
}

.popularity-meter-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 0.35rem;
}

.popularity-rank {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--harq-primary);
    font-family: var(--harq-font-heading);
    line-height: 1;
}

.popularity-views {
    font-size: 0.75rem;
    color: var(--harq-text-light);
}

.popularity-item-title {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--harq-text-heading);
    line-height: 1.35;
    margin-bottom: 0.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.popularity-meter-item:hover .popularity-item-title {
    color: var(--harq-primary);
}

.popularity-bar-track {
    height: 4px;
    background: var(--harq-border-subtle);
    border-radius: var(--harq-radius-full);
    overflow: hidden;
}

.popularity-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--harq-primary), var(--harq-primary-hover));
    border-radius: var(--harq-radius-full);
}

/* ==========================================================================
   Article Show Page (`blog/show.blade.php`)
   ========================================================================== */
.reading-progress-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: transparent;
    z-index: 2000;
}

.reading-progress-bar {
    height: 100%;
    width: 0%;
    background: var(--harq-primary);
    transition: width 0.1s ease-out;
}

.article-header {
    margin-bottom: 1.75rem;
}

.article-title {
    font-family: var(--harq-font-heading);
    font-size: clamp(1.85rem, 4vw, 2.75rem);
    font-weight: 600;
    line-height: 1.15;
    color: var(--harq-text-heading);
    margin: 0.75rem 0 1rem;
    letter-spacing: -0.02em;
    max-width: var(--harq-measure);
}

.article-title a {
    color: inherit;
    text-decoration: none;
    vertical-align: super;
    font-size: 0.55em;
    font-weight: 700;
    margin-left: 0.15em;
}

.article-title a:hover {
    color: var(--harq-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Press single-article layout (featured thumb + split sidebar) */
.press-article-page {
    max-width: 1140px;
}

.press-article-layout {
    align-items: stretch;
}

.press-article-main {
    padding-right: 2rem;
}

.press-article-sidebar {
    padding-left: 1.35rem;
    border-left: 1px solid var(--harq-border);
    align-self: stretch;
}

/* Prefer a wider reading column: ~75% main / ~25% sidebar on lg+ */
@media (min-width: 992px) {
    .press-article-layout > .press-article-main {
        flex: 0 0 76%;
        max-width: 76%;
    }

    .press-article-layout > .press-article-sidebar {
        flex: 0 0 24%;
        max-width: 24%;
    }
}

.press-article-header {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 1.35rem 1.5rem;
    align-items: start;
    margin-bottom: 1.25rem;
}

.press-article-thumb {
    width: 140px;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--harq-border-subtle);
}

.press-article-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    cursor: zoom-in;
}

.press-article-heading .article-title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    max-width: none;
}

.press-article-meta {
    font-size: 0.8125rem;
    color: var(--harq-text-muted);
    line-height: 1.55;
    margin-bottom: 0.35rem;
}

.press-article-meta a {
    color: var(--harq-text-muted);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.press-article-meta a:hover {
    color: var(--harq-text-heading);
}

.press-article-meta-sep {
    margin: 0 0.2rem;
    opacity: 0.7;
}

.press-article-submeta {
    font-size: 0.75rem;
    color: var(--harq-text-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.press-article-tags {
    margin: 2.25rem 0 1.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--harq-rule);
}

.press-article-tags-label {
    margin: 0 0 0.85rem;
    font-family: var(--harq-font);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--harq-text-muted);
    line-height: 1.2;
}

.press-article-tags-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.press-article-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    max-width: 100%;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--harq-text-heading);
    text-decoration: none;
    border: 1px solid var(--harq-border);
    padding: 0.35rem 0.7rem;
    background: transparent;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.press-article-tag-hash {
    color: var(--harq-primary);
    font-weight: 700;
    font-size: 0.75em;
    line-height: 1;
    flex: 0 0 auto;
}

.press-article-tag:hover,
.press-article-tag:focus-visible {
    color: var(--harq-primary-dark);
    border-color: var(--harq-primary);
    background: var(--harq-primary-light);
    outline: none;
}

.press-article-tag:focus-visible {
    box-shadow: 0 0 0 2px rgba(var(--harq-primary-rgb), 0.25);
}

.press-article-share {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 2rem 0;
    padding: 1rem 1.15rem;
    border: 1px solid var(--harq-border);
    background: var(--harq-bg-card, #fff);
}

.press-article-share-label {
    font-weight: 600;
    color: var(--harq-text-heading);
}

.press-sidebar-block {
    margin-bottom: 2rem;
}

.press-sidebar-heading {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--harq-text-heading);
    margin: 0 0 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--harq-border);
}

.press-sidebar-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.press-sidebar-links li {
    margin: 0;
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--harq-border-subtle, #eee);
}

.press-sidebar-links a {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    color: var(--harq-text-heading);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.press-cat-count {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--harq-text-light);
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
    text-transform: none;
}

.press-sidebar-links a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.press-sidebar-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.press-sidebar-tag {
    display: inline-block;
    font-size: 0.75rem;
    color: var(--harq-text-body);
    text-decoration: none;
    border: 1px solid var(--harq-border);
    padding: 0.25rem 0.55rem;
    background: var(--harq-bg-card, #fff);
}

.press-sidebar-tag:hover {
    border-color: var(--harq-text-heading);
    color: var(--harq-text-heading);
}

.press-sidebar-book {
    display: block;
    text-decoration: none;
    color: var(--harq-text-heading);
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.4;
}

.press-sidebar-book span {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--harq-text-muted);
}

.press-sidebar-book:hover {
    color: var(--harq-primary);
}

.press-sidebar-book-block .press-sidebar-book {
    margin-bottom: 0.85rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--harq-border-subtle);
}

.press-sidebar-chapters {
    list-style: none;
    margin: 0;
    padding: 0 0.35rem 0 0;
    max-height: min(28rem, 52vh);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--harq-border, #d4d4d4) 70%, #94a3b8) transparent;
}

.press-sidebar-chapters::-webkit-scrollbar {
    width: 4px;
}

.press-sidebar-chapters::-webkit-scrollbar-track {
    background: transparent;
    margin: 0.25rem 0;
}

.press-sidebar-chapters::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--harq-border, #d4d4d4) 55%, #94a3b8);
    border-radius: 999px;
}

.press-sidebar-chapters::-webkit-scrollbar-thumb:hover {
    background: color-mix(in srgb, var(--harq-primary, #3f5168) 45%, #94a3b8);
}

.press-sidebar-chapters::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
}

.press-sidebar-chapter {
    border-bottom: 1px solid var(--harq-border-subtle);
}

.press-sidebar-chapter:last-child {
    border-bottom: none;
}

.press-sidebar-chapter-link {
    display: grid;
    grid-template-columns: 1.5rem minmax(0, 1fr);
    gap: 0.45rem;
    align-items: start;
    padding: 0.55rem 0.15rem;
    text-decoration: none;
    color: inherit;
    transition: color 0.15s ease, background-color 0.15s ease;
}

a.press-sidebar-chapter-link:hover {
    background: var(--harq-primary-light);
}

a.press-sidebar-chapter-link:hover .press-sidebar-chapter-title {
    color: var(--harq-primary);
}

.press-sidebar-chapter-num {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--harq-text-light);
    padding-top: 0.15rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.press-sidebar-chapter-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--harq-text-body);
}

.press-sidebar-chapter.is-current .press-sidebar-chapter-link {
    background: var(--harq-primary-light);
}

.press-sidebar-chapter.is-current .press-sidebar-chapter-num {
    color: var(--harq-primary);
}

.press-sidebar-chapter.is-current .press-sidebar-chapter-title {
    color: var(--harq-text-heading);
    font-weight: 700;
}

@media (max-width: 991.98px) {
    .press-article-main {
        padding-right: 0;
    }

    .press-article-sidebar {
        padding-left: 0;
        border-left: none;
        border-top: 1px solid var(--harq-border);
        margin-top: 2.5rem;
        padding-top: 2rem;
    }

    .press-article-header {
        grid-template-columns: 110px 1fr;
        gap: 1rem;
    }

    .press-article-thumb {
        width: 110px;
    }
}

@media (max-width: 575.98px) {
    .press-article-header {
        grid-template-columns: 1fr;
    }

    .press-article-thumb {
        width: 120px;
    }

    .post-content {
        text-align: left;
        hyphens: none;
        font-size: 1.125rem;
        line-height: 1.85;
    }
}

.article-meta-bar {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
    padding: 0.75rem 0;
    border-top: 1px solid var(--harq-border);
    border-bottom: 1px solid var(--harq-border);
    font-size: 0.8125rem;
    color: var(--harq-text-muted);
}

.article-hero-image-wrapper {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    margin-bottom: 2rem;
    box-shadow: none;
    background: var(--harq-border-subtle);
}

.article-hero-image {
    width: 100%;
    max-height: 520px;
    object-fit: cover;
    cursor: zoom-in;
    transition: transform 0.4s ease;
}

.article-hero-image:hover {
    transform: scale(1.01);
}

.post-content [id] {
    scroll-margin-top: 5.5rem;
}

/* In-page footnote / gloss anchors — tooltip instead of jump */
.post-content a.post-anchor-ref {
    color: var(--harq-primary);
    text-decoration: none;
    border-bottom: 1px dotted var(--harq-primary);
    cursor: help;
    font-weight: 600;
}

.post-content a.post-anchor-ref:hover,
.post-content a.post-anchor-ref:focus {
    color: var(--harq-primary-hover);
    border-bottom-style: solid;
    outline: none;
}

.post-anchor-tooltip {
    position: fixed;
    z-index: 1080;
    max-width: min(22rem, calc(100vw - 24px));
    padding: 0.65rem 0.85rem;
    background: #1a1a1a;
    color: #f5f5f5;
    font-family: var(--harq-font);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0.01em;
    border-radius: 2px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
    pointer-events: auto;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.post-anchor-tooltip.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.post-anchor-tooltip::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -6px;
    margin-left: -6px;
    border: 6px solid transparent;
    border-top-color: #1a1a1a;
    border-bottom-width: 0;
}

.post-anchor-tooltip.is-below::after {
    top: -6px;
    bottom: auto;
    border-top-width: 0;
    border-bottom-width: 6px;
    border-bottom-color: #1a1a1a;
    border-top-color: transparent;
}

.reader-theme-sepia .post-anchor-tooltip {
    background: #3d3426;
    color: #f7f2e7;
}

.reader-theme-sepia .post-anchor-tooltip::after {
    border-top-color: #3d3426;
}

.reader-theme-sepia .post-anchor-tooltip.is-below::after {
    border-bottom-color: #3d3426;
    border-top-color: transparent;
}

.reader-theme-dark .post-anchor-tooltip {
    background: #e6edf3;
    color: #0d1117;
}

.reader-theme-dark .post-anchor-tooltip::after {
    border-top-color: #e6edf3;
}

.reader-theme-dark .post-anchor-tooltip.is-below::after {
    border-bottom-color: #e6edf3;
    border-top-color: transparent;
}

/* Article Prose Content — long-form reading */
.article-reader-container {
    --reader-fs: 17px;
    --reader-lh: 1.8;
    --reader-measure: 48rem;
    --reader-para-gap: 1.15em;
}

.article-reader-container.font-size-sm {
    --reader-fs: 15px;
    --reader-lh: 1.75;
}

.article-reader-container.font-size-md {
    --reader-fs: 17px;
    --reader-lh: 1.8;
}

.article-reader-container.font-size-lg {
    --reader-fs: 19px;
    --reader-lh: 1.85;
}

.article-reader-container.font-size-xl {
    --reader-fs: 21px;
    --reader-lh: 1.9;
}

.article-reader-container.font-size-xxl {
    --reader-fs: 24px;
    --reader-lh: 1.95;
}

.post-content {
    max-width: var(--reader-measure, 48rem);
    width: 100%;
    margin-inline: 0;
    font-family: var(--harq-font-heading);
    font-size: var(--reader-fs, 17px);
    font-weight: 400;
    line-height: var(--reader-lh, 1.8);
    letter-spacing: 0.015em;
    word-spacing: 0.02em;
    color: var(--harq-text-body);
    text-align: start;
    text-wrap: pretty;
    overflow-wrap: break-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    hanging-punctuation: first allow-end last;
    font-kerning: normal;
    font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Beat Summernote/WP inline font-size so A- / A / A+ actually change the text */
.article-reader-container .post-content :is(p, li, td, th, span, div, font, a, em, strong, b, i, u, blockquote) {
    font-size: inherit !important;
    line-height: inherit;
}

.post-content sup,
.post-content sub {
    font-size: 0.75em;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

.post-content sup {
    top: -0.45em;
}

.post-content sub {
    top: 0.2em;
}

.post-content > *:first-child {
    margin-top: 0;
}

.post-content p {
    margin-bottom: var(--reader-para-gap, 1.15em);
    orphans: 3;
    widows: 3;
}

.post-content p:last-child {
    margin-bottom: 0;
}

/* Extra air around centered section breaks (* * *) */
.post-content p[style*="text-align: center"],
.post-content p[style*="text-align:center"] {
    margin-top: 1.75em;
    margin-bottom: 1.75em;
    letter-spacing: 0.12em;
    color: var(--harq-text-muted);
}

/* Document-style titles inside body — alignment follows the editor (inline style / class) */
.post-content h1,
.post-content h2 {
    font-family: var(--harq-font-heading);
    font-size: 1.45em;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: start;
    text-transform: uppercase;
    margin: 2.5rem 0 1rem;
    padding-bottom: 0;
    border-bottom: none;
    color: var(--harq-text-heading);
    line-height: 1.35;
    text-wrap: balance;
}

.post-content h3 {
    font-family: var(--harq-font-heading);
    font-size: 1.15em;
    font-weight: 600;
    text-align: start;
    margin: 2rem 0 1rem;
    color: var(--harq-text-heading);
    line-height: 1.4;
    text-wrap: balance;
}

.post-content h4,
.post-content h5,
.post-content h6 {
    font-family: var(--harq-font-heading);
    font-size: 1.05em;
    font-weight: 600;
    text-align: start;
    margin: 1.75rem 0 0.9rem;
    color: var(--harq-text-heading);
    line-height: 1.5;
}

/* Honor Summernote / Bootstrap alignment from the editor */
.post-content :is(h1, h2, h3, h4, h5, h6)[style*="text-align: center"],
.post-content :is(h1, h2, h3, h4, h5, h6)[style*="text-align:center"],
.post-content :is(h1, h2, h3, h4, h5, h6).text-center {
    text-align: center !important;
}

.post-content :is(h1, h2, h3, h4, h5, h6)[style*="text-align: right"],
.post-content :is(h1, h2, h3, h4, h5, h6)[style*="text-align:right"],
.post-content :is(h1, h2, h3, h4, h5, h6).text-right,
.post-content :is(h1, h2, h3, h4, h5, h6).text-end {
    text-align: right !important;
}

.post-content :is(h1, h2, h3, h4, h5, h6)[style*="text-align: left"],
.post-content :is(h1, h2, h3, h4, h5, h6)[style*="text-align:left"],
.post-content :is(h1, h2, h3, h4, h5, h6)[style*="text-align: start"],
.post-content :is(h1, h2, h3, h4, h5, h6)[style*="text-align:start"],
.post-content :is(h1, h2, h3, h4, h5, h6).text-left,
.post-content :is(h1, h2, h3, h4, h5, h6).text-start {
    text-align: left !important;
}

.post-content :is(h1, h2, h3, h4, h5, h6)[style*="text-align: justify"],
.post-content :is(h1, h2, h3, h4, h5, h6)[style*="text-align:justify"],
.post-content :is(h1, h2, h3, h4, h5, h6).text-justify {
    text-align: justify !important;
}

/* Closing attribution / signature lines (often Summernote h6) */
.post-content h6[style*="text-align: right"],
.post-content h6[style*="text-align:right"],
.post-content h5[style*="text-align: right"],
.post-content h5[style*="text-align:right"] {
    margin-top: 2rem;
    font-style: italic;
    font-weight: 500;
}

.post-content blockquote,
.post-content .blockquote {
    border-left: 3px solid var(--harq-primary);
    background: var(--harq-primary-light);
    padding: 1.15rem 1.4rem;
    margin: 2rem 0;
    font-size: inherit;
    font-style: italic;
    font-weight: inherit;
    line-height: inherit;
    color: var(--harq-text-heading);
    text-align: start;
}

.post-content blockquote p,
.post-content .blockquote p {
    font-size: inherit;
    line-height: inherit;
    margin-bottom: 0.85em;
}

.post-content blockquote p:last-child,
.post-content .blockquote p:last-child {
    margin-bottom: 0;
}

.post-content img {
    max-width: 100%;
    height: auto;
    margin: 1.75rem auto;
    display: block;
    vertical-align: middle;
    box-sizing: border-box;
}

/* Framed image + caption (built from alt on the reader page) */
.post-content .post-figure {
    box-sizing: border-box;
    display: block;
    width: auto;
    max-width: min(100%, 640px);
    margin: 1.75rem auto;
    padding: 0.45rem 0.45rem 0.4rem;
    border: 1px solid #d8d5cf;
    background: #fff;
}

.post-content .post-figure img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.post-content .post-figure-caption {
    display: block;
    margin: 0.4rem 0 0.05rem;
    padding: 0 0.2rem;
    font-size: 0.78em;
    line-height: 1.35;
    font-style: italic;
    font-weight: 400;
    text-align: center;
    color: #6a6560;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Float the frame (not the bare img) so caption stays under the photo */
.post-content .post-figure--float-left {
    float: left;
    clear: left;
    width: 38%;
    max-width: 280px;
    min-width: 160px;
    margin: 0.15rem 1.4rem 1.1rem 0;
    shape-outside: margin-box;
}

.post-content .post-figure--float-right {
    float: right;
    clear: right;
    width: 38%;
    max-width: 280px;
    min-width: 160px;
    margin: 0.15rem 0 1.1rem 1.4rem;
    shape-outside: margin-box;
}

.post-content .post-figure--center {
    float: none;
    width: auto;
    max-width: min(100%, 640px);
    margin-left: auto;
    margin-right: auto;
}

/* Legacy Summernote float on bare imgs (before JS wrap runs / no-js) */
.post-content > img.note-float-left,
.post-content p > img.note-float-left,
.post-content img[style*="float: left"],
.post-content img[style*="float:left"] {
    float: left !important;
    clear: left;
    display: block;
    width: auto !important;
    max-width: min(40%, 280px) !important;
    margin: 0.2rem 1.35rem 1rem 0 !important;
    padding: 0.4rem;
    border: 1px solid #d8d5cf;
    background: #fff;
}

.post-content > img.note-float-right,
.post-content p > img.note-float-right,
.post-content img[style*="float: right"],
.post-content img[style*="float:right"] {
    float: right !important;
    clear: right;
    display: block;
    width: auto !important;
    max-width: min(40%, 280px) !important;
    margin: 0.2rem 0 1rem 1.35rem !important;
    padding: 0.4rem;
    border: 1px solid #d8d5cf;
    background: #fff;
}

.post-content::after {
    content: "";
    display: table;
    clear: both;
}

@media (max-width: 767.98px) {
    .post-content .post-figure--float-left,
    .post-content .post-figure--float-right {
        float: none;
        clear: none;
        max-width: min(100%, 360px);
        margin: 1.25rem auto;
    }

    .post-content > img.note-float-left,
    .post-content p > img.note-float-left,
    .post-content > img.note-float-right,
    .post-content p > img.note-float-right,
    .post-content img[style*="float: left"],
    .post-content img[style*="float:left"],
    .post-content img[style*="float: right"],
    .post-content img[style*="float:right"] {
        float: none !important;
        clear: none !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 1.25rem auto !important;
    }
}

.post-content a {
    color: var(--harq-primary-dark);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.post-content a:hover {
    color: var(--harq-primary);
}

/* —— Editorial data tables (imported Enfold / Summernote) —— */
.post-content .post-table-wrap {
    --harq-table-border: #ced4da;
    --harq-table-bg: #ffffff;
    --harq-table-head-bg: #f1f3f5;
    --harq-table-section-bg: #e9ecef;
    --harq-table-stripe: #fafbfc;
    --harq-table-text: #212529;
    --harq-table-muted: #6c757d;

    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    margin: 1.75rem 0;
    border: 1px solid var(--harq-table-border);
    background: var(--harq-table-bg);
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--harq-table-border) 80%, #64748b) transparent;
}

.post-content .post-table-wrap:focus-visible {
    outline: 2px solid var(--harq-primary);
    outline-offset: 2px;
}

.post-content .post-table-wrap::-webkit-scrollbar {
    height: 8px;
}

.post-content .post-table-wrap::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--harq-table-border) 55%, #94a3b8);
    border-radius: 999px;
}

.post-content table,
.post-content .avia-table,
.post-content .avia-data-table,
.post-content .post-data-table {
    width: 100%;
    min-width: 32rem;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
    background: var(--harq-table-bg, #fff);
    color: var(--harq-table-text, #2c2c2c);
    font-family: var(--harq-font-body, system-ui, -apple-system, "Segoe UI", sans-serif);
    font-size: 0.9rem;
    line-height: 1.45;
}

.post-content table caption {
    caption-side: top;
    text-align: left;
    padding: 0.65rem 0.85rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--harq-table-muted, #5c6570);
    border-bottom: 1px solid var(--harq-table-border, #dee2e6);
    background: var(--harq-table-head-bg, #f8f9fa);
}

.post-content table th,
.post-content table td {
    border: 1px solid var(--harq-table-border, #ced4da);
    padding: 0.7rem 0.9rem;
    vertical-align: middle;
    color: inherit;
    background: transparent;
}

.post-content table thead th,
.post-content table tr.avia-heading-row > th,
.post-content table tr.post-table-head > th,
.post-content table tr.post-table-head > td {
    background: var(--harq-table-head-bg, #f8f9fa);
    font-weight: 700;
    letter-spacing: 0.03em;
    text-align: center;
    color: var(--harq-table-text, #2c2c2c);
}

.post-content table tr.post-table-section > th,
.post-content table tr.post-table-section > td,
.post-content table tr.avia-heading-row.post-table-section > th {
    background: var(--harq-table-section-bg, #f1f3f5);
    text-align: left;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.05em;
    font-size: 0.84rem;
}

.post-content table tbody tr:not(.avia-heading-row):not(.post-table-head):not(.post-table-section):nth-child(even) > td {
    background: var(--harq-table-stripe, #fcfcfd);
}

.post-content table td:first-child,
.post-content table th:first-child {
    text-align: left;
    font-weight: 500;
    white-space: nowrap;
}

.post-content table tr.post-table-head > th:first-child,
.post-content table tr.avia-heading-row:not(.post-table-section) > th:first-child {
    font-weight: 700;
    white-space: normal;
}

.post-content table td:not(:first-child),
.post-content table th:not(:first-child),
.post-content table td[colspan]:not([colspan="1"]),
.post-content table th[colspan]:not([colspan="1"]) {
    text-align: center;
    font-variant-numeric: tabular-nums;
    font-weight: 400;
}

.post-content table tr.post-table-section > th[colspan],
.post-content table tr.post-table-section > td[colspan] {
    text-align: left;
    font-weight: 700;
    white-space: normal;
}

.post-content table td:empty::before,
.post-content table th:empty::before {
    content: "\00a0";
}

@media (max-width: 767.98px) {
    .post-content .post-table-wrap {
        margin-left: -0.75rem;
        margin-right: -0.75rem;
        width: calc(100% + 1.5rem);
        max-width: calc(100% + 1.5rem);
        border-left: none;
        border-right: none;
    }

    .post-content table,
    .post-content .avia-table,
    .post-content .avia-data-table,
    .post-content .post-data-table {
        min-width: 28rem;
        font-size: 0.84rem;
    }

    .post-content table th,
    .post-content table td {
        padding: 0.55rem 0.65rem;
    }

    .post-content table td:first-child,
    .post-content table th:first-child {
        position: sticky;
        left: 0;
        z-index: 1;
        background: var(--harq-table-bg, #fff);
        box-shadow: 1px 0 0 var(--harq-table-border, #dee2e6);
    }

    .post-content table tr.avia-heading-row > th:first-child,
    .post-content table tr.post-table-head > th:first-child,
    .post-content table tr.post-table-section > th:first-child {
        background: var(--harq-table-head-bg, #f8f9fa);
        z-index: 2;
    }

    .post-content table tr.post-table-section > th:first-child {
        background: var(--harq-table-section-bg, #f1f3f5);
    }

    .post-content table tbody tr:not(.avia-heading-row):not(.post-table-head):not(.post-table-section):nth-child(even) > td:first-child {
        background: var(--harq-table-stripe, #fcfcfd);
    }
}

body.reader-theme-sepia .post-content .post-table-wrap,
html.reader-theme-sepia .post-content .post-table-wrap {
    --harq-table-border: #b7a78c;
    --harq-table-bg: #fbf7ee;
    --harq-table-head-bg: #ebe1cd;
    --harq-table-section-bg: #e0d4bc;
    --harq-table-stripe: #f4ecdf;
    --harq-table-text: #2c2518;
    --harq-table-muted: #7a6b52;
}

body.reader-theme-dark .post-content .post-table-wrap,
html.reader-theme-dark .post-content .post-table-wrap {
    --harq-table-border: rgba(255, 255, 255, 0.14);
    --harq-table-bg: #0d1117;
    --harq-table-head-bg: #161b22;
    --harq-table-section-bg: #21262d;
    --harq-table-stripe: #11161d;
    --harq-table-text: #e6edf3;
    --harq-table-muted: #8b949e;
}

body.reader-theme-dark .post-content table,
body.reader-theme-sepia .post-content table,
html.reader-theme-dark .post-content table,
html.reader-theme-sepia .post-content table {
    color: var(--harq-table-text) !important;
}

body.reader-theme-dark .post-content table th,
body.reader-theme-dark .post-content table td,
body.reader-theme-sepia .post-content table th,
body.reader-theme-sepia .post-content table td,
html.reader-theme-dark .post-content table th,
html.reader-theme-dark .post-content table td,
html.reader-theme-sepia .post-content table th,
html.reader-theme-sepia .post-content table td {
    border-color: var(--harq-table-border) !important;
    color: var(--harq-table-text) !important;
}

/* Closing attribution / signature lines */
.post-content p[style*="text-align: right"],
.post-content p[style*="text-align:right"] {
    text-align: right !important;
    margin-top: 2rem;
    margin-bottom: 0.15rem;
    font-weight: 500;
}

@media (max-width: 575.98px) {
    .article-reader-container {
        --reader-fs: 16px;
        --reader-lh: 1.75;
        --reader-measure: 100%;
        --reader-para-gap: 1.05em;
    }

    .article-reader-container.font-size-sm {
        --reader-fs: 15px;
    }

    .article-reader-container.font-size-md {
        --reader-fs: 16px;
    }

    .article-reader-container.font-size-lg {
        --reader-fs: 18px;
    }

    .article-reader-container.font-size-xl {
        --reader-fs: 20px;
    }

    .article-reader-container.font-size-xxl {
        --reader-fs: 22px;
    }
}

/* Floating / Inline Social Share */
.social-share-pill {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    background: #ffffff;
    padding: 0.5rem 0.75rem;
    border-radius: var(--harq-radius-full);
    border: 1px solid var(--harq-border);
    box-shadow: var(--harq-shadow-sm);
}

.share-btn {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ffffff;
    text-decoration: none;
    transition: var(--harq-transition);
    border: none;
    cursor: pointer;
}

.share-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    color: #ffffff;
}

.share-facebook { background-color: #1877f2; }
.share-twitter { background-color: #000000; }
.share-whatsapp { background-color: #25d366; }
.share-telegram { background-color: #229ed9; }

.share-copy-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.9rem;
    border-radius: var(--harq-radius-full);
    background: var(--harq-primary-light);
    color: var(--harq-primary);
    border: 1px solid var(--harq-primary-border);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--harq-transition);
}

.share-copy-btn:hover {
    background: var(--harq-primary);
    color: #ffffff;
}

/* Post Navigation (Prev/Next) */
.post-navigation {
    padding: 2rem 0;
    border-top: 1px solid var(--harq-border);
    border-bottom: 1px solid var(--harq-border);
    margin: 3rem 0;
}

.post-nav-card {
    background: #ffffff;
    border: 1px solid var(--harq-border);
    border-radius: var(--harq-radius-md);
    padding: 1.25rem;
    text-decoration: none;
    display: block;
    transition: var(--harq-transition);
    height: 100%;
}

.post-nav-card:hover {
    border-color: var(--harq-primary);
    transform: translateY(-2px);
    box-shadow: var(--harq-shadow-md);
}

.post-nav-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--harq-primary);
    font-weight: 700;
    margin-bottom: 0.35rem;
}

.post-nav-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--harq-text-heading);
    margin: 0;
    line-height: 1.4;
}

.post-nav-title .post-title-note,
.press-story-title .post-title-note,
.press-book-toc-title .post-title-note,
.press-book-mini-toc .post-title-note,
.timeline-title .post-title-note,
.heat-title .post-title-note,
.desk-satellite-title .post-title-note,
.dispatch-item-title .post-title-note {
    color: inherit;
    text-decoration: none;
    vertical-align: super;
    font-size: 0.65em;
    font-weight: 700;
    margin-left: 0.12em;
    line-height: 0;
}

/* Image Lightbox Modal */
.image-lightbox {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(15, 23, 42, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: auto;
    animation: fadeIn 0.3s ease;
}

.image-lightbox.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.image-lightbox-content {
    margin: auto;
    display: block;
    max-width: 90%;
    max-height: 90vh;
    object-fit: contain;
    border-radius: var(--harq-radius-lg);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    animation: zoomIn 0.3s ease;
}

.image-lightbox-close {
    position: absolute;
    top: 24px;
    right: 32px;
    color: #ffffff;
    font-size: 36px;
    font-weight: 300;
    cursor: pointer;
    z-index: 10001;
    transition: transform 0.2s ease;
    line-height: 1;
}

.image-lightbox-close:hover {
    transform: scale(1.15);
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes zoomIn {
    from { transform: scale(0.95); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

/* ==========================================================================
   Sidebar Widgets
   ========================================================================== */
.sidebar-sticky-wrapper {
    position: sticky;
    top: 90px;
}

.sidebar-widget {
    background: var(--harq-bg-card, #ffffff);
    border: 1px solid var(--harq-border);
    border-radius: var(--harq-radius-lg);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--harq-shadow-sm);
    color: var(--harq-text-body);
}

.sidebar-widget-header {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--harq-border);
    position: relative;
}

.sidebar-widget-header::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 40px;
    height: 2px;
    background: var(--harq-primary);
}

.sidebar-widget-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--harq-text-heading);
    margin: 0;
}

.sidebar-widget-icon {
    color: var(--harq-primary);
}

/* Numbered Trending Posts */
.trending-post-item {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--harq-border-subtle);
    text-decoration: none;
}

.trending-post-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.trending-number {
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--harq-primary);
    opacity: 0.45;
    line-height: 1;
    font-family: inherit;
    flex-shrink: 0;
    width: 28px;
    text-align: center;
    transition: var(--harq-transition);
}

.trending-post-item:hover .trending-number {
    opacity: 1;
    transform: scale(1.1);
}

.trending-content {
    flex: 1;
}

.trending-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--harq-text-heading);
    margin: 0 0 0.25rem 0;
    line-height: 1.4;
    transition: color 0.2s ease;
}

.trending-post-item:hover .trending-title {
    color: var(--harq-primary);
}

.trending-meta {
    font-size: 0.75rem;
    color: var(--harq-text-light);
}

/* Categories List in Sidebar */
.sidebar-category-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.6rem;
    border-radius: var(--harq-radius-sm);
    color: var(--harq-text-body);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: var(--harq-transition);
}

.sidebar-category-link:hover {
    background: var(--harq-primary-light);
    color: var(--harq-primary);
    transform: translateX(3px);
}

.sidebar-category-count {
    background: var(--harq-border);
    color: var(--harq-text-muted);
    padding: 0.15rem 0.5rem;
    border-radius: var(--harq-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
}

/* Tag Cloud in Sidebar */
.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.tag-cloud-item {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--harq-text-muted);
    background: var(--harq-bg);
    border: 1px solid var(--harq-border);
    padding: 0.35rem 0.7rem;
    border-radius: var(--harq-radius-full);
    text-decoration: none;
    transition: var(--harq-transition);
}

.tag-cloud-item:hover {
    background: var(--harq-primary);
    color: #ffffff;
    border-color: var(--harq-primary);
    transform: translateY(-1px);
}

/* ==========================================================================
   Books Page 3D Card System
   ========================================================================== */
.book-card-3d {
    background: #ffffff;
    border-radius: var(--harq-radius-lg);
    border: 1px solid var(--harq-border);
    overflow: hidden;
    box-shadow: var(--harq-shadow-sm);
    transition: var(--harq-transition);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.book-card-3d:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 32px -4px rgba(15, 23, 42, 0.12), 0 8px 16px -4px rgba(107, 128, 155, 0.1);
    border-color: rgba(107, 128, 155, 0.4);
}

.book-cover-3d-wrapper {
    position: relative;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
    box-shadow: inset 4px 0 8px rgba(0, 0, 0, 0.15);
}

.book-cover-3d-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.book-card-3d:hover .book-cover-3d-image {
    transform: scale(1.04);
}

.book-spine-effect {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 16px;
    background: linear-gradient(90deg, rgba(0,0,0,0.25) 0%, rgba(255,255,255,0.2) 50%, rgba(0,0,0,0.15) 100%);
    z-index: 2;
    pointer-events: none;
}

/* ==========================================================================
   Pagination System
   ========================================================================== */
.pagination-wrapper {
    margin: 3rem 0 2rem;
}

.pagination-custom {
    display: flex;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: center;
}

.pagination-custom .page-item {
    margin: 0;
}

.pagination-custom .page-link {
    min-width: 40px;
    height: 40px;
    padding: 0.5rem 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--harq-border);
    border-radius: 0;
    color: var(--harq-text-body);
    background-color: #ffffff;
    font-weight: 500;
    transition: var(--harq-transition);
    text-decoration: none;
    box-shadow: none;
}

.pagination-custom .page-link:hover:not(.disabled) {
    color: var(--harq-primary);
    background-color: transparent;
    border-color: var(--harq-primary);
    transform: none;
    box-shadow: none;
}

.pagination-custom .page-item.active .page-link {
    color: #ffffff;
    background-color: var(--harq-primary);
    border-color: var(--harq-primary);
    box-shadow: none;
}

.pagination-custom .page-item.disabled .page-link {
    color: var(--harq-text-light);
    background-color: var(--harq-bg);
    border-color: var(--harq-border);
    cursor: not-allowed;
    opacity: 0.6;
    box-shadow: none;
}

/* ==========================================================================
   Back to Top Button
   ========================================================================== */
.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 42px;
    height: 42px;
    background: var(--harq-primary);
    color: #ffffff;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    transition: var(--harq-transition);
    z-index: 1000;
    border: none;
    cursor: pointer;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
}

.back-to-top:hover {
    background: var(--harq-primary-hover);
    transform: none;
    color: #ffffff;
}

/* Keep clear of the article reader dock */
body:has(.article-floating-dock) .back-to-top {
    bottom: 88px;
    right: 28px;
}

/* Site-wide theme cycle control */
.harq-theme-cycle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.5rem;
    padding: 0 0.35rem;
    border: 1px solid var(--harq-border);
    background: #fff;
    color: var(--harq-text-heading);
    font-size: 0.85rem;
    line-height: 1;
    cursor: pointer;
    transition: var(--harq-transition);
}

.harq-theme-cycle-btn:hover,
.harq-theme-cycle-btn:focus-visible {
    border-color: var(--harq-primary);
    color: var(--harq-primary-dark);
    outline: none;
}

.harq-theme-fab {
    position: fixed;
    bottom: 30px;
    right: 82px;
    width: 42px;
    height: 42px;
    display: none;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--harq-border);
    background: #fff;
    color: var(--harq-text-heading);
    box-shadow: none;
    z-index: 1000;
    cursor: pointer;
    font-size: 1.05rem;
    line-height: 1;
    transition: var(--harq-transition);
}

.harq-theme-fab:hover,
.harq-theme-fab:focus-visible {
    border-color: var(--harq-primary);
    color: var(--harq-primary-dark);
    outline: none;
}

@media (max-width: 767.98px) {
    .harq-theme-fab {
        display: inline-flex;
    }
}

/* On article pages the floating dock already has theme control */
body:has(.article-floating-dock) .harq-theme-fab {
    display: none;
}

body.reader-theme-dark .harq-theme-cycle-btn,
body.reader-theme-dark .harq-theme-fab {
    background: #161b22;
    border-color: rgba(255, 255, 255, 0.14);
    color: #e6edf3;
}

body.reader-theme-sepia .harq-theme-cycle-btn,
body.reader-theme-sepia .harq-theme-fab {
    background: #ebe3d2;
    border-color: #d6cbb4;
    color: #2c2518;
}

/* ==========================================================================
   Modern Editorial Footer
   ========================================================================== */
.main-footer {
    background-color: #ffffff;
    color: var(--harq-text-body);
    border-top: 1px solid var(--harq-rule);
    margin-top: 4rem;
}

.footer-content {
    padding: 3.5rem 0 2.5rem;
}

.footer-logo-img {
    filter: none;
    height: 44px;
    width: auto;
    transition: var(--harq-transition);
}

.footer-logo a:hover .footer-logo-img {
    opacity: 0.75;
}

.footer-description {
    color: var(--harq-text-muted);
    font-size: 0.875rem;
    line-height: 1.65;
    margin-top: 1rem;
    max-width: 28rem;
}

.footer-heading {
    color: var(--harq-text-heading);
    font-family: var(--harq-font);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1.15rem;
    position: relative;
    padding-bottom: 0.5rem;
}

.footer-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 24px;
    height: 1px;
    background: var(--harq-primary);
}

.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu li {
    margin-bottom: 0.55rem;
}

.footer-menu a {
    color: var(--harq-text-muted);
    text-decoration: none;
    font-size: 0.875rem;
    transition: var(--harq-transition);
    display: inline-flex;
    align-items: center;
}

.footer-menu a:hover {
    color: var(--harq-primary);
    transform: none;
    text-decoration: underline;
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 0;
    background: transparent;
    color: var(--harq-text-muted);
    border: 1px solid var(--harq-border);
    text-decoration: none;
    transition: var(--harq-transition);
}

.footer-social-link:hover {
    background: var(--harq-primary);
    color: #ffffff;
    border-color: var(--harq-primary);
    transform: none;
    box-shadow: none;
}

.footer-newsletter-input-group {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    background: transparent;
    border: none;
    border-radius: 0;
    overflow: visible;
    padding: 0;
}

.footer-newsletter-input-group:focus-within {
    border-color: transparent;
    box-shadow: none;
    background: transparent;
}

.footer-newsletter-input {
    width: 100%;
    background: var(--harq-bg-card, #fff);
    border: 1px solid var(--harq-border);
    outline: none;
    color: var(--harq-text-heading);
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
    line-height: 1.4;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.footer-newsletter-input:focus {
    border-color: var(--harq-primary);
}

.footer-newsletter-input::placeholder {
    color: var(--harq-text-light);
}

.footer-newsletter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: transparent;
    color: var(--harq-text-heading);
    border: 1px solid var(--harq-text-heading);
    border-radius: 0;
    padding: 0.75rem 1.25rem;
    font-weight: 700;
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: var(--harq-transition);
    white-space: nowrap;
}

.footer-newsletter-btn:disabled {
    opacity: 0.7;
    cursor: wait;
}

.footer-newsletter-alert {
    font-size: 0.8125rem;
    line-height: 1.4;
    padding: 0.55rem 0.75rem;
    margin-bottom: 0.75rem;
    border: 1px solid var(--harq-border);
}

.footer-newsletter-alert.is-success {
    background: #edf7f0;
    border-color: #b7dfc3;
    color: #1f5b34;
}

.footer-newsletter-alert.is-error {
    background: #fdf2f2;
    border-color: #f0c2c2;
    color: #8a1f1f;
}

.footer-newsletter-btn:hover,
.footer-newsletter-btn:focus-visible {
    background: var(--harq-text-heading);
    border-color: var(--harq-text-heading);
    color: #ffffff;
    transform: none;
}

.footer-bottom {
    background: #ffffff;
    padding: 1.15rem 0;
    border-top: 1px solid var(--harq-border);
    font-size: 0.8125rem;
    color: var(--harq-text-muted);
}

/* ==========================================================================
   NEXT-GEN UI/UX INNOVATIONS: Bento Canvas, Quick Drawer, View Switcher & Dock
   ========================================================================== */

/* 1. Bento Canvas Grid ("Ապագայի Բեմ") */
.bento-canvas-section {
    padding: 1.25rem 0 2rem 0;
}

.bento-canvas-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 1.25rem;
    grid-auto-rows: minmax(180px, auto);
}

.bento-tile {
    position: relative;
    border-radius: var(--harq-radius-xl);
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--harq-border);
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.35s ease;
    display: flex;
    flex-direction: column;
}

.bento-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
    border-color: rgba(107, 128, 155, 0.35);
}

/* Bento Hero Lead Tile (Spans 8 cols, 2 rows) */
.bento-tile-hero {
    grid-column: span 8;
    grid-row: span 2;
    background: #0f172a;
    min-height: 480px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
}

.bento-tile-hero:hover {
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.3), 0 0 25px rgba(107, 128, 155, 0.25);
    border-color: rgba(107, 128, 155, 0.5);
}

.bento-tile-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.bento-tile-hero:hover .bento-tile-hero-img {
    transform: scale(1.05);
}

.bento-tile-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(15, 23, 42, 0.15) 0%,
        rgba(15, 23, 42, 0.55) 45%,
        rgba(15, 23, 42, 0.98) 100%
    );
    z-index: 1;
}

.bento-tile-hero-body {
    position: relative;
    z-index: 2;
    margin-top: auto;
    padding: 2.5rem;
    color: #ffffff;
}

.bento-pill-indicator {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.85rem;
    background: rgba(107, 128, 155, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--harq-radius-full);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

.bento-audio-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.75rem;
    background: rgba(15, 23, 42, 0.65);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--harq-radius-full);
    color: #94a3b8;
    font-size: 0.72rem;
    font-weight: 600;
    margin-left: 0.5rem;
    margin-bottom: 1rem;
}

.soundwave-bars {
    display: inline-flex;
    align-items: flex-end;
    gap: 2px;
    height: 12px;
}

.soundwave-bars span {
    width: 2px;
    background: var(--harq-primary);
    border-radius: 1px;
    animation: soundwave 1.2s ease-in-out infinite alternate;
}

.soundwave-bars span:nth-child(2) { animation-delay: 0.2s; height: 10px; }
.soundwave-bars span:nth-child(3) { animation-delay: 0.4s; height: 14px; }
.soundwave-bars span:nth-child(4) { animation-delay: 0.1s; height: 7px; }

@keyframes soundwave {
    0% { height: 3px; }
    100% { height: 12px; }
}

.bento-hero-title {
    font-size: 2.15rem;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 0.85rem;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
}

.bento-hero-title a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.bento-hero-title a:hover {
    color: #93c5fd;
}

.bento-hero-excerpt {
    font-size: 0.98rem;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
    margin-bottom: 1.25rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bento-hero-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.7);
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding-top: 1rem;
}

/* Bento Tile Pulse / Hot Topics (Spans 4 cols, 1 row) */
.bento-tile-pulse {
    grid-column: span 4;
    grid-row: span 1;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    color: #ffffff;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.bento-pulse-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.bento-pulse-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--harq-accent-red);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pulse-beacon {
    width: 8px;
    height: 8px;
    background: var(--harq-accent-red);
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(225, 29, 72, 0.7);
    animation: beacon 1.8s infinite;
}

@keyframes beacon {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(225, 29, 72, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 8px rgba(225, 29, 72, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(225, 29, 72, 0); }
}

.bento-pulse-title {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.35;
    color: #ffffff;
    margin-bottom: 0.6rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bento-pulse-title a {
    color: #ffffff;
    text-decoration: none;
}

.bento-pulse-title a:hover {
    color: #93c5fd;
}

.bento-pulse-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.75rem;
    color: #94a3b8;
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Bento Tile Quote / Օրվա Միտքը (Spans 4 cols, 1 row) */
.bento-tile-quote {
    grid-column: span 4;
    grid-row: span 1;
    background: #ffffff;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-left: 4px solid var(--harq-primary);
}

.bento-quote-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--harq-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.6rem;
}

.bento-quote-text {
    font-size: 0.95rem;
    font-style: italic;
    line-height: 1.55;
    color: var(--harq-text-heading);
    margin-bottom: 0.75rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bento-quote-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.75rem;
    color: var(--harq-text-light);
    margin-top: auto;
}

.bento-copy-quote-btn {
    background: transparent;
    border: none;
    color: var(--harq-primary);
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.5rem;
    border-radius: var(--harq-radius-full);
    transition: var(--harq-transition);
}

.bento-copy-quote-btn:hover {
    background: var(--harq-primary-light);
    color: var(--harq-primary-hover);
}

/* Quick View Action Trigger Pill */
.quick-view-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.35rem 0.85rem;
    border-radius: var(--harq-radius-full);
    background: rgba(255, 255, 255, 0.92);
    color: var(--harq-dark);
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.quick-view-btn:hover {
    background: var(--harq-primary);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(107, 128, 155, 0.3);
}

/* 2. Instant Quick View Slide-Over Drawer */
.quick-drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 1060;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.quick-drawer-backdrop.open {
    opacity: 1;
    visibility: visible;
}

.quick-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 480px;
    max-width: 92vw;
    background: var(--harq-bg-card);
    color: var(--harq-text-body);
    z-index: 1070;
    box-shadow: -12px 0 40px rgba(15, 23, 42, 0.25);
    transform: translateX(100%);
    transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
}

.quick-drawer.open {
    transform: translateX(0);
}

.quick-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--harq-border);
    background: var(--harq-bg-card);
    position: sticky;
    top: 0;
    z-index: 5;
}

.quick-drawer-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--harq-primary);
    background: var(--harq-primary-light);
    padding: 0.25rem 0.65rem;
    border-radius: var(--harq-radius-full);
}

.quick-drawer-close {
    background: #f1f5f9;
    border: none;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--harq-text-body);
    cursor: pointer;
    transition: all 0.2s ease;
}

.quick-drawer-close:hover {
    background: #e2e8f0;
    color: var(--harq-dark);
}

.quick-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 1.75rem 1.5rem;
}

.quick-drawer-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: var(--harq-radius-lg);
    margin-bottom: 1.25rem;
    background: #f1f5f9;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.quick-drawer-title {
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
    color: var(--harq-text-heading);
    margin-bottom: 0.85rem;
}

.quick-drawer-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.8rem;
    color: var(--harq-text-light);
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--harq-border);
}

.quick-drawer-excerpt {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--harq-text-body);
    margin-bottom: 1.75rem;
}

.quick-drawer-actions {
    display: flex;
    gap: 0.75rem;
    margin-top: 1rem;
}

.quick-drawer-footer {
    padding: 1.25rem 1.5rem;
    border-top: 1px solid var(--harq-border);
    background: #f8fafc;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* 3. Dual View Mode Switcher (Magazine vs. Compact Wire) */
.view-mode-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--harq-border-subtle);
}

.view-mode-pill-group {
    background: #e2e8f0;
    padding: 3px;
    border-radius: 30px;
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.view-mode-btn {
    border: none;
    background: transparent;
    padding: 0.35rem 0.85rem;
    border-radius: 25px;
    font-size: 0.78rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: all 0.2s ease;
}

.view-mode-btn:hover {
    color: var(--harq-dark);
}

.view-mode-btn.active {
    background: #ffffff;
    color: var(--harq-dark);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Compact Wire / Ledger Mode Transformation */
.stream-ledger-mode .timeline-stream-wrap {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.stream-ledger-mode .timeline-stream-wrap::before {
    display: none;
}

.stream-ledger-mode .timeline-card {
    display: grid;
    grid-template-columns: 2.75rem 3.25rem minmax(0, 1fr) auto;
    gap: 0.85rem 1rem;
    align-items: center;
    padding: 0.7rem 0.35rem 0.7rem 0;
    margin-bottom: 0;
    border: none;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    transition: background 0.15s ease;
}

.stream-ledger-mode .timeline-card::before {
    display: none;
}

.stream-ledger-mode .timeline-card:hover {
    transform: none;
    box-shadow: none;
    border-color: rgba(15, 23, 42, 0.08);
    background: rgba(107, 128, 155, 0.04);
}

.stream-ledger-mode .timeline-ledger-num {
    display: block;
    font-family: var(--harq-font-display, Georgia, "Times New Roman", serif);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: rgba(15, 23, 42, 0.38);
    text-align: right;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.stream-ledger-mode .timeline-ledger-num::before {
    counter-increment: harq-ledger;
    content: counter(harq-ledger, decimal-leading-zero);
}

.stream-ledger-mode .timeline-thumb-wrap {
    display: block;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 4px;
    flex-shrink: 0;
}

.stream-ledger-mode .timeline-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    object-position: center top;
}

.stream-ledger-mode .timeline-card:hover .timeline-thumb {
    transform: none;
}

.stream-ledger-mode .timeline-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.15rem;
    width: 100%;
    min-width: 0;
}

.stream-ledger-mode .timeline-badge {
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.stream-ledger-mode .timeline-badge .small,
.stream-ledger-mode .timeline-badge .harq-latest-sep {
    display: none;
}

.stream-ledger-mode .timeline-title {
    font-size: 0.98rem;
    font-weight: 650;
    line-height: 1.35;
    margin-bottom: 0;
    width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.stream-ledger-mode .timeline-title a {
    color: inherit;
    text-decoration: none;
}

.stream-ledger-mode .timeline-title a:hover {
    color: var(--harq-primary);
}

.stream-ledger-mode .timeline-excerpt {
    display: none;
}

.stream-ledger-mode .timeline-ledger-meta {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(15, 23, 42, 0.4);
    white-space: nowrap;
    padding-right: 0.25rem;
}

.stream-ledger-mode .timeline-footer {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

.chronicle-ajax-root.is-loading {
    opacity: 0.55;
    pointer-events: none;
    transition: opacity 0.15s ease;
}

.timeline-ledger-num,
.timeline-ledger-meta {
    display: none;
}

.stream-ledger-mode .timeline-ledger-num,
.stream-ledger-mode .timeline-ledger-meta {
    display: block;
}

/* 4. Ambient Floating Smart Dock (bottom-right settings → expands toolbar) */
.smart-dock-shell {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1040;
    display: flex;
    align-items: center;
    /* Shell stays trigger-sized so the closed panel cannot steal hover */
    width: 48px;
    height: 48px;
}

.smart-dock-trigger {
    position: relative;
    z-index: 2;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(15, 23, 42, 0.92);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.35);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: transform 0.25s ease, background 0.2s ease, color 0.2s ease;
    flex-shrink: 0;
}

.smart-dock-trigger-icon {
    display: block;
    flex-shrink: 0;
}

.smart-dock-trigger:hover,
.smart-dock-trigger:focus-visible,
.smart-dock-shell.is-open .smart-dock-trigger,
.smart-dock-shell.is-hover .smart-dock-trigger {
    background: #3f5168;
    color: #fff;
    outline: none;
    transform: rotate(45deg);
}

.floating-smart-dock {
    position: absolute;
    right: calc(100% + 0.55rem);
    top: 50%;
    left: auto;
    bottom: auto;
    z-index: 1;
    background: rgba(15, 23, 42, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 40px;
    padding: 4px 8px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.35);
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.2rem;
    width: max-content;
    max-width: none;
    height: 40px;
    overflow: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(12px, -50%) scale(0.96);
    transform-origin: right center;
    transition: opacity 0.22s ease, transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.22s ease;
}

.floating-smart-dock::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

/* Bridge lives on the shell so it does not inflate dock scroll metrics */
.smart-dock-shell::before {
    content: "";
    position: absolute;
    right: 48px;
    top: 50%;
    transform: translateY(-50%);
    width: 0.75rem;
    height: 56px;
    pointer-events: none;
}

.smart-dock-shell.is-open::before,
.smart-dock-shell.is-hover::before,
.smart-dock-shell:has(.smart-dock-trigger:hover)::before,
.smart-dock-shell:has(.smart-dock-trigger:focus-visible)::before,
.smart-dock-shell:has(.floating-smart-dock:hover)::before {
    pointer-events: auto;
}

.smart-dock-shell.is-open .floating-smart-dock,
.smart-dock-shell.is-hover .floating-smart-dock,
.smart-dock-shell:has(.smart-dock-trigger:hover) .floating-smart-dock,
.smart-dock-shell:has(.smart-dock-trigger:focus-visible) .floating-smart-dock,
.smart-dock-shell:has(.floating-smart-dock:hover) .floating-smart-dock {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(0, -50%) scale(1);
}

.dock-btn {
    background: transparent;
    border: none;
    color: #cbd5e1;
    padding: 4px 10px;
    border-radius: 25px;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
    height: 32px;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.dock-btn:hover,
.dock-btn.active {
    color: #ffffff;
    background: rgba(107, 128, 155, 0.35);
}

.dock-btn-theme {
    min-width: 2rem;
    padding-inline: 8px;
    justify-content: center;
    font-size: 0.95rem;
    line-height: 1;
}

.dock-badge {
    background: var(--harq-accent-red);
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 1px 6px;
    border-radius: 10px;
}

.dock-divider {
    width: 1px;
    height: 18px;
    background: rgba(255, 255, 255, 0.2);
    margin: 0 2px;
    flex-shrink: 0;
}

body:has(#smartDockShell) .back-to-top {
    right: 24px;
    bottom: 86px;
}

body:has(#smartDockShell) .harq-theme-fab {
    display: none !important;
}

/* Keep smart dock above the article reader dock */
body:has(.article-floating-dock) .smart-dock-shell {
    bottom: 88px;
}

body:has(.article-floating-dock):has(#smartDockShell) .back-to-top {
    bottom: 150px;
}

/* When tools dock is open, tuck the reader dock so they don't fight */
body:has(#smartDockShell.is-open) .article-floating-dock,
body:has(#smartDockShell.is-hover) .article-floating-dock {
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
}

@media (max-width: 575.98px) {
    body:has(.article-floating-dock) .smart-dock-shell {
        bottom: 78px;
        right: 12px;
    }

    body:has(.article-floating-dock):has(#smartDockShell) .back-to-top {
        bottom: 132px;
        right: 12px;
    }

    .article-floating-dock {
        right: 12px;
        bottom: 12px;
        padding: 4px 8px;
        max-width: calc(100vw - 5.5rem);
    }

    .article-dock-pct {
        min-width: 36px;
        font-size: 0.7rem;
        padding: 0 4px;
    }
}

body.reader-theme-dark .smart-dock-trigger,
body.reader-theme-dark .floating-smart-dock {
    background: rgba(22, 27, 34, 0.96);
    border-color: rgba(255, 255, 255, 0.14);
}

body.reader-theme-sepia .smart-dock-trigger,
body.reader-theme-sepia .floating-smart-dock {
    background: rgba(44, 37, 24, 0.92);
    border-color: rgba(255, 255, 255, 0.12);
}

/* 5. Saved Reading List — right slide-over drawer */
.saved-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    z-index: 1060;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.28s ease, visibility 0.28s ease;
}

.saved-modal-backdrop.open {
    opacity: 1;
    visibility: visible;
}

.saved-modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: min(400px, 92vw);
    max-width: 92vw;
    max-height: none;
    height: 100%;
    background: var(--harq-bg-card, #ffffff);
    color: var(--harq-text-body);
    border-radius: 0;
    border-left: 1px solid var(--harq-border, rgba(15, 23, 42, 0.1));
    box-shadow: -16px 0 48px rgba(15, 23, 42, 0.22);
    z-index: 1070;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    opacity: 1;
    visibility: visible;
    transform: translateX(105%);
    transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
}

.saved-modal.open {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    pointer-events: auto;
}

.saved-modal-header {
    padding: 1.15rem 1.35rem;
    border-bottom: 1px solid var(--harq-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-shrink: 0;
    background: var(--harq-bg-card, #ffffff);
}

.saved-modal-header .h5 {
    font-size: 1.05rem;
    letter-spacing: -0.01em;
    color: var(--harq-text-heading);
}

.saved-modal-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.saved-clear-all {
    border: none;
    background: transparent;
    color: var(--harq-text-muted);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 0.35rem 0.55rem;
    cursor: pointer;
    border-radius: var(--harq-radius-full, 999px);
    transition: color 0.15s ease, background-color 0.15s ease;
}

.saved-clear-all:hover,
.saved-clear-all:focus-visible {
    color: var(--harq-accent-red, #b91c1c);
    background: color-mix(in srgb, var(--harq-accent-red, #b91c1c) 10%, transparent);
    outline: none;
}

.saved-modal-body {
    padding: 0.35rem 0 1.25rem;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

.saved-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 16rem;
    padding: 2.5rem 1.5rem;
}

.saved-empty-icon {
    font-size: 2rem;
    line-height: 1;
    margin-bottom: 0.95rem;
    opacity: 0.8;
}

.saved-empty-title {
    margin: 0 0 0.4rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--harq-text-heading);
}

.saved-empty-text {
    margin: 0 0 1.15rem;
    max-width: 16rem;
    font-size: 0.82rem;
    line-height: 1.5;
    color: var(--harq-text-muted);
}

.saved-empty-cta {
    display: inline-flex;
    align-items: center;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--harq-primary);
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 0.1rem;
}

.saved-empty-cta:hover {
    color: var(--harq-primary-dark, var(--harq-primary));
}

.saved-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.saved-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1rem 1.35rem;
    border-bottom: 1px solid var(--harq-border-subtle);
    transition: background-color 0.18s ease;
}

.saved-item.has-thumb {
    flex-direction: row;
    align-items: flex-start;
    gap: 0.85rem;
}

.saved-item-thumb {
    flex-shrink: 0;
    width: 64px;
    height: 48px;
    overflow: hidden;
    background: var(--harq-border-subtle);
    border: 1px solid var(--harq-border);
}

.saved-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.saved-item-body {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.saved-item:last-child {
    border-bottom: none;
}

.saved-item:hover {
    background: color-mix(in srgb, var(--harq-primary-light, #eef2f7) 70%, transparent);
}

.saved-item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 1.4rem;
}

.saved-item-cat {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--harq-primary);
    line-height: 1.2;
}

.saved-item-title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
    padding-right: 0.25rem;
    font-family: var(--harq-font-heading, Georgia, serif);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.35;
    color: var(--harq-text-heading);
    text-decoration: none;
}

.saved-item-title:hover,
.saved-item-title:focus-visible {
    color: var(--harq-primary-dark, var(--harq-primary));
    outline: none;
}

.saved-item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    line-height: 1.3;
    color: var(--harq-text-light);
}

.saved-item-sep {
    opacity: 0.55;
}

.saved-item-remove {
    flex-shrink: 0;
    width: 1.65rem;
    height: 1.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: -0.2rem -0.35rem -0.2rem 0;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--harq-text-light);
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
    transition: color 0.18s ease, background-color 0.18s ease;
}

.saved-item-remove:hover,
.saved-item-remove:focus-visible {
    color: var(--harq-accent-red, #b91c1c);
    background: color-mix(in srgb, var(--harq-accent-red, #b91c1c) 10%, transparent);
    outline: none;
}

@media (max-width: 575.98px) {
    .saved-modal {
        width: 100%;
        max-width: 100vw;
        border-left: none;
    }

    .saved-item {
        padding: 1rem 1.15rem;
    }
}

/* ==========================================================================
   Responsive Adaptations
   ========================================================================== */
@media (max-width: 1199.98px) {
    .bento-tile-hero {
        grid-column: span 12;
        grid-row: span 1;
        min-height: 420px;
    }
    .bento-tile-pulse {
        grid-column: span 6;
    }
    .bento-tile-quote {
        grid-column: span 6;
    }
    .briefing-items-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .broadsheet-col {
        border-right: none;
        border-bottom: 1px solid var(--harq-border);
    }
    .broadsheet-col:last-child {
        border-bottom: none;
    }
}

@media (max-width: 991.98px) {
    .bento-tile-hero {
        min-height: 380px;
    }
    .bento-tile-hero-body {
        padding: 1.75rem;
    }
    .bento-hero-title {
        font-size: 1.65rem;
    }
    .bento-tile-pulse,
    .bento-tile-quote {
        grid-column: span 12;
    }
    .timeline-thumb-wrap {
        width: 180px;
        height: 125px;
    }
    .pedestal-cover {
        width: 105px;
        height: 155px;
    }
}

@media (max-width: 767.98px) {
    .bento-tile-hero {
        min-height: 320px;
    }
    .bento-tile-hero-body {
        padding: 1.25rem;
    }
    .bento-hero-title {
        font-size: 1.35rem;
    }
    .briefing-strip {
        flex-direction: column;
        align-items: flex-start;
        padding: 1rem;
    }
    .briefing-items-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    .briefing-item {
        border-right: none;
        border-bottom: 1px solid var(--harq-border-subtle);
        padding-bottom: 0.5rem;
    }
    .briefing-item:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }
    .broadsheet-col {
        padding: 1.5rem 1rem;
    }
    .timeline-card {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
        padding: 1.25rem;
    }
    .timeline-thumb-wrap {
        width: 100%;
        height: 200px;
    }
    .stream-ledger-mode .timeline-card {
        grid-template-columns: 2.1rem 2.75rem minmax(0, 1fr);
        gap: 0.55rem 0.7rem;
        padding: 0.65rem 0;
    }
    .stream-ledger-mode .timeline-thumb-wrap {
        width: 2.75rem;
        height: 2.75rem;
    }
    .stream-ledger-mode .timeline-ledger-meta {
        display: none;
    }
    .stream-ledger-mode .timeline-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.15rem;
    }
    .stream-ledger-mode .timeline-badge .small,
    .stream-ledger-mode .timeline-badge .harq-latest-sep {
        display: inline;
    }
    .library-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
    .floating-smart-dock {
        padding: 4px 8px;
        max-width: none;
    }
    .smart-dock-shell {
        right: 14px;
        bottom: 14px;
        width: 44px;
        height: 44px;
    }
    .smart-dock-trigger {
        width: 44px;
        height: 44px;
    }
    .dock-btn {
        padding: 4px 8px;
        font-size: 0.72rem;
    }
    .article-title {
        font-size: 1.65rem;
    }
    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
}

/* ==========================================================================
   ADVANCED READING EXPERIENCE: Audio Player, Theme Modes & Reader Toolbar
   ========================================================================== */

/* Reading Preferences Toolbar */
.reading-preferences-toolbar {
    background: #ffffff;
    border: 1px solid var(--harq-border);
    border-radius: var(--harq-radius-xl);
    padding: 0.85rem 1.25rem;
    margin: 1.5rem 0 2rem 0;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    transition: var(--harq-transition);
}

/* Audio Player in Article */
.article-audio-player {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.audio-play-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--harq-primary);
    color: #ffffff;
    border: none;
    border-radius: var(--harq-radius-full);
    padding: 0.45rem 1.15rem;
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--harq-transition);
}

.audio-play-btn:hover {
    background: var(--harq-primary-hover);
    transform: translateY(-1px);
}

.audio-play-btn.playing {
    background: var(--harq-accent-red);
}

.audio-speed-btn {
    background: var(--harq-bg);
    border: 1px solid var(--harq-border);
    border-radius: var(--harq-radius-full);
    padding: 0.35rem 0.65rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--harq-text-body);
    cursor: pointer;
    transition: var(--harq-transition);
}

.audio-speed-btn:hover {
    background: var(--harq-primary-light);
    color: var(--harq-primary);
}

.audio-wave-wrap {
    display: none;
    align-items: center;
    gap: 3px;
    height: 14px;
}

.audio-wave-wrap.active {
    display: flex;
}

.audio-wave-bar {
    width: 3px;
    background: var(--harq-primary);
    border-radius: 2px;
    animation: audioWave 1s ease-in-out infinite alternate;
}

.audio-wave-bar:nth-child(2) { animation-delay: 0.2s; height: 14px; }
.audio-wave-bar:nth-child(3) { animation-delay: 0.4s; height: 18px; }
.audio-wave-bar:nth-child(4) { animation-delay: 0.15s; height: 10px; }

@keyframes audioWave {
    0% { height: 4px; }
    100% { height: 16px; }
}

/* Reader Font & Theme Controls */
.reader-controls-group {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    flex: 1 1 auto;
}

.theme-mode-switcher {
    margin-left: auto;
}

.font-size-switcher,
.theme-mode-switcher {
    display: inline-flex;
    align-items: center;
    background: var(--harq-bg);
    border: 1px solid var(--harq-border);
    border-radius: var(--harq-radius-full);
    padding: 2px;
}

.font-btn,
.theme-btn {
    background: transparent;
    border: none;
    padding: 0.3rem 0.65rem;
    border-radius: var(--harq-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--harq-text-muted);
    cursor: pointer;
    transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
    position: relative;
}

.font-btn:hover,
.theme-btn:hover {
    color: var(--harq-text-heading);
}

.font-btn:active:not(:disabled),
.theme-btn:active {
    transform: scale(0.92);
}

.font-btn:disabled,
.font-btn[aria-disabled="true"] {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}

.font-btn.active,
.theme-btn.active {
    background: #ffffff;
    color: var(--harq-primary);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

/* Brief flash when A+ / A- actually changes size */
.font-btn.is-pressed {
    animation: harqFontBtnPress 0.28s ease;
}

@keyframes harqFontBtnPress {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(var(--harq-primary-rgb), 0.35);
    }
    40% {
        transform: scale(0.9);
        background: var(--harq-primary);
        color: #fff;
        box-shadow: 0 0 0 6px rgba(var(--harq-primary-rgb), 0);
    }
    100% {
        transform: scale(1);
    }
}

/* Step dots under Ա+ while enlarged (1–3) */
.font-btn[data-font-step="increase"][data-steps="1"]::after,
.font-btn[data-font-step="increase"][data-steps="2"]::after,
.font-btn[data-font-step="increase"][data-steps="3"]::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 2px;
    transform: translateX(-50%);
    height: 3px;
    border-radius: 2px;
    background: var(--harq-primary);
}

.font-btn[data-font-step="increase"][data-steps="1"]::after { width: 4px; }
.font-btn[data-font-step="increase"][data-steps="2"]::after { width: 8px; }
.font-btn[data-font-step="increase"][data-steps="3"]::after { width: 12px; }

/* Typography sizing is driven by --reader-fs on .article-reader-container */

/* Reading Theme: Sepia (Warm Paper / Book) */
.reader-theme-sepia {
    background-color: #f4efe4 !important;
    color: #2c2518 !important;
}

.reader-theme-sepia .article-reader-card {
    background-color: transparent !important;
    border-color: transparent !important;
    color: #2c2518 !important;
}

.reader-theme-sepia .reading-preferences-toolbar,
.reader-theme-sepia .bg-white,
.reader-theme-sepia .press-article-share,
.reader-theme-sepia .social-share-pill {
    background-color: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
    color: #2c2518 !important;
}

.reader-theme-sepia .press-article-share-label {
    color: #2c2518 !important;
}

.reader-theme-sepia .post-nav-card,
.reader-theme-sepia .press-article-share {
    background-color: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
    color: #2c2518 !important;
}

.reader-theme-sepia .post-nav-card:hover {
    border-color: #8a7355 !important;
    background-color: #e4dcc8 !important;
}

.reader-theme-sepia .post-nav-label {
    color: #8a7355 !important;
}

.reader-theme-sepia .post-nav-title {
    color: #2c2518 !important;
}

.reader-theme-sepia .post-nav-title .post-title-note {
    color: #8a7355 !important;
}

.reader-theme-sepia .breadcrumb-item a,
.reader-theme-sepia .press-article-meta,
.reader-theme-sepia .press-article-meta a,
.reader-theme-sepia .press-article-submeta,
.reader-theme-sepia .press-article-meta-sep {
    color: #7a6b52 !important;
}

.reader-theme-sepia .breadcrumb-item.active,
.reader-theme-sepia .breadcrumb-item + .breadcrumb-item::before {
    color: #3d3426 !important;
}

.reader-theme-sepia .post-content,
.reader-theme-sepia .post-content :where(p, span, li, strong, em, b, i, u, small, td, th, div, font, label) {
    color: #2a2218 !important;
}

.reader-theme-sepia .article-title,
.reader-theme-sepia .article-title a,
.reader-theme-sepia .post-content :where(h1, h2, h3, h4, h5, h6),
.reader-theme-sepia :where(h1, h2, h3, h4, h5, h6) {
    color: #1f1912 !important;
}

.reader-theme-sepia .post-content blockquote {
    background: rgba(107, 128, 155, 0.1) !important;
    border-left-color: #8a7355 !important;
    color: #2a2218 !important;
}

.reader-theme-sepia .post-content hr {
    border-color: #d6cbb4 !important;
    opacity: 1;
}

.reader-theme-sepia .post-content img {
    border-color: #d6cbb4;
    background: #faf6ee;
}

.reader-theme-sepia .post-content .post-figure {
    border-color: #d6cbb4;
    background: #faf6ee;
}

.reader-theme-sepia .post-content .post-figure-caption {
    color: #6b5d48;
}

.reader-theme-sepia .press-article-tags {
    border-top-color: #2a2218 !important;
    background: transparent !important;
}

.reader-theme-sepia .press-article-tags-label {
    color: #7a6b52 !important;
    background: transparent !important;
    border: none !important;
}

.reader-theme-sepia .press-article-tag {
    border-color: #d6cbb4 !important;
    color: #3d3426 !important;
    background: transparent !important;
}

.reader-theme-sepia .press-article-tag-hash {
    color: #8a7355 !important;
}

.reader-theme-sepia .press-article-tag:hover,
.reader-theme-sepia .press-article-tag:focus-visible {
    border-color: #8a7355 !important;
    background: rgba(138, 115, 85, 0.12) !important;
    color: #2a2218 !important;
}

.reader-theme-sepia .press-article-sidebar {
    border-left-color: #d6cbb4 !important;
}

.reader-theme-sepia .press-sidebar-heading,
.reader-theme-sepia .press-sidebar-links a,
.reader-theme-sepia .press-sidebar-book {
    color: #2c2518 !important;
    border-color: #d6cbb4 !important;
}

.reader-theme-sepia .press-sidebar-book span,
.reader-theme-sepia .press-sidebar-links li {
    color: #7a6b52 !important;
    border-color: #e0d6c2 !important;
}

.reader-theme-sepia .press-sidebar-tag {
    background: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
    color: #3d3426 !important;
}

.reader-theme-sepia .font-btn,
.reader-theme-sepia .theme-btn {
    color: #3d3426;
    border-color: #d6cbb4;
}

.reader-theme-sepia .font-btn.active,
.reader-theme-sepia .theme-btn.active {
    background: #fff8ec;
    color: #2c2518;
    box-shadow: 0 1px 3px rgba(60, 40, 10, 0.08);
}

/* Reading Theme: Dark (Night) */
.reader-theme-dark {
    background-color: #0d1117 !important;
    color: #c9d1d9 !important;
}

.reader-theme-dark .article-reader-card {
    background-color: transparent !important;
    border-color: transparent !important;
    color: #c9d1d9 !important;
}

.reader-theme-dark .reading-preferences-toolbar,
.reader-theme-dark .bg-white,
.reader-theme-dark .press-article-share,
.reader-theme-dark .social-share-pill {
    background-color: #161b22 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #c9d1d9 !important;
}

.reader-theme-dark .press-article-share-label {
    color: #e6edf3 !important;
}

.reader-theme-dark .breadcrumb-item a,
.reader-theme-dark .press-article-meta,
.reader-theme-dark .press-article-meta a,
.reader-theme-dark .press-article-submeta,
.reader-theme-dark .press-article-meta-sep {
    color: #8b949e !important;
}

.reader-theme-dark .breadcrumb-item a:hover,
.reader-theme-dark .press-article-meta a:hover {
    color: #e6edf3 !important;
}

.reader-theme-dark .breadcrumb-item.active,
.reader-theme-dark .breadcrumb-item + .breadcrumb-item::before {
    color: #e6edf3 !important;
}

.reader-theme-dark .post-content,
.reader-theme-dark .post-content :where(p, span, li, strong, em, b, i, u, small, td, th, div, font, label) {
    color: #c9d1d9 !important;
}

.reader-theme-dark .article-title,
.reader-theme-dark .article-title a,
.reader-theme-dark .post-content :where(h1, h2, h3, h4, h5, h6),
.reader-theme-dark :where(h1, h2, h3, h4, h5, h6) {
    color: #f0f3f6 !important;
}

.reader-theme-dark .post-content a {
    color: #7aa2d4 !important;
}

.reader-theme-dark .article-title a:hover,
.reader-theme-dark .post-content a:hover {
    color: #9ec1e8 !important;
}

.reader-theme-dark .post-content blockquote {
    background: rgba(255, 255, 255, 0.04) !important;
    border-left-color: #6b809b !important;
    color: #e6edf3 !important;
}

.reader-theme-dark .post-content hr {
    border-color: rgba(255, 255, 255, 0.16) !important;
    opacity: 1;
}

.reader-theme-dark .post-content img {
    border-color: rgba(255, 255, 255, 0.18);
    background: #161b22;
}

.reader-theme-dark .post-content .post-figure {
    border-color: rgba(255, 255, 255, 0.18);
    background: #161b22;
}

.reader-theme-dark .post-content .post-figure-caption {
    color: #9aa4b0;
}

.reader-theme-dark .press-article-tags {
    border-top-color: rgba(255, 255, 255, 0.18) !important;
}

.reader-theme-dark .press-article-tags-label {
    color: #8b949e !important;
}

.reader-theme-dark .press-article-tag {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    color: #c9d1d9 !important;
}

.reader-theme-dark .press-article-tag-hash {
    color: #8fa3b8 !important;
}

.reader-theme-dark .press-article-tag:hover,
.reader-theme-dark .press-article-tag:focus-visible {
    border-color: #6b809b !important;
    background: rgba(107, 128, 155, 0.18) !important;
    color: #e6edf3 !important;
}

.reader-theme-dark .press-article-page,
.reader-theme-dark .press-article-main,
.reader-theme-dark .press-article-sidebar,
.reader-theme-dark .container {
    color: #c9d1d9;
}

.reader-theme-dark .breadcrumb,
.reader-theme-dark .breadcrumbs {
    color: #8b949e;
}

.reader-theme-dark .press-article-sidebar {
    border-left-color: rgba(255, 255, 255, 0.12) !important;
}

.reader-theme-dark .press-sidebar-heading,
.reader-theme-dark .press-sidebar-links a,
.reader-theme-dark .press-sidebar-book {
    color: #e6edf3 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.reader-theme-dark .press-sidebar-book span,
.reader-theme-dark .press-sidebar-links li {
    color: #8b949e !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.reader-theme-dark .press-sidebar-tag {
    background: #161b22 !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #c9d1d9 !important;
}

.reader-theme-dark .font-btn,
.reader-theme-dark .theme-btn {
    color: #c9d1d9;
    border-color: rgba(255, 255, 255, 0.14);
    background: transparent;
}

.reader-theme-dark .font-btn:hover,
.reader-theme-dark .theme-btn:hover {
    background: rgba(255, 255, 255, 0.06);
}

.reader-theme-dark .font-btn.active,
.reader-theme-dark .theme-btn.active {
    background: #21262d;
    color: #ffffff;
    box-shadow: none;
}

/* Beat inline colors from imported WordPress/Summernote markup */
.reader-theme-sepia .post-content [style*="color"],
.reader-theme-dark .post-content [style*="color"] {
    color: inherit !important;
}

/* Full-page shell when reading themes are active (class also on html/body) */
html.reader-theme-dark,
body.reader-theme-dark {
    --harq-bg: #0d1117;
    --harq-bg-card: #161b22;
    --harq-border: rgba(255, 255, 255, 0.12);
    --harq-border-subtle: rgba(255, 255, 255, 0.08);
    --harq-rule: #e6edf3;
    --harq-text-heading: #e6edf3;
    --harq-text-body: #c9d1d9;
    --harq-text-muted: #8b949e;
    --harq-text-light: #8b949e;
    --harq-primary-dark: #9eb0c5;
    --harq-primary-subtle: rgba(107, 128, 155, 0.16);
    --harq-primary-border: rgba(107, 128, 155, 0.4);
    --harq-support-bg: #6b809b;
    --harq-support-fg: #ffffff;
    --harq-support-bg-hover: #8fa3b8;
    background-color: #0d1117 !important;
    color: #c9d1d9 !important;
}

html.reader-theme-sepia,
body.reader-theme-sepia {
    --harq-bg: #f4efe4;
    --harq-bg-card: #ebe3d2;
    --harq-border: #d6cbb4;
    --harq-border-subtle: #e0d4be;
    --harq-rule: #2c2518;
    --harq-text-heading: #2c2518;
    --harq-text-body: #3d3426;
    --harq-text-muted: #7a6b52;
    --harq-text-light: #8a7355;
    --harq-primary-dark: #6b5740;
    --harq-primary-subtle: rgba(138, 115, 85, 0.12);
    --harq-primary-border: rgba(138, 115, 85, 0.35);
    --harq-support-bg: #5c4a32;
    --harq-support-fg: #f4efe4;
    --harq-support-bg-hover: #2c2518;
    background-color: #f4efe4 !important;
    color: #2c2518 !important;
}

body.reader-theme-dark #mainContent,
body.reader-theme-dark .article-reader-container {
    background-color: #0d1117 !important;
}

body.reader-theme-sepia #mainContent,
body.reader-theme-sepia .article-reader-container {
    background-color: #f4efe4 !important;
}

body.reader-theme-dark .secondary-header {
    background-color: #161b22 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #8b949e !important;
}

body.reader-theme-dark .secondary-header a:not(.harq-support-link),
body.reader-theme-dark .secondary-header-date,
body.reader-theme-dark .secondary-header-badge,
body.reader-theme-dark .secondary-header .text-muted {
    color: #8b949e !important;
}

body.reader-theme-dark .secondary-header a:not(.harq-support-link):hover {
    color: #e6edf3 !important;
}

body.reader-theme-dark .main-navbar {
    background-color: #0d1117 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow: none !important;
}

body.reader-theme-dark .navbar-search-btn,
body.reader-theme-dark .navbar-toggler {
    color: #c9d1d9 !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
}

body.reader-theme-dark .site-footer,
body.reader-theme-dark footer,
body.reader-theme-dark .footer,
body.reader-theme-dark .main-footer {
    background-color: #010409 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #8b949e !important;
}

body.reader-theme-dark .site-footer a,
body.reader-theme-dark footer a,
body.reader-theme-dark .footer a,
body.reader-theme-dark .main-footer a,
body.reader-theme-dark .footer-heading,
body.reader-theme-dark .footer-description,
body.reader-theme-dark .main-footer .text-muted,
body.reader-theme-dark .main-footer .small,
body.reader-theme-dark #footer-newsletter p {
    color: #c9d1d9 !important;
}

body.reader-theme-dark .site-footer a:hover,
body.reader-theme-dark footer a:hover,
body.reader-theme-dark .footer a:hover,
body.reader-theme-dark .main-footer a:hover {
    color: #ffffff !important;
}

body.reader-theme-dark .footer-newsletter-input,
body.reader-theme-dark .footer-bottom {
    background-color: #0d1117 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #c9d1d9 !important;
}

body.reader-theme-dark .post-nav-card,
body.reader-theme-dark .press-article-share {
    background-color: #161b22 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #c9d1d9 !important;
}

body.reader-theme-dark .post-nav-card:hover {
    border-color: #6b809b !important;
    background-color: #1c2128 !important;
}

body.reader-theme-dark .post-nav-label,
body.reader-theme-dark .post-nav-title {
    color: #e6edf3 !important;
}

body.reader-theme-dark .post-nav-title .post-title-note {
    color: #8fa3b8 !important;
}

body.reader-theme-sepia .post-nav-card,
body.reader-theme-sepia .press-article-share {
    background-color: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
    color: #2c2518 !important;
}

body.reader-theme-sepia .post-nav-card:hover {
    border-color: #8a7355 !important;
    background-color: #e4dcc8 !important;
}

body.reader-theme-sepia .post-nav-label {
    color: #8a7355 !important;
}

body.reader-theme-sepia .post-nav-title,
body.reader-theme-sepia .post-nav-title .post-title-note {
    color: #2c2518 !important;
}

body.reader-theme-sepia .secondary-header {
    background-color: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
    color: #7a6b52 !important;
}

body.reader-theme-sepia .secondary-header a:not(.harq-support-link),
body.reader-theme-sepia .secondary-header-date,
body.reader-theme-sepia .secondary-header-badge {
    color: #7a6b52 !important;
}

body.reader-theme-sepia .main-navbar {
    background-color: #f4efe4 !important;
    border-color: #d6cbb4 !important;
    box-shadow: none !important;
}

body.reader-theme-sepia .site-footer,
body.reader-theme-sepia footer,
body.reader-theme-sepia .footer,
body.reader-theme-sepia .main-footer {
    background-color: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
    color: #7a6b52 !important;
}

body.reader-theme-sepia .main-footer .text-muted,
body.reader-theme-sepia .main-footer .small,
body.reader-theme-sepia #footer-newsletter p {
    color: #7a6b52 !important;
}

/* —— Site-wide atmosphere (beyond article reader) —— */
body.reader-theme-dark .navbar-nav .nav-link,
body.reader-theme-dark .navbar-brand {
    color: #e6edf3 !important;
}

body.reader-theme-dark .navbar-nav .dropdown-menu {
    background: #161b22 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

body.reader-theme-dark .navbar-nav .dropdown-item {
    color: #c9d1d9 !important;
}

body.reader-theme-dark .navbar-nav .dropdown-item:hover,
body.reader-theme-dark .navbar-nav .dropdown-item:focus {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #fff !important;
}

body.reader-theme-dark .harq-nav-dropdown-toggle {
    color: #8b949e !important;
}

body.reader-theme-dark .press-page,
body.reader-theme-dark .press-masthead,
body.reader-theme-dark .press-support-card,
body.reader-theme-dark .press-books-empty,
body.reader-theme-dark .harq-home-section,
body.reader-theme-dark .harq-latest,
body.reader-theme-dark .desk-switchboard-section.harq-home-section,
body.reader-theme-dark .codex-vault-section.harq-home-section,
body.reader-theme-dark .chronicle-matrix-section.harq-home-section {
    background-color: #0d1117 !important;
    color: #c9d1d9 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

body.reader-theme-dark .press-masthead h1,
body.reader-theme-dark .press-story-card-title a,
body.reader-theme-dark .press-section-label,
body.reader-theme-dark .harq-section-head h2,
body.reader-theme-dark .harq-section-heading,
body.reader-theme-dark .harq-latest-heading,
body.reader-theme-dark .timeline-title a,
body.reader-theme-dark .harq-latest-card a {
    color: #e6edf3 !important;
}

body.reader-theme-dark .press-masthead .lede,
body.reader-theme-dark .press-story-card-dek,
body.reader-theme-dark .harq-latest-kicker,
body.reader-theme-dark .harq-section-kicker,
body.reader-theme-dark .text-muted {
    color: #8b949e !important;
}

body.reader-theme-dark .press-support-card,
body.reader-theme-dark .press-names-chip,
body.reader-theme-dark .press-tags-chip,
body.reader-theme-dark .codex-vault-section .codex-vault-box {
    background: #161b22 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

body.reader-theme-dark .press-story-card,
body.reader-theme-dark .harq-latest-card {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

body.reader-theme-dark .footer-newsletter-input-group {
    background: transparent !important;
    border-color: transparent !important;
}

body.reader-theme-dark .footer-newsletter-input {
    background-color: #0d1117 !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    color: #e6edf3 !important;
}

body.reader-theme-dark .footer-newsletter-btn {
    background: transparent !important;
    border-color: rgba(230, 237, 243, 0.55) !important;
    color: #e6edf3 !important;
}

body.reader-theme-dark .footer-newsletter-btn:hover,
body.reader-theme-dark .footer-newsletter-btn:focus-visible {
    background: #e6edf3 !important;
    border-color: #e6edf3 !important;
    color: #0d1117 !important;
}

body.reader-theme-sepia .footer-newsletter-input {
    background-color: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
    color: #2c2518 !important;
}

body.reader-theme-sepia .footer-newsletter-btn {
    background: transparent !important;
    border-color: #2c2518 !important;
    color: #2c2518 !important;
}

body.reader-theme-sepia .footer-newsletter-btn:hover,
body.reader-theme-sepia .footer-newsletter-btn:focus-visible {
    background: #2c2518 !important;
    border-color: #2c2518 !important;
    color: #f4efe4 !important;
}

body.reader-theme-dark .back-to-top {
    background: #3f5168 !important;
}

body.reader-theme-sepia .navbar-nav .nav-link {
    color: #2c2518 !important;
}

body.reader-theme-sepia .navbar-nav .dropdown-menu {
    background: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
}

body.reader-theme-sepia .press-page,
body.reader-theme-sepia .harq-home-section,
body.reader-theme-sepia .harq-latest,
body.reader-theme-sepia .desk-switchboard-section.harq-home-section,
body.reader-theme-sepia .codex-vault-section.harq-home-section,
body.reader-theme-sepia .chronicle-matrix-section.harq-home-section {
    background-color: #f4efe4 !important;
    color: #2c2518 !important;
}

body.reader-theme-sepia .press-support-card,
body.reader-theme-sepia .press-names-chip,
body.reader-theme-sepia .press-tags-chip,
body.reader-theme-sepia .codex-vault-section .codex-vault-box {
    background: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
}

body.reader-theme-sepia .press-story-card,
body.reader-theme-sepia .harq-latest-card {
    background: transparent !important;
    border-color: #d6cbb4 !important;
}

/* Floating Article Reading Dock */
.article-floating-dock {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 1040;
    background: rgba(15, 23, 42, 0.9);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 40px;
    padding: 6px 12px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.35);
    display: flex;
    align-items: center;
    gap: 0.35rem;
    overflow: hidden;
    transition: transform 0.28s ease, opacity 0.28s ease;
}

.article-dock-pct {
    font-size: 0.75rem;
    font-weight: 800;
    color: #93c5fd;
    padding: 0 6px;
    min-width: 42px;
    text-align: center;
}

/* ==========================================================================
   TOP HOMEPAGE EYE-CATCHING INNOVATIONS: Cultural Masthead & Kinetic Reel
   ========================================================================== */

/* 1. Serene Cultural Masthead */
.harq-cultural-masthead {
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
    position: relative;
    padding: 0.85rem 0;
    color: #1e293b;
}

.masthead-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.masthead-brand-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #475569;
}

.masthead-brand-dot {
    width: 6px;
    height: 6px;
    background: var(--harq-primary);
    border-radius: 50%;
}

.masthead-chronometer {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: var(--harq-radius-full);
    padding: 0.35rem 1rem;
    font-size: 0.78rem;
    color: #64748b;
}

.chronometer-traditional {
    color: var(--harq-primary);
    font-weight: 700;
    letter-spacing: 0.02em;
}

.chronometer-divider {
    color: #cbd5e1;
}

.chronometer-gregorian {
    color: #64748b;
}

.live-clock-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #059669;
    font-weight: 700;
    font-family: monospace;
    font-size: 0.78rem;
    background: #ffffff;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    border: 1px solid #e2e8f0;
}

.live-clock-beacon {
    width: 6px;
    height: 6px;
    background: #10b981;
    border-radius: 50%;
}

.masthead-compass-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.75rem;
    color: #475569;
    text-decoration: none;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 0.35rem 0.85rem;
    border-radius: var(--harq-radius-full);
    transition: var(--harq-transition);
}

.masthead-compass-tag:hover {
    background: #f1f5f9;
    color: var(--harq-primary);
    border-color: var(--harq-primary);
}

/* 2. Cinematic Kinetic Reel in Bento Hero */
.bento-tile-hero {
    position: relative;
    overflow: hidden;
}

/* Physical Cursor Spotlight */
.bento-tile-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(550px circle at var(--spotlight-x, 50%) var(--spotlight-y, 50%), rgba(107, 128, 155, 0.26), transparent 75%);
    pointer-events: none;
    z-index: 3;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.bento-tile-hero:hover::after {
    opacity: 1;
}

.kinetic-progress-indicators {
    position: absolute;
    top: 1.5rem;
    left: 2rem;
    right: 2rem;
    z-index: 10;
    display: flex;
    gap: 0.75rem;
}

.kinetic-tab-btn {
    flex: 1;
    height: 30px;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.72rem;
    font-weight: 700;
    position: relative;
    overflow: hidden;
    transition: all 0.25s ease;
}

.kinetic-tab-btn:hover {
    border-color: rgba(255, 255, 255, 0.4);
    color: #ffffff;
}

.kinetic-tab-btn.active {
    border-color: var(--harq-primary);
    color: #ffffff;
    box-shadow: 0 0 15px rgba(107, 128, 155, 0.4);
}

.kinetic-tab-fill {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0%;
    background: linear-gradient(90deg, var(--harq-primary), #93c5fd);
    opacity: 0.55;
    z-index: 0;
    transition: width 0.1s linear;
}

.kinetic-tab-content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.kinetic-slides-container {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.kinetic-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    transform: scale(1.02);
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.kinetic-slide.active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 2;
}

@media (max-width: 767.98px) {
    .masthead-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.6rem;
    }
    .masthead-chronometer {
        width: 100%;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .kinetic-progress-indicators {
        top: 1rem;
        left: 1rem;
        right: 1rem;
        gap: 0.4rem;
    }
    .kinetic-tab-btn {
        height: 26px;
        padding: 0 8px;
        font-size: 0.68rem;
    }
}

/* ==========================================================================
/* ==========================================================================
   MINIMALIST EDITORIAL ARCHITECTURE: READING-FRIENDLY & AIRY (5 LAYERS)
   ========================================================================== */

/* LAYER 1: ASYMMETRIC BROADSIDE COMMAND DECK */
.broadside-deck-section {
    padding: 2.25rem 0 3.25rem;
    background: #ffffff;
}

.broadside-deck-grid {
    display: grid;
    grid-template-columns: 1.45fr 1fr;
    gap: 2rem;
    align-items: start;
}

.broadside-wing-main {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.monumental-folio {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
    display: flex;
    flex-direction: column;
    transition: all 0.25s ease;
}

.monumental-folio:hover {
    border-color: var(--harq-primary);
    box-shadow: 0 10px 28px -8px rgba(107, 128, 155, 0.16);
}

.monumental-img-box {
    width: 100%;
    height: 310px;
    overflow: hidden;
    background: #f8fafc;
    position: relative;
}

.monumental-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.monumental-folio:hover .monumental-img {
    transform: scale(1.02);
}

.monumental-body {
    padding: 1.75rem 2rem 1.5rem;
    color: #0f172a;
}

.monumental-pills-row {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
    margin-bottom: 0.6rem;
}

.monumental-cat-badge {
    color: var(--harq-primary);
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
}

.monumental-cat-badge:hover {
    color: #475569;
}

.monumental-audio-badge {
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.monumental-title {
    font-size: clamp(1.6rem, 2.6vw, 2.25rem);
    font-weight: 800;
    line-height: 1.35;
    margin: 0 0 0.85rem;
    color: #0f172a;
}

.monumental-title a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.2s ease;
}

.monumental-title a:hover {
    color: var(--harq-primary);
}

.monumental-excerpt {
    font-size: 1.02rem;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 1.35rem;
    font-weight: 400;
}

.monumental-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #f1f5f9;
    font-size: 0.82rem;
    color: #64748b;
}

.sublead-duet {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.sublead-card {
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.02);
}

.sublead-card:hover {
    border-color: var(--harq-primary);
    box-shadow: 0 8px 20px -6px rgba(107, 128, 155, 0.16);
}

.sublead-thumb-wrap {
    height: 145px;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 0.85rem;
    background: #f8fafc;
}

.sublead-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.sublead-card:hover .sublead-thumb {
    transform: scale(1.03);
}

.sublead-category {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--harq-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.35rem;
    display: block;
}

.sublead-title {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 0.5rem;
    color: #0f172a;
}

.sublead-title a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.2s;
}

.sublead-title a:hover {
    color: var(--harq-primary);
}

.sublead-excerpt {
    font-size: 0.88rem;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 0.75rem;
}

.sublead-meta {
    font-size: 0.76rem;
    color: #94a3b8;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #f8fafc;
    padding-top: 0.65rem;
}

/* Wing Right: Dispatch Wire & Epigram */
.broadside-wing-dispatch {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.dispatch-wire-card {
    background: #ffffff;
    color: #0f172a;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    padding: 1.4rem 1.5rem;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.02);
}

.dispatch-wire-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #f1f5f9;
    margin-bottom: 0.85rem;
}

.archival-register-tag,
.dispatch-live-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: #0f172a;
}

.dispatch-live-beacon {
    width: 6px;
    height: 6px;
    background: var(--harq-primary);
    border-radius: 50%;
}

.dispatch-wire-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.dispatch-wire-item {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    text-decoration: none;
    padding: 0.65rem 0.5rem;
    border-bottom: 1px solid #f8fafc;
    border-radius: 8px;
    transition: background 0.15s ease;
}

.dispatch-wire-item:hover {
    background: #f8fafc;
}

.dispatch-time {
    font-family: inherit;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--harq-primary);
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 0.12rem 0.45rem;
    border-radius: 4px;
    white-space: nowrap;
    margin-top: 2px;
}

.dispatch-item-title {
    font-size: 0.88rem;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.epigram-card {
    background: #f8fafc;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.epigram-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
    font-size: 0.74rem;
    font-weight: 800;
    color: var(--harq-primary);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.epigram-quote {
    font-size: 0.94rem;
    font-style: italic;
    line-height: 1.6;
    color: #334155;
    margin-bottom: 1rem;
    font-family: Georgia, serif;
}

.epigram-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.76rem;
    color: #64748b;
}

.epigram-copy-btn {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: var(--harq-dark);
    padding: 0.25rem 0.65rem;
    border-radius: 6px;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: all 0.2s ease;
}

.epigram-copy-btn:hover {
    background: var(--harq-primary);
    color: #ffffff;
    border-color: var(--harq-primary);
}


/* LAYER 2: HORIZON SCROLLER (CURATORS' REEL) */
.curator-reel-section {
    padding: 3rem 0;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

.curator-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 1.75rem;
}

.curator-nav-arrows {
    display: flex;
    gap: 0.5rem;
}

.curator-arrow-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: var(--harq-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.curator-arrow-btn:hover {
    background: var(--harq-primary);
    color: #ffffff;
    border-color: var(--harq-primary);
}

.curator-reel-track {
    display: flex;
    gap: 1.5rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 0.85rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.curator-reel-track::-webkit-scrollbar {
    display: none;
}

.curator-card {
    flex: 0 0 340px;
    scroll-snap-align: start;
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.02);
}

.curator-card:hover {
    border-color: var(--harq-primary);
    transform: translateY(-3px);
    box-shadow: 0 10px 24px -6px rgba(107, 128, 155, 0.16);
}

.curator-card-thumb {
    height: 185px;
    position: relative;
    overflow: hidden;
    background: #f8fafc;
}

.curator-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.curator-card:hover .curator-card-img {
    transform: scale(1.03);
}

.curator-num-tag {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(6px);
    color: var(--harq-primary);
    font-family: serif;
    font-size: 0.82rem;
    font-weight: 800;
    padding: 0.15rem 0.55rem;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

.curator-card-body {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.curator-card-cat {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--harq-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.35rem;
}

.curator-card-title {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 0.5rem;
    color: #0f172a;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.curator-card-title a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.2s;
}

.curator-card-title a:hover {
    color: var(--harq-primary);
}

.curator-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 0.85rem;
    border-top: 1px solid #f8fafc;
    font-size: 0.75rem;
    color: #94a3b8;
}


/* LAYER 3: MULTI-DESK THEMATIC SWITCHBOARD */
.desk-switchboard-section {
    padding: 3.25rem 0;
    background: transparent;
}

.desk-tab-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0 0 1.85rem;
    padding: 0;
    border: none;
    border-bottom: 1px solid var(--harq-border, #e2e8f0);
    background: transparent;
}

.desk-tab-btn {
    appearance: none;
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--harq-text-muted, #64748b);
    padding: 0.7rem 1rem 0.75rem;
    margin: 0 0 -1px;
    font-weight: 600;
    font-size: 0.8125rem;
    letter-spacing: 0.02em;
    cursor: pointer;
    white-space: nowrap;
    display: inline-flex;
    align-items: baseline;
    gap: 0.4rem;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.desk-tab-btn:hover {
    color: var(--harq-text-heading, #0f172a);
}

.desk-tab-btn.active {
    color: var(--harq-text-heading, #0f172a);
    border-bottom-color: var(--harq-primary);
    background: transparent;
    box-shadow: none;
}

.desk-tab-btn:focus-visible {
    outline: 2px solid var(--harq-primary);
    outline-offset: 2px;
}

.desk-tab-count {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--harq-text-light, #94a3b8);
    font-variant-numeric: tabular-nums;
}

.desk-tab-btn.active .desk-tab-count {
    color: var(--harq-primary);
}

.desk-pane {
    display: none;
}

.desk-pane.active {
    display: block;
    animation: fadeInDesk 0.28s ease forwards;
}

@keyframes fadeInDesk {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

.desk-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.95fr);
    grid-template-areas:
        "anchor side"
        "foot foot";
    column-gap: 2.5rem;
    row-gap: 0;
    align-items: start;
}

.desk-grid.is-solo {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "anchor"
        "foot";
}

.desk-anchor {
    grid-area: anchor;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.desk-anchor-media {
    display: block;
    overflow: hidden;
    background: var(--harq-border-subtle, #f1f5f9);
    aspect-ratio: 16 / 10;
    text-decoration: none;
}

.desk-anchor-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.45s ease;
}

.desk-anchor:hover .desk-anchor-img,
.desk-anchor-media:hover .desk-anchor-img {
    transform: scale(1.03);
}

.desk-anchor-body {
    padding: 1.2rem 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.55rem;
    flex: 1;
}

.desk-anchor-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--harq-text-light, #94a3b8);
}

.desk-anchor-meta time {
    font-variant-numeric: tabular-nums;
}

.desk-anchor-kicker {
    color: var(--harq-primary-dark, var(--harq-primary));
}

.desk-anchor-sep {
    opacity: 0.55;
}

.desk-anchor-title {
    font-family: var(--harq-font-heading);
    font-size: clamp(1.4rem, 2.3vw, 1.85rem);
    font-weight: 600;
    line-height: 1.22;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--harq-text-heading, #0f172a);
    max-width: 28ch;
}

.desk-anchor-title a {
    color: inherit;
    text-decoration: none;
}

.desk-anchor-title a:hover {
    color: var(--harq-primary);
}

.desk-anchor-excerpt {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.62;
    color: var(--harq-text-muted, #64748b);
    max-width: 42rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.desk-anchor-cta {
    margin-top: 0.35rem;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--harq-text-heading, #0f172a);
}

.desk-anchor-cta:hover {
    color: var(--harq-primary);
}

.desk-side {
    grid-area: side;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    width: 100%;
    min-width: 0;
    padding-left: 1.75rem;
    border-left: 1px solid var(--harq-border, #e2e8f0);
}

.desk-side-label {
    margin: 0 0 0.85rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--harq-text-light, #94a3b8);
}

.desk-sat-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.desk-sat-list > li {
    border-bottom: 1px solid var(--harq-border, #e2e8f0);
}

.desk-sat-list > li:last-child {
    border-bottom: none;
}

.desk-sat-item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 0.95rem;
    align-items: start;
    padding: 0.95rem 0;
    width: 100%;
    text-decoration: none;
    color: inherit;
}

.desk-sat-list > li:first-child .desk-sat-item {
    padding-top: 0;
}

.desk-sat-list > li:last-child .desk-sat-item {
    padding-bottom: 0;
}

.desk-sat-item:hover .desk-sat-title {
    color: var(--harq-primary);
}

.desk-sat-item:focus-visible {
    outline: 2px solid var(--harq-primary);
    outline-offset: 3px;
}

.desk-sat-media {
    display: block;
    overflow: hidden;
    background: var(--harq-border-subtle, #f1f5f9);
    aspect-ratio: 4 / 3;
}

.desk-sat-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.35s ease;
}

.desk-sat-item:hover .desk-sat-thumb {
    transform: scale(1.04);
}

.desk-sat-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding-top: 0.1rem;
}

.desk-sat-title {
    font-family: var(--harq-font-heading);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.32;
    color: var(--harq-text-heading, #0f172a);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.15s ease;
}

.desk-sat-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--harq-text-light, #94a3b8);
}

.desk-sat-meta time {
    font-variant-numeric: tabular-nums;
}

.desk-grid-foot {
    grid-area: foot;
    display: flex;
    align-items: center;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--harq-border, #e2e8f0);
}

.desk-side-more {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-decoration: none;
    color: var(--harq-text-heading, #0f172a);
    max-width: 100%;
}

.desk-side-more:hover {
    color: var(--harq-primary);
}

.desk-side-more-label {
    border-bottom: 1px solid currentColor;
    padding-bottom: 0.1rem;
}

.desk-side-more-count {
    color: var(--harq-text-light, #94a3b8);
    font-variant-numeric: tabular-nums;
    font-size: 0.75rem;
}


/* LAYER 4: CODEX VAULT (ՄԱՏԵՆԱԴԱՐԱՆ) */
.codex-vault-section {
    padding: 3.5rem 0;
    background: #ffffff;
}

.codex-vault-box {
    background: #f8fafc;
    border-radius: 20px;
    padding: 2.75rem 2.5rem;
    color: #0f172a;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
}

.codex-vault-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 2rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #e2e8f0;
}

.codex-vault-pedestal {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 155px));
    gap: 1.5rem 1.25rem;
    align-items: start;
    justify-content: start;
}

.vault-book-card {
    text-decoration: none;
    color: inherit;
    width: 100%;
    max-width: 155px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.25s ease;
}

.vault-book-card:hover {
    transform: translateY(-4px);
}

.vault-cover-wrap {
    width: 100%;
    aspect-ratio: 2 / 3;
    height: auto;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 8px 18px -4px rgba(15, 23, 42, 0.14), 0 3px 6px -2px rgba(15, 23, 42, 0.06);
    border: 1px solid #e2e8f0;
    margin-bottom: 0.75rem;
    background: #e2e8f0;
}

.vault-cover-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.vault-book-title {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--harq-text-heading);
    line-height: 1.35;
    margin-bottom: 0.25rem;
    min-height: calc(1.35em * 2);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    width: 100%;
}

.vault-book-author {
    font-size: 0.74rem;
    color: var(--harq-text-muted);
    min-height: 1.2em;
    width: 100%;
}

/* LAYER 5: CHRONICLE STREAM & MATRIX RADAR */
.chronicle-matrix-section {
    padding: 3.5rem 0 5rem;
    background: var(--harq-bg);
}

.chronicle-matrix-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 2.5rem;
    align-items: start;
}

.chronicle-stream {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.chronicle-filter-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e2e8f0;
}

.chronicle-chips {
    display: flex;
    gap: 0.5rem;
}

.chronicle-chip {
    padding: 0.35rem 0.85rem;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    background: #f8fafc;
    color: #475569;
    border: 1px solid #e2e8f0;
    text-decoration: none;
    transition: all 0.2s ease;
}

.chronicle-chip.active, .chronicle-chip:hover {
    background: #0f172a;
    color: #ffffff;
    border-color: #0f172a;
}

/* Radar Sidebar */
.matrix-radar-aside {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    position: sticky;
    top: 5.5rem;
}

.radar-block {
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.radar-heading-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--harq-rule, #0f172a);
}

.radar-heading-row .radar-heading {
    margin: 0;
    padding: 0;
    border: none;
}

.radar-heading {
    font-family: var(--harq-font);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--harq-text-heading, #0f172a);
    margin: 0 0 0.85rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--harq-rule, #0f172a);
}

.radar-heading-link {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-decoration: none;
    color: var(--harq-text-muted, #64748b);
    white-space: nowrap;
}

.radar-heading-link:hover {
    color: var(--harq-primary);
}

.heat-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.heat-list > li {
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.heat-list > li:last-child {
    border-bottom: none;
}

.heat-item {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    padding: 0.7rem 0;
    text-decoration: none;
    color: inherit;
}

.heat-num {
    font-family: var(--harq-font-display, Georgia, "Times New Roman", serif);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--harq-text-light);
    line-height: 1.35;
    font-variant-numeric: tabular-nums;
    opacity: 0.7;
}

.heat-title {
    font-family: var(--harq-font-heading);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--harq-text-heading, #0f172a);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.15s ease;
}

.heat-item:hover .heat-title {
    color: var(--harq-primary);
}

.radar-tag-list {
    margin: 0;
}

.radar-tag-list .press-tags-chip {
    max-width: 100%;
}

/* Legacy aliases (keep soft fallback if old markup cached) */
.radar-card {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.radar-card-title {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--harq-text-heading);
    text-transform: uppercase;
    margin-bottom: 0.85rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--harq-rule, #0f172a);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dispatch-subscribe-card {
    background: var(--harq-bg-card);
    color: var(--harq-text-heading);
    border-radius: 0;
    border: 1px solid var(--harq-border, #e2e8f0);
    padding: 1.35rem 1.25rem;
    box-shadow: none;
}

.dispatch-subscribe-title {
    margin: 0 0 0.5rem;
    font-family: var(--harq-font-heading);
    font-size: 1rem;
    font-weight: 600;
    color: var(--harq-text-heading);
    line-height: 1.3;
}

.dispatch-subscribe-copy {
    margin: 0 0 1rem;
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--harq-text-muted);
}

/* RESPONSIVE BREAKPOINTS */
@media (max-width: 991.98px) {
    .broadside-deck-grid {
        grid-template-columns: 1fr;
    }
    .desk-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "anchor"
            "side"
            "foot";
        row-gap: 0;
        column-gap: 0;
    }
    .desk-grid.is-solo {
        grid-template-areas:
            "anchor"
            "foot";
    }
    .desk-anchor-body {
        padding-bottom: 1.25rem;
    }
    .desk-side {
        padding-left: 0;
        border-left: none;
        padding-top: 1.15rem;
        border-top: 1px solid var(--harq-border, #e2e8f0);
        align-self: auto;
    }
    .desk-side-label {
        margin-bottom: 0.65rem;
    }
    .desk-sat-list > li:last-child .desk-sat-item {
        padding-bottom: 0.85rem;
    }
    .desk-tab-bar {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .desk-tab-bar::-webkit-scrollbar {
        display: none;
    }
    .desk-grid-foot {
        margin-top: 0.35rem;
    }
    .chronicle-matrix-grid {
        grid-template-columns: 1fr;
    }
    .matrix-radar-aside {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem;
    }
    .matrix-radar-aside .dispatch-subscribe-card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .sublead-duet {
        grid-template-columns: 1fr;
    }
    .monumental-body {
        padding: 1.25rem 1rem;
    }
    .monumental-title {
        font-size: 1.35rem;
    }
    .curator-card {
        flex: 0 0 280px;
    }
    .codex-vault-box {
        padding: 1.75rem 1.25rem;
    }
    .codex-vault-pedestal {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.25rem 0.85rem;
    }
    .matrix-radar-aside {
        grid-template-columns: 1fr;
    }
    .desk-sat-item {
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 0.75rem;
        padding: 0.8rem 0;
    }
    .desk-sat-title {
        font-size: 0.95rem;
        -webkit-line-clamp: 2;
    }
    .desk-anchor-title {
        max-width: none;
    }
}

/* ==========================================================================
   PREMIUM EDITORIAL CRAFTSMANSHIP & COMPLETION
   ========================================================================== */

/* 1. Edition Crest & Volume Bar */
.edition-crest-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 1.15rem;
    margin-bottom: 2rem;
    border-bottom: 2px solid #0f172a;
    flex-wrap: wrap;
    gap: 1rem;
}

.edition-crest-left {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.edition-monogram {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1.5px solid #0f172a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: serif;
    font-weight: 800;
    font-size: 1.1rem;
    color: #0f172a;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(107, 128, 155, 0.2);
}

.edition-meta-text {
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #334155;
}

.edition-meta-separator {
    color: #cbd5e1;
    margin: 0 0.35rem;
}

.edition-curator-note {
    font-size: 0.82rem;
    color: #64748b;
    font-style: italic;
    font-family: Georgia, serif;
}

/* 2. Author Byline & Editorial Roles */
.editorial-byline {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.byline-avatar {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
}

.byline-author-name {
    font-size: 0.82rem;
    font-weight: 700;
    color: #1e293b;
}

.byline-role-badge {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--harq-primary);
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
}

/* 3. The Intellectual Charter Strip (Three Pillars) */
.intellectual-charter-section {
    padding: 3rem 0;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

.charter-card {
    display: flex;
    flex-direction: column;
    padding: 0.85rem 1.25rem;
    border-left: 2.5px solid var(--harq-primary);
    height: 100%;
}

.charter-pillar-num {
    font-family: serif;
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--harq-primary);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 0.35rem;
}

.charter-pillar-title {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 0.45rem;
}

.charter-pillar-desc {
    font-size: 0.88rem;
    line-height: 1.6;
    color: #64748b;
    margin-bottom: 0;
}

/* 4. Archival Book Badge & Polish */
.vault-book-archival {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    font-size: 0.68rem;
    font-weight: 600;
    color: #64748b;
    margin-top: 0.35rem;
    min-height: 1.2em;
    width: 100%;
}

.vault-book-tag {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 0.12rem 0.45rem;
    border-radius: 4px;
}






/* ==========================================================================
   PRESS LAYER — NYT-inspired overrides (keep last)
   ========================================================================== */

.rounded,
.rounded-1, .rounded-2, .rounded-3, .rounded-4, .rounded-5,
.rounded-pill {
    border-radius: 0 !important;
}

.shadow, .shadow-sm, .shadow-lg {
    box-shadow: none !important;
}

/* Home lead */
.monumental-title {
    font-family: var(--harq-font-heading);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--harq-text-heading);
}

.monumental-title a {
    color: var(--harq-text-heading);
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    transition: background-size 0.25s ease;
}

.monumental-title a:hover {
    color: var(--harq-text-heading);
    background-size: 100% 1px;
}

.monumental-excerpt {
    color: var(--harq-text-muted);
    font-size: 1.05rem;
    max-width: 38rem;
}

.monumental-cat-badge,
.monumental-audio-badge,
.byline-role-badge {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: var(--harq-primary) !important;
    font-size: 0.6875rem !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 0 !important;
}

.byline-avatar {
    border-radius: 0 !important;
    background: var(--harq-primary-subtle) !important;
    color: var(--harq-primary-dark) !important;
}

.quick-view-btn {
    border-radius: 0 !important;
    box-shadow: none !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.7rem !important;
}

.bento-tile,
.sublead-card,
.book-card-3d,
.vault-book-card,
.article-reader-card {
    border-radius: 0 !important;
    box-shadow: none !important;
}

.vault-cover-wrap {
    border-radius: 0 !important;
}

.vault-book-card:hover {
    transform: none !important;
}

.book-card-3d:hover,
.bento-tile:hover,
.sublead-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

.book-cover-3d-wrapper,
.book-spine-effect {
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Article body measure (shared shells; .post-content owns full prose rules) */
.article-content,
.article-body {
    max-width: var(--harq-measure);
    font-family: var(--harq-font-heading);
    font-size: 1.1875rem;
    line-height: 1.9;
    color: #2c2c2c;
}

.article-content h2,
.article-content h3,
.article-body h2,
.article-body h3 {
    font-family: var(--harq-font-heading);
    font-weight: 600;
}

.reading-preferences-toolbar,
.article-audio-player {
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 1px solid var(--harq-border);
    background: #fff;
}

.article-audio-player {
    display: none !important;
}

/* Press page shells */
.press-page {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
}

.press-kicker {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--harq-primary);
    margin: 0 0 0.65rem;
}

.press-masthead {
    border-bottom: 1px solid var(--harq-rule);
    padding-bottom: 1.5rem;
    margin-bottom: 2.5rem;
}

.press-masthead h1 {
    font-family: var(--harq-font-heading);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    margin: 0 0 0.5rem;
    letter-spacing: -0.02em;
}

.press-masthead .lede {
    font-size: 1.125rem;
    color: var(--harq-text-muted);
    max-width: 36rem;
    margin: 0;
    line-height: 1.55;
}

.press-author-hero {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 1.75rem 2rem;
    align-items: center;
    border-bottom: 1px solid var(--harq-rule);
    padding-bottom: 2rem;
    margin-bottom: 2.5rem;
}

.press-author-hero:has(.press-author-bio) {
    align-items: start;
}

@media (max-width: 575.98px) {
    .press-author-hero {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .press-author-photo {
        width: 132px;
    }
}

.press-author-photo {
    width: 160px;
    aspect-ratio: 2 / 3;
    height: auto;
    object-fit: cover;
    object-position: center center;
    display: block;
    background: var(--harq-border-subtle);
}

.press-author-hero-body h1 {
    font-family: var(--harq-font-heading);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0 0 0.85rem;
}

.press-author-bio {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--harq-text-body);
    max-width: var(--harq-measure);
}

.press-author-bio p:last-child {
    margin-bottom: 0;
}

.press-author-books-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.press-author-books-head .press-section-label {
    margin-bottom: 0;
    flex: 1;
    border-bottom: none;
    padding-bottom: 0;
}

.press-author-books-count {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--harq-text-light);
    white-space: nowrap;
}

.press-author-books {
    border-bottom: 1px solid var(--harq-rule);
    padding-bottom: 2.25rem;
}

.press-author-books .press-author-books-head {
    border-bottom: 1px solid var(--harq-rule);
    padding-bottom: 0.5rem;
}

.press-section-label {
    font-family: var(--harq-font);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--harq-text-heading);
    border-bottom: 1px solid var(--harq-rule);
    padding-bottom: 0.5rem;
    margin: 0 0 1.25rem;
}

.press-book-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 0;
    margin-bottom: 3rem;
    border-top: 1px solid var(--harq-border);
}

.press-book-item {
    display: block;
    padding: 1.15rem 1rem 1.15rem 0;
    border-bottom: 1px solid var(--harq-border);
    text-decoration: none;
    color: inherit;
}

.press-book-item:hover .press-book-name {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.press-book-name {
    font-family: var(--harq-font-heading);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--harq-text-heading);
    display: block;
}

.press-book-meta {
    font-size: 0.75rem;
    color: var(--harq-text-muted);
    margin-top: 0.35rem;
}

/* Books catalog (/books) */
.press-books-masthead .lede a {
    color: var(--harq-text-heading);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.press-books-toolbar {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
    margin: 0 0 1.75rem;
    padding: 1.15rem 0 1.35rem;
    border-top: 1px solid var(--harq-rule);
    border-bottom: 1px solid var(--harq-rule);
}

.press-books-search {
    width: 100%;
    max-width: 36rem;
}

/* Legacy search markup (authors / tags / names pages) */
.press-books-search:not(:has(.press-books-search-field)) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.press-books-search:not(:has(.press-books-search-field)) input[type="search"] {
    flex: 1 1 180px;
    min-width: 0;
    border: 1px solid var(--harq-border);
    background: var(--harq-surface, #fff);
    color: var(--harq-text-heading);
    padding: 0.55rem 0.75rem;
    font-size: 0.875rem;
}

.press-books-search:not(:has(.press-books-search-field)) button {
    border: 1px solid var(--harq-text-heading);
    background: var(--harq-text-heading);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.55rem 0.9rem;
    cursor: pointer;
}

.press-books-search:not(:has(.press-books-search-field)) .press-books-search-clear {
    width: auto;
    height: auto;
    margin: 0;
    font-size: 0.75rem;
}

.press-books-search-field {
    display: flex;
    align-items: stretch;
    width: 100%;
    border: 1px solid var(--harq-border);
    background: var(--harq-surface, #fff);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.press-books-search-field:focus-within {
    border-color: var(--harq-text-heading);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--harq-text-heading) 12%, transparent);
}

.press-books-search-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.15rem 0 0.85rem;
    color: var(--harq-text-muted);
    flex-shrink: 0;
}

.press-books-search input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--harq-text-heading);
    padding: 0.7rem 0.65rem;
    font-size: 0.9rem;
    line-height: 1.4;
    outline: none;
    box-shadow: none;
}

.press-books-search input[type="search"]::-webkit-search-decoration,
.press-books-search input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.press-books-search input[type="search"]:focus {
    outline: none;
    border-color: transparent;
}

.press-books-search button {
    border: 0;
    border-left: 1px solid var(--harq-border);
    background: var(--harq-text-heading);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0 1.05rem;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity 0.15s ease, background 0.15s ease;
}

.press-books-search button:hover {
    background: var(--harq-primary-dark, var(--harq-primary));
}

.press-books-search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 0.35rem;
    font-size: 1.1rem;
    line-height: 1;
    color: var(--harq-text-muted);
    text-decoration: none;
    flex-shrink: 0;
}

.press-books-search-clear:hover {
    color: var(--harq-text-heading);
    text-decoration: none;
}

.press-books-filters {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-width: 0;
}

.press-books-filters-label {
    margin: 0;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--harq-text-muted);
}

.press-books-filters-scroll {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
}

.press-books-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    max-width: 100%;
    padding: 0.42rem 0.75rem;
    border: 1px solid var(--harq-border);
    background: var(--harq-surface, #fff);
    color: var(--harq-text-muted);
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.press-books-filter:hover {
    color: var(--harq-text-heading);
    border-color: color-mix(in srgb, var(--harq-text-heading) 35%, var(--harq-border));
    text-decoration: none;
}

.press-books-filter.is-active {
    color: #fff;
    background: var(--harq-text-heading);
    border-color: var(--harq-text-heading);
    text-decoration: none;
}

.press-books-filter-count {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    font-size: 0.72rem;
    opacity: 0.72;
}

.press-books-filter.is-active .press-books-filter-count {
    opacity: 0.85;
}

.press-books-more {
    position: relative;
    flex: 0 0 auto;
}

.press-books-more summary {
    list-style: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.42rem 0.75rem;
    border: 1px dashed var(--harq-border);
    background: transparent;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--harq-text-muted);
    white-space: nowrap;
    user-select: none;
}

.press-books-more summary::-webkit-details-marker {
    display: none;
}

.press-books-more summary::after {
    content: "▾";
    font-size: 0.7em;
    opacity: 0.8;
}

.press-books-more[open] summary,
.press-books-more summary:hover {
    color: var(--harq-text-heading);
    border-color: color-mix(in srgb, var(--harq-text-heading) 35%, var(--harq-border));
}

.press-books-more-list {
    position: absolute;
    left: 0;
    top: calc(100% + 0.4rem);
    z-index: 20;
    min-width: 220px;
    max-width: min(320px, 80vw);
    max-height: 260px;
    overflow-y: auto;
    background: var(--harq-surface, #fff);
    border: 1px solid var(--harq-border);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.1);
    padding: 0.55rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.press-books-more-list .press-books-filter {
    width: 100%;
    justify-content: space-between;
    white-space: normal;
}

.press-books-active-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin: -0.25rem 0 1.25rem;
}

.press-books-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: 1px solid var(--harq-border);
    background: #fff;
    color: var(--harq-text-heading);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.3rem 0.55rem;
    text-decoration: none;
}

.press-books-chip a {
    color: var(--harq-text-muted);
    text-decoration: none;
    font-size: 1rem;
    line-height: 1;
}

.press-books-chip a:hover {
    color: var(--harq-text-heading);
}

.press-books-chip-clear {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--harq-primary);
    text-decoration: none;
}

.press-books-chip-clear:hover {
    text-decoration: underline;
}

.press-books-result-note {
    font-size: 0.8125rem;
    color: var(--harq-text-muted);
    margin: -0.25rem 0 1.25rem;
}

.press-books-mark {
    background: rgba(107, 128, 155, 0.18);
    color: inherit;
    padding: 0 0.1em;
}

.press-books-section {
    margin-bottom: 2.75rem;
}

.press-books-section-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem 1.25rem;
    margin-bottom: 1.25rem;
}

.press-books-section-head .press-section-label {
    margin-bottom: 0;
    flex: 1 1 auto;
}

.press-books-catalog {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 1.35rem 1rem;
}

.press-book-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    min-width: 0;
}

.press-book-card:hover .press-book-card-title {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.press-book-card-cover {
    aspect-ratio: 3 / 4;
    background: var(--harq-border-subtle, #eee);
    border: 1px solid var(--harq-border);
    overflow: hidden;
    margin-bottom: 0.75rem;
}

.press-book-card-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.25s ease;
}

.press-book-card:hover .press-book-card-cover img {
    transform: scale(1.03);
}

.press-book-card-cover.is-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(160deg, #f3f1ec 0%, #e4e0d8 100%);
    color: var(--harq-text-heading);
    font-family: var(--harq-font-heading);
    font-size: 2rem;
    font-weight: 600;
}

.press-book-card-title {
    font-family: var(--harq-font-heading);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--harq-text-heading);
    margin: 0 0 0.25rem;
}

.press-book-card-author,
.press-book-card-meta {
    font-size: 0.75rem;
    color: var(--harq-text-muted);
    margin: 0 0 0.2rem;
    line-height: 1.4;
}

.press-books-empty {
    padding: 2.5rem 0 3rem;
    color: var(--harq-text-muted);
}

.press-books-empty-title {
    font-family: var(--harq-font-heading);
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--harq-text-heading);
    margin: 0 0 0.5rem;
}

.press-books-empty-text {
    margin: 0 0 1rem;
    max-width: 36rem;
}

.press-books-empty-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    margin-bottom: 2rem;
}

.press-books-suggestions .press-section-label {
    margin-bottom: 1.15rem;
}

@media (min-width: 768px) {
    .press-books-catalog {
        grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
        gap: 1.75rem 1.35rem;
    }

    .press-books-search {
        max-width: 28rem;
    }
}

.press-story {
    border-bottom: 1px solid var(--harq-border);
    padding: 1.35rem 0;
}

.press-story:first-child {
    padding-top: 0;
}

.press-story-kicker {
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--harq-primary);
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.press-story-kicker a {
    color: inherit;
    text-decoration: none;
    margin-right: 0.75rem;
}

.press-story-kicker a:hover {
    text-decoration: underline;
}

.press-story-title {
    font-family: var(--harq-font-heading);
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.25;
    margin: 0 0 0.45rem;
}

.press-story-num {
    color: var(--harq-text-muted);
    font-weight: 600;
    margin-right: 0.35rem;
}

.press-story-title a {
    color: var(--harq-text-heading);
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    transition: background-size 0.25s ease;
}

.press-story-title a:hover {
    background-size: 100% 1px;
}

.press-story-dek {
    color: var(--harq-text-muted);
    font-size: 0.975rem;
    line-height: 1.55;
    margin: 0 0 0.5rem;
    max-width: 38rem;
}

.press-story-meta {
    font-size: 0.75rem;
    color: var(--harq-text-light);
}

.press-story-meta a {
    color: var(--harq-text-muted);
    text-decoration: none;
}

.press-story-meta a:hover {
    color: var(--harq-primary);
    text-decoration: underline;
}

/* --------------------------------------------------------------------------
   Book detail page — TOC / webbook landing
   -------------------------------------------------------------------------- */
.press-book-hero {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 2.25rem 2.75rem;
    align-items: center;
    border-bottom: 1px solid var(--harq-rule);
    padding-bottom: 2.25rem;
    margin-bottom: 2.5rem;
}

@media (max-width: 991.98px) {
    .press-book-hero {
        grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
        gap: 1.75rem 2rem;
    }
}

@media (max-width: 767.98px) {
    .press-book-hero {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        justify-items: center;
        text-align: center;
    }

    .press-book-hero-body {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .press-book-hero-lede {
        max-width: 36rem;
    }

    .press-book-hero-actions {
        justify-content: center;
    }
}

.press-book-hero-cover {
    width: 100%;
    max-width: 280px;
    aspect-ratio: 2 / 3;
    background: var(--harq-border-subtle);
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
}

.press-book-hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.press-book-hero-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.press-book-hero-body h1 {
    font-family: var(--harq-font-heading);
    font-size: clamp(1.95rem, 3.6vw, 2.9rem);
    font-weight: 600;
    margin: 0 0 0.55rem;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.press-byline {
    font-size: 0.95rem;
    color: var(--harq-text-muted);
    margin: 0 0 1rem;
}

.press-byline a {
    color: var(--harq-text-heading);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.press-book-hero-lede {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--harq-text-body);
    max-width: 38rem;
    margin: 0 0 1.35rem;
}

.press-book-hero-lede p {
    margin-bottom: 0.75rem;
}

.press-book-hero-lede p:last-child {
    margin-bottom: 0;
}

.press-book-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.15rem;
}

.press-book-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: var(--harq-text-heading);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.7rem 1.15rem;
    border: 1px solid var(--harq-text-heading);
    transition: var(--harq-transition);
}

.press-book-cta:hover {
    background: var(--harq-primary);
    border-color: var(--harq-primary);
    color: #fff !important;
}

.press-book-cta-ghost {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--harq-text-muted);
    text-decoration: none;
    border-bottom: 1px solid var(--harq-border);
    padding-bottom: 0.1rem;
}

.press-book-cta-ghost:hover {
    color: var(--harq-text-heading);
    border-bottom-color: var(--harq-text-heading);
}

/* Dark: heading token is light — invert solid CTA so it stays readable */
body.reader-theme-dark .press-book-cta,
html.reader-theme-dark .press-book-cta {
    background: #e6edf3;
    border-color: #e6edf3;
    color: #0d1117 !important;
}

body.reader-theme-dark .press-book-cta:hover,
body.reader-theme-dark .press-book-cta:focus-visible,
html.reader-theme-dark .press-book-cta:hover,
html.reader-theme-dark .press-book-cta:focus-visible {
    background: var(--harq-primary);
    border-color: var(--harq-primary);
    color: #fff !important;
}

body.reader-theme-dark .press-book-cta-ghost,
html.reader-theme-dark .press-book-cta-ghost {
    color: #8b949e;
    border-bottom-color: rgba(255, 255, 255, 0.22);
}

body.reader-theme-dark .press-book-cta-ghost:hover,
body.reader-theme-dark .press-book-cta-ghost:focus-visible,
html.reader-theme-dark .press-book-cta-ghost:hover,
html.reader-theme-dark .press-book-cta-ghost:focus-visible {
    color: #e6edf3;
    border-bottom-color: #e6edf3;
}

body.reader-theme-sepia .press-book-cta,
html.reader-theme-sepia .press-book-cta {
    background: #2c2518;
    border-color: #2c2518;
    color: #f4efe4 !important;
}

body.reader-theme-sepia .press-book-cta:hover,
body.reader-theme-sepia .press-book-cta:focus-visible,
html.reader-theme-sepia .press-book-cta:hover,
html.reader-theme-sepia .press-book-cta:focus-visible {
    background: var(--harq-primary-dark);
    border-color: var(--harq-primary-dark);
    color: #fff !important;
}

.press-book-layout {
    align-items: stretch;
}

.press-book-main {
    padding-right: 2.5rem;
}

.press-book-sidebar {
    padding-left: 2rem;
    border-left: 1px solid var(--harq-border);
    align-self: stretch;
}

.press-book-sidebar-inner {
    position: sticky;
    top: 5.5rem;
    max-height: calc(100vh - 6.5rem);
    overflow-y: auto;
    background: var(--harq-bg);
    z-index: 2;
}

@media (max-width: 991.98px) {
    .press-book-main {
        padding-right: 0;
    }

    .press-book-sidebar {
        padding-left: 0;
        border-left: none;
        border-top: 1px solid var(--harq-border);
        margin-top: 2.5rem;
        padding-top: 2rem;
    }

    .press-book-sidebar-inner {
        position: static;
        max-height: none;
        overflow: visible;
    }
}

.press-book-toc {
    list-style: none;
    margin: 0;
    padding: 0;
}

.press-book-toc-item {
    border-bottom: 1px solid var(--harq-border);
}

.press-book-toc-item:first-child {
    border-top: 1px solid var(--harq-border);
}

.press-book-toc-link {
    display: grid;
    grid-template-columns: 2.75rem 1fr;
    gap: 0.85rem 1rem;
    align-items: start;
    padding: 1.15rem 0.25rem 1.15rem 0;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.15s ease;
}

.press-book-toc-link:hover {
    background: var(--harq-primary-light);
}

.press-book-toc-link:hover .press-book-toc-title {
    color: var(--harq-primary);
}

.press-book-toc-num {
    font-family: var(--harq-font);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--harq-text-muted);
    padding-top: 0.35rem;
    text-align: right;
}

.press-book-toc-title {
    display: block;
    font-family: var(--harq-font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--harq-text-heading);
    margin-bottom: 0.35rem;
}

.press-book-toc-dek {
    display: block;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--harq-text-muted);
}

.press-book-toc-empty {
    padding: 1.5rem 0;
    color: var(--harq-text-muted);
    list-style: none;
}

.press-book-side-block {
    margin-bottom: 2rem;
}

.press-book-side-block:last-child {
    margin-bottom: 0;
}

.press-book-meta-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.press-book-meta-chip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--harq-border);
    background: var(--harq-surface, #fff);
    color: var(--harq-text-heading);
    text-decoration: none;
    font-size: 0.86rem;
    line-height: 1.3;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.press-book-meta-chip:hover,
.press-book-meta-chip:focus-visible {
    border-color: var(--harq-primary);
    color: var(--harq-primary-dark, var(--harq-primary));
    text-decoration: none;
    outline: none;
}

.press-book-meta-chip-label {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
}

.press-book-meta-chip-label i {
    font-size: 0.8rem;
    color: var(--harq-text-muted);
}

.press-book-meta-hash {
    color: var(--harq-primary);
    font-weight: 700;
}

.press-book-meta-count {
    flex-shrink: 0;
    min-width: 1.5rem;
    text-align: center;
    font-size: 0.72rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--harq-text-muted);
    letter-spacing: 0.02em;
}

body.reader-theme-dark .press-book-meta-chip,
html.reader-theme-dark .press-book-meta-chip {
    background: #161b22;
    border-color: rgba(255, 255, 255, 0.12);
    color: #e6edf3;
}

body.reader-theme-dark .press-book-meta-chip:hover,
body.reader-theme-dark .press-book-meta-chip:focus-visible,
html.reader-theme-dark .press-book-meta-chip:hover,
html.reader-theme-dark .press-book-meta-chip:focus-visible {
    border-color: #8b949e;
    color: #f0f6fc;
}

body.reader-theme-dark .press-book-meta-count,
body.reader-theme-dark .press-book-meta-chip-label i,
html.reader-theme-dark .press-book-meta-count,
html.reader-theme-dark .press-book-meta-chip-label i {
    color: #8b949e;
}

body.reader-theme-sepia .press-book-meta-chip,
html.reader-theme-sepia .press-book-meta-chip {
    background: #f4efe4;
    border-color: #d6cbb4;
    color: #2c2518;
}

body.reader-theme-sepia .press-book-meta-chip:hover,
body.reader-theme-sepia .press-book-meta-chip:focus-visible,
html.reader-theme-sepia .press-book-meta-chip:hover,
html.reader-theme-sepia .press-book-meta-chip:focus-visible {
    border-color: #8a7355;
    color: #2c2518;
}

body.reader-theme-sepia .press-book-meta-count,
body.reader-theme-sepia .press-book-meta-chip-label i,
html.reader-theme-sepia .press-book-meta-count,
html.reader-theme-sepia .press-book-meta-chip-label i {
    color: #7a6b52;
}

.press-book-related {
    list-style: none;
    margin: 0;
    padding: 0;
}

.press-book-related li {
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--harq-border-subtle);
}

.press-book-related a {
    display: block;
    color: var(--harq-text-heading);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.92rem;
    line-height: 1.35;
}

.press-book-related a:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.press-book-related span {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.75rem;
    color: var(--harq-text-muted);
    font-weight: 500;
}

.press-authors-page .press-authors-masthead .lede a {
    color: var(--harq-primary);
    text-decoration: none;
    font-weight: 600;
}

.press-authors-page .press-authors-masthead .lede a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.press-authors-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.25rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.75rem;
}

.press-authors-toolbar .press-books-search {
    flex: 1 1 280px;
    max-width: 420px;
}

.press-authors-sort {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.press-authors-directory {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid var(--harq-rule);
}

.press-author-profile {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 1.5rem 2rem;
    padding: 2rem 0;
    border-bottom: 1px solid var(--harq-border);
    align-items: start;
}

.press-author-profile-media {
    display: block;
    width: 140px;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    background: var(--harq-border-subtle);
    border: 1px solid var(--harq-border);
    text-decoration: none;
    color: inherit;
}

.press-author-profile-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    transition: transform 0.35s ease;
}

.press-author-profile:hover .press-author-profile-media img {
    transform: scale(1.04);
}

.press-author-profile-initial {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-family: var(--harq-font-heading);
    font-size: 3rem;
    font-weight: 600;
    color: var(--harq-text-heading);
    background: linear-gradient(160deg, #f4f2ed 0%, #e7e2d8 100%);
}

.press-author-profile-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.press-author-profile-top {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.press-author-profile-name {
    font-family: var(--harq-font-heading);
    font-size: clamp(1.45rem, 2.6vw, 2rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0;
}

.press-author-profile-name a {
    color: var(--harq-text-heading);
    text-decoration: none;
}

.press-author-profile-name a:hover {
    color: var(--harq-primary);
}

.press-author-profile-meta {
    margin: 0;
    font-size: 0.82rem;
    color: var(--harq-text-muted);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.45rem;
    letter-spacing: 0.01em;
}

.press-author-profile-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--harq-primary);
    text-decoration: none;
    white-space: nowrap;
    transition: var(--harq-transition);
}

.press-author-profile-cta:hover {
    color: var(--harq-primary-hover);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.press-author-profile-bio {
    margin: 0;
    max-width: 40rem;
    font-size: 0.98rem;
    line-height: 1.65;
    color: var(--harq-text-body);
}

.press-author-profile-works {
    margin-top: 0.15rem;
}

.press-author-profile-works-label {
    margin: 0 0 0.65rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--harq-text-light);
}

.press-author-cover-rail {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: stretch;
}

.press-author-cover {
    display: block;
    width: 72px;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border: 1px solid var(--harq-border);
    background: var(--harq-border-subtle);
    text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.press-author-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.press-author-cover:hover {
    border-color: var(--harq-primary);
    transform: translateY(-2px);
}

.press-author-cover-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    aspect-ratio: 3 / 4;
    border: 1px dashed var(--harq-primary-border);
    background: var(--harq-primary-light);
    color: var(--harq-primary-dark);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

.press-author-cover-more:hover {
    background: var(--harq-primary-subtle);
    color: var(--harq-primary-dark);
}

.press-author-book-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0;
    max-width: 36rem;
}

.press-author-book-list li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid var(--harq-border-subtle);
    font-size: 0.9rem;
}

.press-author-book-list li:last-child {
    border-bottom: 0;
}

.press-author-book-list a {
    color: var(--harq-text-heading);
    text-decoration: none;
    font-weight: 500;
}

.press-author-book-list a:hover {
    color: var(--harq-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.press-author-book-list span {
    flex: 0 0 auto;
    font-size: 0.75rem;
    color: var(--harq-text-muted);
}

.press-author-book-list .is-more a {
    color: var(--harq-primary);
    font-weight: 600;
}

@media (max-width: 767.98px) {
    .press-authors-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .press-authors-toolbar .press-books-search {
        max-width: none;
    }

    .press-author-profile {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 1rem 1.15rem;
        padding: 1.5rem 0;
    }

    .press-author-profile-media {
        width: 112px;
    }

    .press-author-cover,
    .press-author-cover-more {
        width: 56px;
    }
}

@media (max-width: 420px) {
    .press-author-profile {
        grid-template-columns: 1fr;
    }

    .press-author-profile-media {
        width: 112px;
    }
}

.press-author-card {
    border-bottom: 1px solid var(--harq-border);
    padding: 1.75rem 0;
    height: 100%;
}

.press-author-card h2 {
    font-family: var(--harq-font-heading);
    font-size: 1.35rem;
    font-weight: 600;
    margin: 0 0 0.4rem;
}

.press-author-card h2 a {
    color: var(--harq-text-heading);
    text-decoration: none;
}

.press-author-card h2 a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.press-author-card .meta {
    font-size: 0.75rem;
    color: var(--harq-text-muted);
    margin-bottom: 0.85rem;
}

.press-author-card ul {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
}

.press-author-card li {
    font-size: 0.875rem;
    color: var(--harq-text-muted);
    padding: 0.2rem 0;
    border-bottom: 1px solid var(--harq-border-subtle);
}

.press-author-card .press-more {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--harq-primary);
    text-decoration: none;
}

.press-author-card .press-more:hover {
    text-decoration: underline;
}

.press-byline {
    font-size: 0.875rem;
    color: var(--harq-text-muted);
    margin: 0.35rem 0 1rem;
}

.press-byline a {
    color: var(--harq-text-heading);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.press-byline a:hover {
    color: var(--harq-primary);
}

.page.pagination .page-link,
.pagination .page-link {
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Gallery */
.press-gallery-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    border-bottom: 1px solid var(--harq-rule);
    padding-bottom: 1rem;
}

.press-gallery-filter {
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--harq-text-muted);
    text-decoration: none;
}

.press-gallery-filter:hover,
.press-gallery-filter.is-active {
    color: var(--harq-text-heading);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.press-gallery-count {
    font-weight: 400;
    color: var(--harq-text-muted);
    margin-left: 0.2rem;
}

.press-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.25rem 1rem;
}

.press-gallery-item {
    margin: 0;
}

.press-gallery-link {
    display: block;
    background: var(--harq-surface, #f4f4f4);
    overflow: hidden;
}

.press-gallery-link img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.press-gallery-caption {
    font-size: 0.8125rem;
    color: var(--harq-text-muted);
    margin-top: 0.5rem;
    line-height: 1.4;
}

@media (max-width: 575.98px) {
    .press-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }

    .press-gallery-link img {
        height: 140px;
    }
}

/* ==========================================================================
   Tags directory
   ========================================================================== */
.press-tags-masthead .lede {
    max-width: 36rem;
}

.press-tags-toolbar {
    margin-bottom: 1.75rem;
}

.press-tags-toolbar .press-books-search {
    max-width: 480px;
}

.press-tags-popular {
    margin-bottom: 2.5rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--harq-border);
}

.press-tags-popular .press-section-label {
    margin-bottom: 1rem;
}

.press-tags-layout {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr);
    gap: 1.5rem 2rem;
    align-items: start;
}

.press-tags-alphabet {
    position: sticky;
    top: 5.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.press-tags-alphabet-label {
    margin: 0;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--harq-text-light);
}

.press-tags-alphabet-list {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.press-tags-alphabet-list a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--harq-text-muted);
    text-decoration: none;
    border: 1px solid transparent;
    transition: var(--harq-transition);
}

.press-tags-alphabet-list a:hover,
.press-tags-alphabet-list a.is-active {
    color: var(--harq-text-heading);
    border-color: var(--harq-border);
    background: var(--harq-primary-light);
    color: var(--harq-primary-dark);
}

.press-tags-directory {
    min-width: 0;
}

.press-tags-section {
    margin-bottom: 2.25rem;
    scroll-margin-top: 5.5rem;
}

.press-tags-section:last-child {
    margin-bottom: 0;
}

.press-tags-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid var(--harq-rule);
}

.press-tags-letter {
    font-family: var(--harq-font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--harq-text-heading);
    line-height: 1;
}

.press-tags-section-meta {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--harq-text-light);
    font-variant-numeric: tabular-nums;
}

.press-tags-chip-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.press-tags-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    max-width: 100%;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--harq-border);
    background: transparent;
    color: var(--harq-text-heading);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.3;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.press-tags-chip-hash {
    color: var(--harq-primary);
    font-weight: 700;
    font-size: 0.8em;
    line-height: 1;
}

.press-tags-chip-name {
    min-width: 0;
}

.press-tags-chip-count {
    margin-left: 0.15rem;
    padding: 0.05rem 0.4rem;
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--harq-text-muted);
    background: var(--harq-border-subtle);
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

.press-tags-chip:hover,
.press-tags-chip:focus-visible {
    color: var(--harq-primary-dark);
    border-color: var(--harq-primary);
    background: var(--harq-primary-light);
    outline: none;
}

.press-tags-chip:hover .press-tags-chip-count,
.press-tags-chip:focus-visible .press-tags-chip-count {
    background: rgba(var(--harq-primary-rgb), 0.15);
    color: var(--harq-primary-dark);
}

.press-tags-chip.is-popular {
    border-color: var(--harq-primary-border);
    background: var(--harq-primary-light);
}

.press-tags-chip.is-popular .press-tags-chip-count {
    background: rgba(var(--harq-primary-rgb), 0.18);
    color: var(--harq-primary-dark);
}

@media (max-width: 767.98px) {
    .press-tags-layout {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .press-tags-alphabet {
        position: sticky;
        top: 0;
        z-index: 5;
        flex-direction: row;
        align-items: center;
        gap: 0.65rem;
        padding: 0.65rem 0;
        background: color-mix(in srgb, var(--harq-bg) 92%, transparent);
        backdrop-filter: blur(8px);
        border-bottom: 1px solid var(--harq-border);
        margin: 0 -0.25rem 0.5rem;
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }

    .press-tags-alphabet-label {
        display: none;
    }

    .press-tags-alphabet-list {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 0.25rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        width: 100%;
        padding-bottom: 0.15rem;
    }

    .press-tags-alphabet-list::-webkit-scrollbar {
        display: none;
    }

    .press-tags-alphabet-list a {
        flex: 0 0 auto;
    }

    .press-tags-toolbar .press-books-search {
        max-width: none;
    }
}

/* --------------------------------------------------------------------------
   Tag detail page
   -------------------------------------------------------------------------- */
.press-tag-page .press-tag-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem 2rem;
    align-items: end;
    border-bottom: 1px solid var(--harq-rule);
    padding-bottom: 1.5rem;
    margin-bottom: 1.75rem;
}

.press-tag-hero-main .press-kicker {
    margin-bottom: 0.55rem;
}

.press-tag-hero-main h1 {
    font-family: var(--harq-font-heading);
    font-size: clamp(2.05rem, 4.4vw, 3.15rem);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.12;
    margin: 0 0 0.65rem;
    color: var(--harq-text-heading);
}

.press-tag-hash {
    color: var(--harq-primary);
    font-weight: 500;
    margin-right: 0.06em;
    opacity: 0.85;
}

.press-tag-lede {
    margin: 0 0 1rem;
    max-width: 36rem;
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--harq-text-muted);
}

.press-tag-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1.35rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.press-tag-stats li {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--harq-text-light);
}

.press-tag-stats strong {
    font-family: var(--harq-font-heading);
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    text-transform: none;
    color: var(--harq-text-heading);
}

.press-tag-all-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--harq-text-heading);
    border-bottom: 1px solid currentColor;
    padding-bottom: 0.15rem;
    white-space: nowrap;
}

.press-tag-all-link:hover {
    color: var(--harq-primary);
}

.press-tag-stream-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 0.85rem;
}

.press-tag-stream-head .press-section-label {
    margin: 0;
}

.press-tag-result-note {
    font-size: 0.8125rem;
    color: var(--harq-text-light);
    margin: 0;
    font-variant-numeric: tabular-nums;
}

.press-tag-result-of {
    opacity: 0.7;
}

.press-tag-layout {
    align-items: stretch;
}

@media (min-width: 992px) {
    .press-tag-layout > .col-lg-8 {
        border-right: 1px solid var(--harq-border);
        padding-right: 2.5rem;
    }

    .press-tag-sidebar {
        padding-left: 2rem;
        align-self: stretch;
    }
}

.press-tag-stream {
    border-top: 1px solid var(--harq-border);
}

.press-story-card {
    border-bottom: 1px solid var(--harq-border);
    padding: 1.35rem 0;
    background: transparent;
}

.press-story-card > [itemprop="item"] {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 1.15rem 1.35rem;
    align-items: start;
}

.press-story-card.is-lead {
    padding-top: 1.55rem;
    padding-bottom: 1.75rem;
}

.press-story-card.is-lead > [itemprop="item"] {
    grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
    gap: 1.35rem 1.75rem;
}

.press-story-card.is-solo > [itemprop="item"] {
    grid-template-columns: minmax(240px, 340px) minmax(0, 1fr);
    gap: 1.5rem 2rem;
}

.press-story-card-media {
    display: block;
    overflow: hidden;
    background: var(--harq-border-subtle);
    aspect-ratio: 3 / 2;
    text-decoration: none;
}

.press-story-card.is-solo .press-story-card-media {
    aspect-ratio: 4 / 5;
    max-height: 28rem;
}

.press-story-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.45s ease;
}

.press-story-card:hover .press-story-card-media img {
    transform: scale(1.04);
}

.press-story-card-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.press-story-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.4rem;
    margin-bottom: 0.45rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--harq-text-light);
}

.press-story-card-meta time {
    font-variant-numeric: tabular-nums;
}

.press-story-card-cat {
    color: var(--harq-primary);
    text-decoration: none;
}

.press-story-card-cat:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.press-story-card-book {
    color: inherit;
    text-decoration: none;
    max-width: 14rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.press-story-card-book:hover {
    color: var(--harq-primary);
}

.press-story-card-sep {
    opacity: 0.55;
}

.press-story-card-title {
    font-family: var(--harq-font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.28;
    margin: 0 0 0.45rem;
}

.press-story-card.is-lead .press-story-card-title {
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    letter-spacing: -0.02em;
}

.press-story-card.is-solo .press-story-card-title {
    font-size: clamp(1.55rem, 2.8vw, 2.05rem);
    margin-bottom: 0.65rem;
}

.press-story-card-title a {
    color: var(--harq-text-heading);
    text-decoration: none;
}

.press-story-card-title a:hover {
    color: var(--harq-primary);
}

.press-story-card-dek {
    margin: 0 0 0.85rem;
    max-width: 40rem;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--harq-text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.press-story-card.is-lead .press-story-card-dek {
    -webkit-line-clamp: 3;
    font-size: 1.02rem;
}

.press-story-card.is-solo .press-story-card-dek {
    -webkit-line-clamp: 5;
    font-size: 1.05rem;
    margin-bottom: 1.1rem;
}

.press-story-card-more {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: auto;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--harq-text-heading);
}

.press-story-card-more:hover {
    color: var(--harq-primary);
}

.press-tag-empty {
    padding: 3rem 0 2rem;
    color: var(--harq-text-muted);
}

.press-tag-empty-title {
    margin: 0 0 0.35rem;
    font-family: var(--harq-font-heading);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--harq-text-heading);
}

.press-tag-empty-copy {
    margin: 0 0 1.25rem;
}

.press-tag-empty a {
    color: var(--harq-primary);
    font-weight: 600;
}

.press-tag-sidebar-inner {
    position: sticky;
    top: 5.5rem;
}

.press-tag-related-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.press-tag-related-list li {
    border-bottom: 1px solid var(--harq-border-subtle, #eee);
}

.press-tag-related-list li:last-child {
    border-bottom: 0;
}

.press-tag-related-link {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0;
    text-decoration: none;
    color: var(--harq-text-heading);
}

.press-tag-related-link:hover {
    color: var(--harq-primary);
}

.press-tag-related-name {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.35;
    min-width: 0;
}

.press-tag-related-name .press-tags-chip-hash {
    color: var(--harq-primary);
    margin-right: 0.05em;
}

.press-tag-related-count {
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--harq-text-light);
    font-variant-numeric: tabular-nums;
}

@media (max-width: 991.98px) {
    .press-tag-page .press-tag-hero {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .press-tag-layout > .col-lg-8 {
        border-right: none;
        padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    }

    .press-tag-sidebar {
        padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    }

    .press-tag-sidebar-inner {
        position: static;
    }

    .press-story-card.is-solo > [itemprop="item"],
    .press-story-card.is-lead > [itemprop="item"] {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .press-story-card.is-solo .press-story-card-media {
        aspect-ratio: 16 / 10;
        max-height: none;
    }
}

@media (max-width: 575.98px) {
    .press-story-card > [itemprop="item"] {
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 0.85rem 1rem;
    }

    .press-story-card-title {
        font-size: 1.05rem;
    }

    .press-story-card-dek {
        display: none;
    }

    .press-story-card.is-lead .press-story-card-dek,
    .press-story-card.is-solo .press-story-card-dek {
        display: -webkit-box;
    }

    .press-story-card-book {
        display: none;
    }
}

/* =========================================================
   Harq Stage — cinematic featured spotlight (homepage top)
   ========================================================= */
.harq-stage {
    --stage-ink: #121820;
    --stage-mist: #9aa8b8;
    --stage-line: rgba(255, 255, 255, 0.14);
    position: relative;
    background:
        radial-gradient(1200px 420px at 85% 20%, rgba(107, 128, 155, 0.28), transparent 60%),
        linear-gradient(160deg, #0e141c 0%, #1a2430 55%, #121820 100%);
    color: #f3f5f7;
    padding: 2rem 0 0;
    overflow: hidden;
}

.harq-stage-inner {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 1.25rem;
    align-items: stretch;
    min-height: 420px;
}

.harq-stage-label-col {
    display: flex;
    align-items: stretch;
    justify-content: center;
    border-right: 1px solid var(--stage-line);
    padding: 0.25rem 0 1.5rem;
}

.harq-stage-spine {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--stage-mist);
    align-self: center;
}

.harq-stage-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding-bottom: 0;
}

.harq-stage-head {
    margin-bottom: 1rem;
}

.harq-stage-kicker {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--harq-primary);
}

.harq-stage-panels {
    position: relative;
    flex: 1 1 auto;
}

.harq-stage-panel {
    display: none;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 0.95fr);
    gap: 1.75rem 2rem;
    align-items: center;
    min-height: 340px;
    animation: none;
}

.harq-stage-panel.is-active {
    display: grid;
}

@media (prefers-reduced-motion: no-preference) {
    .harq-stage-panel.is-active {
        animation: harq-stage-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
}

@keyframes harq-stage-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

.harq-stage-copy {
    max-width: 34rem;
    padding: 0.5rem 0 1.25rem;
}

.harq-stage-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.45rem;
    margin-bottom: 0.85rem;
    font-size: 0.75rem;
    color: var(--stage-mist);
}

.harq-stage-cat {
    color: #d7e0ea;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.harq-stage-dot {
    opacity: 0.5;
}

.harq-stage-title {
    margin: 0 0 0.85rem;
    font-family: var(--harq-font-heading);
    font-size: clamp(1.55rem, 3.2vw, 2.35rem);
    font-weight: 600;
    line-height: 1.18;
    letter-spacing: -0.02em;
    color: #fff;
}

.harq-stage-title a {
    color: inherit;
    text-decoration: none;
}

.harq-stage-title a:hover,
.harq-stage-title a:focus {
    text-decoration: none;
    color: #fff;
    opacity: 0.92;
}

.harq-stage-excerpt {
    margin: 0 0 1.35rem;
    font-size: 0.98rem;
    line-height: 1.6;
    color: rgba(243, 245, 247, 0.78);
}

.harq-stage-cta {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
}

.harq-stage-cta-line {
    display: block;
    width: 2.5rem;
    height: 1px;
    background: currentColor;
    transition: width 0.3s ease;
}

.harq-stage-cta:hover .harq-stage-cta-line,
.harq-stage-panel.is-active .harq-stage-cta:focus .harq-stage-cta-line {
    width: 4rem;
}

.harq-stage-visual {
    display: block;
    position: relative;
    height: min(52vh, 420px);
    min-height: 280px;
    overflow: hidden;
    clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%);
    background: #2a3544;
}

.harq-stage-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(18, 24, 32, 0.35), transparent 35%);
    pointer-events: none;
}

.harq-stage-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    transform: scale(1.03);
    transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.harq-stage-panel.is-active:hover .harq-stage-visual img {
    transform: scale(1.08);
}

.harq-stage-switcher {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0;
    margin-top: 1.25rem;
    border-top: 1px solid var(--stage-line);
}

.harq-stage-tab {
    appearance: none;
    border: 0;
    border-right: 1px solid var(--stage-line);
    background: transparent;
    color: var(--stage-mist);
    text-align: left;
    padding: 1rem 1rem 1.15rem;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.harq-stage-tab:last-child {
    border-right: 0;
}

.harq-stage-tab:hover,
.harq-stage-tab:focus {
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    outline: none;
}

.harq-stage-tab.is-active {
    color: #fff;
    background: rgba(107, 128, 155, 0.16);
    box-shadow: inset 0 2px 0 var(--harq-primary);
}

.harq-stage-tab-num {
    display: block;
    margin-bottom: 0.35rem;
    font-family: var(--harq-font-heading);
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
    opacity: 0.7;
}

.harq-stage-tab-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-family: var(--harq-font-heading);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.3;
}

@media (max-width: 991.98px) {
    .harq-stage-inner {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .harq-stage-label-col {
        border-right: 0;
        border-bottom: 1px solid var(--stage-line);
        justify-content: flex-start;
        padding: 0 0 0.75rem;
    }

    .harq-stage-spine {
        writing-mode: horizontal-tb;
        transform: none;
        letter-spacing: 0.18em;
    }

    .harq-stage-panel,
    .harq-stage-panel.is-active {
        grid-template-columns: 1fr;
        gap: 1.1rem;
        min-height: 0;
    }

    .harq-stage-visual {
        order: -1;
        clip-path: none;
        height: 240px;
        min-height: 220px;
    }

    .harq-stage-visual::after {
        background: linear-gradient(0deg, rgba(18, 24, 32, 0.45), transparent 45%);
    }
}

@media (max-width: 575.98px) {
    .harq-stage {
        padding-top: 1.35rem;
    }

    .harq-stage-title {
        font-size: 1.4rem;
    }

    .harq-stage-tab {
        padding: 0.85rem 0.75rem 1rem;
    }

    .harq-stage-switcher {
        grid-template-columns: 1fr 1fr;
    }
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* =========================================================
   Harq Latest — newest articles under featured stage
   ========================================================= */
.harq-latest {
    padding: 2.5rem 0 2.75rem;
    background: #fff;
    border-bottom: 1px solid var(--harq-border);
}

.harq-latest-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--harq-rule);
}

.harq-latest-kicker {
    margin: 0 0 0.3rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--harq-primary-dark);
}

.harq-latest-heading {
    margin: 0;
    font-family: var(--harq-font-heading);
    font-size: clamp(1.4rem, 2.4vw, 1.85rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--harq-text-heading);
    line-height: 1.15;
}

.harq-latest-count {
    margin: 0;
    flex-shrink: 0;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--harq-text-muted);
}

.harq-latest-count-hint {
    opacity: 0.55;
}

.harq-latest-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem 1.25rem;
}

.harq-latest-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.harq-latest-thumb {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--harq-border-subtle);
    margin-bottom: 0.85rem;
}

.harq-latest-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.harq-latest-card:hover .harq-latest-thumb img {
    transform: scale(1.05);
}

.harq-latest-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
    min-width: 0;
}

.harq-latest-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.35rem;
    margin-bottom: 0.4rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--harq-text-light);
}

.harq-latest-meta time {
    font-variant-numeric: tabular-nums;
}

.harq-latest-cat {
    color: var(--harq-primary);
}

.harq-latest-sep {
    opacity: 0.55;
}

.harq-latest-title {
    font-family: var(--harq-font-heading);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.28;
    margin: 0 0 0.4rem;
    letter-spacing: -0.01em;
}

.harq-latest-title a {
    color: var(--harq-text-heading);
    text-decoration: none;
}

.harq-latest-title a:hover,
.harq-latest-title a:focus {
    color: var(--harq-primary);
}

.harq-latest-excerpt {
    margin: 0 0 0.75rem;
    font-size: 0.88rem;
    line-height: 1.5;
    color: var(--harq-text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.harq-latest-cta {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--harq-text-heading);
}

.harq-latest-cta:hover {
    color: var(--harq-primary);
}

@media (max-width: 1199.98px) {
    .harq-latest-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .harq-latest-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .harq-latest {
        padding: 1.75rem 0 2rem;
    }

    .harq-latest-grid {
        grid-template-columns: 1fr;
        gap: 1.35rem;
    }

    .harq-latest-head {
        align-items: flex-start;
    }
}

/* =========================================================
   Homepage cohesion — shared section chrome
   ========================================================= */
.harq-home-section {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.harq-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--harq-rule);
}

.harq-section-head--flush {
    margin-top: 0;
}

.harq-section-kicker {
    margin: 0 0 0.3rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--harq-primary-dark);
}

.harq-section-heading {
    margin: 0;
    font-family: var(--harq-font-heading);
    font-size: clamp(1.35rem, 2.3vw, 1.75rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--harq-text-heading);
    line-height: 1.15;
}

.harq-latest-more,
.harq-text-link {
    flex-shrink: 0;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--harq-primary-dark);
    text-decoration: none;
    white-space: nowrap;
}

.harq-latest-more:hover,
.harq-text-link:hover {
    color: var(--harq-primary);
    text-decoration: none;
}

.harq-latest-book {
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.desk-switchboard-section.harq-home-section {
    background: transparent;
    border-top: 1px solid var(--harq-border);
    border-bottom: 1px solid var(--harq-border);
}

.desk-switchboard-section .desk-tab-bar {
    margin-bottom: 1.65rem;
}

.harq-latest.harq-home-section,
.harq-latest {
    background: transparent;
}

.codex-vault-section.harq-home-section {
    background: #fff;
}

.codex-vault-section .codex-vault-box {
    border: 1px solid var(--harq-border);
    padding: 1.5rem 1.5rem 1.75rem;
    background: #fff;
}

.chronicle-matrix-section.harq-home-section {
    padding-top: 2.75rem;
}

.timeline-badge {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.45rem;
}

.timeline-title a {
    text-decoration: none;
}

.timeline-title a:hover {
    text-decoration: none;
    color: var(--harq-primary-dark);
}

.floating-smart-dock .dock-btn {
    gap: 0.35rem;
}

@media (max-width: 575.98px) {
    .harq-section-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* —— Support / donations —— */
.press-support-page {
    max-width: 52rem;
}

.press-support-masthead .lede {
    max-width: 40rem;
}

.press-support-layout {
    margin-top: 0.25rem;
    display: grid;
    gap: 1.5rem;
}

.press-support-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(12rem, 16rem);
    gap: 2rem 2.5rem;
    align-items: start;
    border: 1px solid var(--harq-rule);
    padding: 1.75rem 1.75rem 2rem;
    background: #fff;
}

.press-support-card--deposit {
    grid-template-columns: 1fr;
}

.press-support-option {
    margin: 0 0 0.35rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--harq-primary);
}

.press-support-card-copy .press-section-label {
    margin-bottom: 1rem;
}

.press-support-steps {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--harq-text-body);
    margin: 0 0 1.35rem;
}

.press-support-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    margin: 0 0 1.25rem;
}

.press-support-meta dt {
    margin: 0 0 0.2rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--harq-text-light);
}

.press-support-meta dd {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--harq-text-heading);
}

.press-support-nickname {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-bottom: 1.25rem;
    padding: 0.85rem 1rem;
    background: var(--harq-primary-subtle);
    border: 1px solid var(--harq-primary-border);
}

.press-support-address .press-support-nickname-value {
    flex: 1 1 100%;
    font-size: 0.875rem;
    font-weight: 600;
    word-break: break-all;
    line-height: 1.45;
}

.press-support-nickname-label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--harq-text-light);
}

.press-support-nickname-value {
    font-family: var(--harq-font), ui-monospace, monospace;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--harq-text-heading);
    background: transparent;
    padding: 0;
}

.press-support-copy-btn {
    margin-left: auto;
    border: 1px solid var(--harq-primary-border);
    background: #fff;
    color: var(--harq-primary-dark);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.4rem 0.75rem;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.press-support-copy-btn:hover {
    background: var(--harq-primary);
    border-color: var(--harq-primary);
    color: #fff;
}

.press-support-note {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--harq-text-muted);
}

.press-support-note--warn {
    padding: 0.75rem 0.9rem;
    background: #fff8f0;
    border: 1px solid #efd2a8;
    color: #7a4e12;
}

.press-support-qr {
    margin: 0;
    text-align: center;
}

.press-support-qr img {
    display: block;
    width: 100%;
    max-width: 16rem;
    height: auto;
    margin: 0 auto;
    background: #fff;
}

.press-support-qr figcaption {
    margin-top: 0.65rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--harq-text-light);
}

@media (max-width: 767.98px) {
    .press-support-card {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 1.35rem 1.25rem 1.5rem;
    }

    .press-support-meta {
        grid-template-columns: 1fr 1fr;
    }

    .press-support-qr {
        order: -1;
    }

    .press-support-qr img {
        max-width: 14rem;
    }

    .press-support-copy-btn {
        margin-left: 0;
        width: 100%;
    }
}

/* —— Names (Անուններ) —— */
.press-names-masthead .lede {
    max-width: 36rem;
}

.press-names-masthead .lede a {
    color: var(--harq-primary);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid currentColor;
}

.press-names-masthead .lede a:hover {
    color: var(--harq-primary-dark, var(--harq-primary));
}

.press-names-toolbar {
    margin-bottom: 1.75rem;
}

.press-names-toolbar .press-books-search {
    max-width: 480px;
}

.press-names-popular {
    margin-bottom: 2.5rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--harq-border);
}

.press-names-popular .press-section-label {
    margin-bottom: 1rem;
}

.press-names-chip-icon {
    color: var(--harq-primary);
    font-size: 0.78em;
    line-height: 1;
}

.press-names-layout {
    display: grid;
    grid-template-columns: minmax(9.5rem, 12rem) minmax(0, 1fr);
    gap: 1.5rem 2rem;
    align-items: start;
}

.press-names-index {
    position: sticky;
    top: 5.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.press-names-index-label {
    margin: 0;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--harq-text-light);
}

.press-names-index-list {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.press-names-index-list a {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.55rem;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--harq-text-muted);
    text-decoration: none;
    border: 1px solid transparent;
    transition: var(--harq-transition);
}

.press-names-index-list a i {
    color: var(--name-cat-color, var(--harq-primary));
    font-size: 0.85em;
    width: 1em;
    text-align: center;
    flex-shrink: 0;
}

.press-names-index-list a span:not(.press-names-index-count) {
    min-width: 0;
    flex: 1;
}

.press-names-index-count {
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--harq-text-light);
    font-variant-numeric: tabular-nums;
}

.press-names-index-list a:hover,
.press-names-index-list a.is-active {
    color: var(--harq-primary-dark);
    border-color: var(--harq-border);
    background: var(--harq-primary-light);
}

.press-names-index-list a:hover .press-names-index-count,
.press-names-index-list a.is-active .press-names-index-count {
    color: var(--harq-primary-dark);
}

.press-names-directory {
    min-width: 0;
}

.press-names-section {
    margin-bottom: 2.25rem;
    scroll-margin-top: 5.5rem;
}

.press-names-section:last-child {
    margin-bottom: 0;
}

.press-names-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid var(--harq-rule);
}

.press-names-section-title {
    margin: 0;
    font-family: var(--harq-font-heading);
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--harq-text-heading);
    line-height: 1.15;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.press-names-section-title i {
    color: var(--name-cat-color, var(--harq-primary));
    font-size: 0.78em;
}

.press-names-section-meta {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--harq-text-light);
    font-variant-numeric: tabular-nums;
}

.press-article-name {
    gap: 0.35rem;
}

.press-article-name i {
    font-size: 0.85em;
    opacity: 0.85;
}

.press-article-names {
    margin-top: 1.5rem;
}

@media (max-width: 767.98px) {
    .press-names-layout {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .press-names-index {
        position: sticky;
        top: 0;
        z-index: 5;
        flex-direction: row;
        align-items: center;
        gap: 0.65rem;
        padding: 0.65rem 0;
        background: color-mix(in srgb, var(--harq-bg) 92%, transparent);
        backdrop-filter: blur(8px);
        border-bottom: 1px solid var(--harq-border);
        margin: 0 -0.25rem 0.5rem;
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }

    .press-names-index-label {
        display: none;
    }

    .press-names-index-list {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 0.35rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        width: 100%;
        padding-bottom: 0.15rem;
    }

    .press-names-index-list::-webkit-scrollbar {
        display: none;
    }

    .press-names-index-list a {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .press-names-toolbar .press-books-search {
        max-width: none;
    }
}

/* ==========================================================================
   SITE-WIDE THEME POLISH — dark + paper (sepia)
   Covers homepage modules, shared chrome, and leftover hard-coded whites.
   ========================================================================== */

/* Light-mode quote card already defined; theme overrides: */
html.reader-theme-dark .quote-callout-card--light,
body.reader-theme-dark .quote-callout-card--light {
    background: #161b22 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

html.reader-theme-dark .quote-callout-card--light .quote-icon,
body.reader-theme-dark .quote-callout-card--light .quote-icon {
    color: #8fa3b8 !important;
}

html.reader-theme-dark .quote-callout-card--light .quote-text,
html.reader-theme-dark .quote-callout-card--light .quote-author-name,
body.reader-theme-dark .quote-callout-card--light .quote-text,
body.reader-theme-dark .quote-callout-card--light .quote-author-name {
    color: #e6edf3 !important;
}

html.reader-theme-dark .quote-callout-card--light .quote-author-meta,
body.reader-theme-dark .quote-callout-card--light .quote-author-meta {
    color: #8b949e !important;
}

html.reader-theme-dark .quote-callout-card--light .quote-author-badge,
body.reader-theme-dark .quote-callout-card--light .quote-author-badge {
    border-top-color: rgba(255, 255, 255, 0.12) !important;
}

html.reader-theme-dark .quote-callout-card--light .btn-outline-secondary,
body.reader-theme-dark .quote-callout-card--light .btn-outline-secondary {
    color: #c9d1d9 !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    background: transparent !important;
}

html.reader-theme-sepia .quote-callout-card--light,
body.reader-theme-sepia .quote-callout-card--light {
    background: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
}

html.reader-theme-sepia .quote-callout-card--light .quote-icon,
body.reader-theme-sepia .quote-callout-card--light .quote-icon {
    color: #8a7355 !important;
}

html.reader-theme-sepia .quote-callout-card--light .quote-text,
html.reader-theme-sepia .quote-callout-card--light .quote-author-name,
body.reader-theme-sepia .quote-callout-card--light .quote-text,
body.reader-theme-sepia .quote-callout-card--light .quote-author-name {
    color: #2c2518 !important;
}

html.reader-theme-sepia .quote-callout-card--light .quote-author-meta,
body.reader-theme-sepia .quote-callout-card--light .quote-author-meta {
    color: #7a6b52 !important;
}

html.reader-theme-sepia .quote-callout-card--light .quote-author-badge,
body.reader-theme-sepia .quote-callout-card--light .quote-author-badge {
    border-top-color: #d6cbb4 !important;
}

/* Timeline / chronicle cards */
html.reader-theme-dark .timeline-ledger-section,
html.reader-theme-dark .timeline-card,
body.reader-theme-dark .timeline-ledger-section,
body.reader-theme-dark .timeline-card {
    background: #161b22 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #c9d1d9 !important;
    box-shadow: none !important;
}

html.reader-theme-dark .timeline-card:hover,
body.reader-theme-dark .timeline-card:hover {
    border-color: rgba(107, 128, 155, 0.55) !important;
    background: #1c2128 !important;
}

html.reader-theme-dark .timeline-title,
html.reader-theme-dark .timeline-title a,
body.reader-theme-dark .timeline-title,
body.reader-theme-dark .timeline-title a {
    color: #e6edf3 !important;
}

html.reader-theme-dark .timeline-excerpt,
html.reader-theme-dark .timeline-badge,
html.reader-theme-dark .timeline-badge a,
html.reader-theme-dark .timeline-meta,
body.reader-theme-dark .timeline-excerpt,
body.reader-theme-dark .timeline-badge,
body.reader-theme-dark .timeline-badge a,
body.reader-theme-dark .timeline-meta {
    color: #8b949e !important;
}

html.reader-theme-dark .stream-ledger-mode .timeline-card,
body.reader-theme-dark .stream-ledger-mode .timeline-card {
    background: transparent !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

html.reader-theme-dark .stream-ledger-mode .timeline-card:hover,
body.reader-theme-dark .stream-ledger-mode .timeline-card:hover {
    background: rgba(107, 128, 155, 0.1) !important;
}

html.reader-theme-sepia .timeline-ledger-section,
html.reader-theme-sepia .timeline-card,
body.reader-theme-sepia .timeline-ledger-section,
body.reader-theme-sepia .timeline-card {
    background: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
    color: #2c2518 !important;
    box-shadow: none !important;
}

html.reader-theme-sepia .timeline-title,
html.reader-theme-sepia .timeline-title a,
body.reader-theme-sepia .timeline-title,
body.reader-theme-sepia .timeline-title a {
    color: #2c2518 !important;
}

html.reader-theme-sepia .timeline-excerpt,
html.reader-theme-sepia .timeline-badge,
html.reader-theme-sepia .timeline-badge a,
body.reader-theme-sepia .timeline-excerpt,
body.reader-theme-sepia .timeline-badge,
body.reader-theme-sepia .timeline-badge a {
    color: #7a6b52 !important;
}

html.reader-theme-sepia .stream-ledger-mode .timeline-card,
body.reader-theme-sepia .stream-ledger-mode .timeline-card {
    background: transparent !important;
    border-bottom-color: rgba(44, 37, 24, 0.12) !important;
}

html.reader-theme-sepia .stream-ledger-mode .timeline-card:hover,
body.reader-theme-sepia .stream-ledger-mode .timeline-card:hover {
    background: rgba(138, 115, 85, 0.08) !important;
}

/* View mode pills */
html.reader-theme-dark .view-mode-pill-group,
body.reader-theme-dark .view-mode-pill-group {
    background: #21262d !important;
}

html.reader-theme-dark .view-mode-btn,
body.reader-theme-dark .view-mode-btn {
    color: #8b949e !important;
}

html.reader-theme-dark .view-mode-btn:hover,
body.reader-theme-dark .view-mode-btn:hover {
    color: #e6edf3 !important;
}

html.reader-theme-dark .view-mode-btn.active,
body.reader-theme-dark .view-mode-btn.active {
    background: #0d1117 !important;
    color: #e6edf3 !important;
    box-shadow: none !important;
}

html.reader-theme-sepia .view-mode-pill-group,
body.reader-theme-sepia .view-mode-pill-group {
    background: #e0d4be !important;
}

html.reader-theme-sepia .view-mode-btn,
body.reader-theme-sepia .view-mode-btn {
    color: #7a6b52 !important;
}

html.reader-theme-sepia .view-mode-btn.active,
body.reader-theme-sepia .view-mode-btn.active {
    background: #f4efe4 !important;
    color: #2c2518 !important;
    box-shadow: none !important;
}

/* Stage titles stay light on dark stage; reinforce against global h1/a dark rules */
html.reader-theme-dark .harq-stage-title,
html.reader-theme-dark .harq-stage-title a,
html.reader-theme-sepia .harq-stage-title,
html.reader-theme-sepia .harq-stage-title a,
body.reader-theme-dark .harq-stage-title,
body.reader-theme-dark .harq-stage-title a,
body.reader-theme-sepia .harq-stage-title,
body.reader-theme-sepia .harq-stage-title a {
    color: #ffffff !important;
}

html.reader-theme-dark .harq-stage-excerpt,
html.reader-theme-sepia .harq-stage-excerpt,
body.reader-theme-dark .harq-stage-excerpt,
body.reader-theme-sepia .harq-stage-excerpt {
    color: rgba(243, 245, 247, 0.78) !important;
}

html.reader-theme-dark .harq-stage-cta,
html.reader-theme-sepia .harq-stage-cta,
body.reader-theme-dark .harq-stage-cta,
body.reader-theme-sepia .harq-stage-cta {
    color: #ffffff !important;
}

/* Footer bottom strip */
html.reader-theme-dark .footer-bottom,
body.reader-theme-dark .footer-bottom {
    background: #010409 !important;
    border-top-color: rgba(255, 255, 255, 0.1) !important;
    color: #8b949e !important;
}

html.reader-theme-sepia .footer-bottom,
body.reader-theme-sepia .footer-bottom {
    background: #e4dcc8 !important;
    border-top-color: #d6cbb4 !important;
    color: #7a6b52 !important;
}

/* Latest cards, vault, desk, utility hub, pagination */
html.reader-theme-dark .harq-latest-card,
html.reader-theme-dark .harq-latest-title a,
body.reader-theme-dark .harq-latest-card,
body.reader-theme-dark .harq-latest-title a {
    color: #e6edf3 !important;
}

html.reader-theme-dark .harq-latest-excerpt,
html.reader-theme-dark .harq-latest-meta,
html.reader-theme-dark .harq-latest-cat,
html.reader-theme-dark .harq-latest-book,
body.reader-theme-dark .harq-latest-excerpt,
body.reader-theme-dark .harq-latest-meta,
body.reader-theme-dark .harq-latest-cat,
body.reader-theme-dark .harq-latest-book {
    color: #8b949e !important;
}

html.reader-theme-dark .codex-vault-section,
html.reader-theme-dark .codex-vault-box,
html.reader-theme-dark .utility-hub,
html.reader-theme-dark .bento-tile,
html.reader-theme-dark .saved-modal,
body.reader-theme-dark .codex-vault-section,
body.reader-theme-dark .codex-vault-box,
body.reader-theme-dark .utility-hub,
body.reader-theme-dark .bento-tile,
body.reader-theme-dark .saved-modal {
    background: #161b22 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #c9d1d9 !important;
}

html.reader-theme-dark .desk-tab-bar,
body.reader-theme-dark .desk-tab-bar {
    background: #0d1117 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

html.reader-theme-dark .desk-tab-btn,
body.reader-theme-dark .desk-tab-btn {
    color: #8b949e !important;
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
}

html.reader-theme-dark .desk-tab-btn.active,
body.reader-theme-dark .desk-tab-btn.active {
    color: #e6edf3 !important;
    background: #21262d !important;
    box-shadow: none !important;
}

html.reader-theme-dark .desk-side,
html.reader-theme-dark .desk-grid-foot,
html.reader-theme-dark .desk-sat-list > li,
html.reader-theme-dark .desk-anchor-media,
body.reader-theme-dark .desk-side,
body.reader-theme-dark .desk-grid-foot,
body.reader-theme-dark .desk-sat-list > li,
body.reader-theme-dark .desk-anchor-media {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

html.reader-theme-dark .desk-sat-index,
body.reader-theme-dark .desk-sat-index {
    color: #8b949e !important;
}

html.reader-theme-dark .pagination .page-link,
html.reader-theme-dark .pagination-custom .page-link,
body.reader-theme-dark .pagination .page-link,
body.reader-theme-dark .pagination-custom .page-link {
    background: #161b22 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #c9d1d9 !important;
}

html.reader-theme-dark .pagination .page-item.active .page-link,
html.reader-theme-dark .pagination-custom .page-item.active .page-link,
body.reader-theme-dark .pagination .page-item.active .page-link,
body.reader-theme-dark .pagination-custom .page-item.active .page-link {
    background: #3f5168 !important;
    border-color: #3f5168 !important;
    color: #fff !important;
}

html.reader-theme-sepia .harq-latest-title a,
body.reader-theme-sepia .harq-latest-title a {
    color: #2c2518 !important;
}

html.reader-theme-sepia .harq-latest-excerpt,
html.reader-theme-sepia .harq-latest-meta,
html.reader-theme-sepia .harq-latest-cat,
body.reader-theme-sepia .harq-latest-excerpt,
body.reader-theme-sepia .harq-latest-meta,
body.reader-theme-sepia .harq-latest-cat {
    color: #7a6b52 !important;
}

html.reader-theme-sepia .codex-vault-box,
html.reader-theme-sepia .utility-hub,
html.reader-theme-sepia .bento-tile,
html.reader-theme-sepia .saved-modal,
body.reader-theme-sepia .codex-vault-box,
body.reader-theme-sepia .utility-hub,
body.reader-theme-sepia .bento-tile,
body.reader-theme-sepia .saved-modal {
    background: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
    color: #2c2518 !important;
}

html.reader-theme-sepia .desk-tab-bar,
body.reader-theme-sepia .desk-tab-bar {
    background: #e4dcc8 !important;
    border-color: #d6cbb4 !important;
}

html.reader-theme-sepia .desk-tab-btn,
body.reader-theme-sepia .desk-tab-btn {
    color: #7a6b52 !important;
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
}

html.reader-theme-sepia .desk-tab-btn.active,
body.reader-theme-sepia .desk-tab-btn.active {
    color: #2c2518 !important;
    background: #f4efe4 !important;
    box-shadow: none !important;
}

html.reader-theme-sepia .desk-side,
html.reader-theme-sepia .desk-grid-foot,
html.reader-theme-sepia .desk-sat-list > li,
html.reader-theme-sepia .desk-anchor-media,
body.reader-theme-sepia .desk-side,
body.reader-theme-sepia .desk-grid-foot,
body.reader-theme-sepia .desk-sat-list > li,
body.reader-theme-sepia .desk-anchor-media {
    border-color: #d6cbb4 !important;
}

html.reader-theme-sepia .desk-sat-index,
body.reader-theme-sepia .desk-sat-index {
    color: #7a6b52 !important;
}

html.reader-theme-sepia .pagination .page-link,
html.reader-theme-sepia .pagination-custom .page-link,
body.reader-theme-sepia .pagination .page-link,
body.reader-theme-sepia .pagination-custom .page-link {
    background: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
    color: #2c2518 !important;
}

html.reader-theme-sepia .pagination .page-item.active .page-link,
html.reader-theme-sepia .pagination-custom .page-item.active .page-link,
body.reader-theme-sepia .pagination .page-item.active .page-link,
body.reader-theme-sepia .pagination-custom .page-item.active .page-link {
    background: #8a7355 !important;
    border-color: #8a7355 !important;
    color: #fff !important;
}

/* Press / archive / names / tags / support leftovers */
html.reader-theme-dark .press-support-nickname,
html.reader-theme-dark .press-support-copy-btn,
html.reader-theme-dark .press-names-index-list a.is-active,
html.reader-theme-dark .press-books-search-field,
html.reader-theme-dark .press-books-search button,
html.reader-theme-dark .press-books-filter,
html.reader-theme-dark .press-books-more-list,
body.reader-theme-dark .press-support-nickname,
body.reader-theme-dark .press-support-copy-btn,
body.reader-theme-dark .press-names-index-list a.is-active,
body.reader-theme-dark .press-books-search-field,
body.reader-theme-dark .press-books-search button,
body.reader-theme-dark .press-books-filter,
body.reader-theme-dark .press-books-more-list {
    background: #161b22 !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #c9d1d9 !important;
}

html.reader-theme-dark .press-books-search input,
body.reader-theme-dark .press-books-search input {
    background: transparent !important;
    border-color: transparent !important;
    color: #e6edf3 !important;
}

html.reader-theme-dark .press-books-filter.is-active,
body.reader-theme-dark .press-books-filter.is-active {
    background: #e6edf3 !important;
    border-color: #e6edf3 !important;
    color: #0d1117 !important;
}

html.reader-theme-sepia .press-support-nickname,
html.reader-theme-sepia .press-support-copy-btn,
html.reader-theme-sepia .press-names-index-list a.is-active,
html.reader-theme-sepia .press-books-search-field,
html.reader-theme-sepia .press-books-search button,
html.reader-theme-sepia .press-books-filter,
html.reader-theme-sepia .press-books-more-list,
body.reader-theme-sepia .press-support-nickname,
body.reader-theme-sepia .press-support-copy-btn,
body.reader-theme-sepia .press-names-index-list a.is-active,
body.reader-theme-sepia .press-books-search-field,
body.reader-theme-sepia .press-books-search button,
body.reader-theme-sepia .press-books-filter,
body.reader-theme-sepia .press-books-more-list {
    background: #f4efe4 !important;
    border-color: #d6cbb4 !important;
    color: #2c2518 !important;
}

html.reader-theme-sepia .press-books-search input,
body.reader-theme-sepia .press-books-search input {
    background: transparent !important;
    border-color: transparent !important;
    color: #2c2518 !important;
}

html.reader-theme-sepia .press-books-search button,
body.reader-theme-sepia .press-books-search button {
    background: #2c2518 !important;
    color: #f4efe4 !important;
}

html.reader-theme-sepia .press-books-filter.is-active,
body.reader-theme-sepia .press-books-filter.is-active {
    background: #2c2518 !important;
    border-color: #2c2518 !important;
    color: #f4efe4 !important;
}

html.reader-theme-dark .press-support-note--warn,
body.reader-theme-dark .press-support-note--warn {
    background: #2a2118 !important;
    border-color: #5c4a2e !important;
    color: #e7d3a8 !important;
}

html.reader-theme-dark .breadcrumb-item a,
html.reader-theme-dark .breadcrumb-item.active,
body.reader-theme-dark .breadcrumb-item a,
body.reader-theme-dark .breadcrumb-item.active {
    color: #8b949e !important;
}

html.reader-theme-sepia .breadcrumb-item a,
html.reader-theme-sepia .breadcrumb-item.active,
body.reader-theme-sepia .breadcrumb-item a,
body.reader-theme-sepia .breadcrumb-item.active {
    color: #7a6b52 !important;
}

/* Beat Bootstrap utility helpers that fight themes */
html.reader-theme-dark .text-dark,
html.reader-theme-dark .bg-white,
body.reader-theme-dark .text-dark {
    color: #e6edf3 !important;
}

html.reader-theme-dark .bg-white,
body.reader-theme-dark .bg-white {
    background-color: #161b22 !important;
}

html.reader-theme-sepia .text-dark,
body.reader-theme-sepia .text-dark {
    color: #2c2518 !important;
}

html.reader-theme-sepia .bg-white,
body.reader-theme-sepia .bg-white {
    background-color: #ebe3d2 !important;
}

/* Hardcoded hex leftovers that ignore CSS variables */
html.reader-theme-dark .vault-book-title,
html.reader-theme-dark .heat-title,
html.reader-theme-dark .press-tags-chip-name,
html.reader-theme-dark .desk-sat-title,
html.reader-theme-dark .desk-side-more,
html.reader-theme-dark .desk-anchor-title,
body.reader-theme-dark .vault-book-title,
body.reader-theme-dark .heat-title,
body.reader-theme-dark .press-tags-chip-name,
body.reader-theme-dark .desk-sat-title,
body.reader-theme-dark .desk-side-more,
body.reader-theme-dark .desk-anchor-title {
    color: #e6edf3 !important;
}

html.reader-theme-dark .vault-book-author,
html.reader-theme-dark .vault-book-archival,
html.reader-theme-dark .desk-sat-meta,
html.reader-theme-dark .desk-side-more-count,
html.reader-theme-dark .desk-tab-count,
html.reader-theme-dark .desk-anchor-kicker,
html.reader-theme-dark .harq-stage-kicker,
html.reader-theme-dark .press-tags-chip-hash,
html.reader-theme-dark .press-tags-chip-count,
html.reader-theme-dark .radar-heading-link,
html.reader-theme-dark .heat-num,
html.reader-theme-dark .quick-drawer-badge,
body.reader-theme-dark .vault-book-author,
body.reader-theme-dark .vault-book-archival,
body.reader-theme-dark .desk-sat-meta,
body.reader-theme-dark .desk-side-more-count,
body.reader-theme-dark .desk-tab-count,
body.reader-theme-dark .desk-anchor-kicker,
body.reader-theme-dark .harq-stage-kicker,
body.reader-theme-dark .press-tags-chip-hash,
body.reader-theme-dark .press-tags-chip-count,
body.reader-theme-dark .radar-heading-link,
body.reader-theme-dark .heat-num,
body.reader-theme-dark .quick-drawer-badge {
    color: #8b949e !important;
}

html.reader-theme-dark .harq-latest-more,
html.reader-theme-dark .harq-text-link,
html.reader-theme-dark .desk-anchor-cta,
body.reader-theme-dark .harq-latest-more,
body.reader-theme-dark .harq-text-link,
body.reader-theme-dark .desk-anchor-cta {
    color: #9eb0c5 !important;
}

html.reader-theme-dark .harq-latest-more:hover,
html.reader-theme-dark .harq-text-link:hover,
html.reader-theme-dark .desk-anchor-cta:hover,
html.reader-theme-dark .radar-heading-link:hover,
body.reader-theme-dark .harq-latest-more:hover,
body.reader-theme-dark .harq-text-link:hover,
body.reader-theme-dark .desk-anchor-cta:hover,
body.reader-theme-dark .radar-heading-link:hover {
    color: #e6edf3 !important;
}

html.reader-theme-dark .vault-cover-wrap,
html.reader-theme-dark .press-tags-chip,
html.reader-theme-dark .heat-item,
html.reader-theme-dark .desk-sat-item,
html.reader-theme-dark .desk-pane,
body.reader-theme-dark .vault-cover-wrap,
body.reader-theme-dark .press-tags-chip,
body.reader-theme-dark .heat-item,
body.reader-theme-dark .desk-sat-item,
body.reader-theme-dark .desk-pane {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

html.reader-theme-dark .vault-cover-wrap,
body.reader-theme-dark .vault-cover-wrap {
    background: #21262d !important;
    box-shadow: none !important;
}

html.reader-theme-dark .heat-item:hover,
html.reader-theme-dark .desk-sat-item:hover,
body.reader-theme-dark .heat-item:hover,
body.reader-theme-dark .desk-sat-item:hover {
    background: rgba(107, 128, 155, 0.1) !important;
}

html.reader-theme-sepia .vault-book-title,
html.reader-theme-sepia .heat-title,
html.reader-theme-sepia .press-tags-chip-name,
html.reader-theme-sepia .desk-sat-title,
html.reader-theme-sepia .desk-side-more,
html.reader-theme-sepia .desk-anchor-title,
body.reader-theme-sepia .vault-book-title,
body.reader-theme-sepia .heat-title,
body.reader-theme-sepia .press-tags-chip-name,
body.reader-theme-sepia .desk-sat-title,
body.reader-theme-sepia .desk-side-more,
body.reader-theme-sepia .desk-anchor-title {
    color: #2c2518 !important;
}

html.reader-theme-sepia .vault-book-author,
html.reader-theme-sepia .vault-book-archival,
html.reader-theme-sepia .desk-sat-meta,
html.reader-theme-sepia .desk-side-more-count,
html.reader-theme-sepia .desk-tab-count,
html.reader-theme-sepia .desk-anchor-kicker,
html.reader-theme-sepia .harq-stage-kicker,
html.reader-theme-sepia .press-tags-chip-hash,
html.reader-theme-sepia .press-tags-chip-count,
html.reader-theme-sepia .radar-heading-link,
html.reader-theme-sepia .heat-num,
body.reader-theme-sepia .vault-book-author,
body.reader-theme-sepia .vault-book-archival,
body.reader-theme-sepia .desk-sat-meta,
body.reader-theme-sepia .desk-side-more-count,
body.reader-theme-sepia .desk-tab-count,
body.reader-theme-sepia .desk-anchor-kicker,
body.reader-theme-sepia .harq-stage-kicker,
body.reader-theme-sepia .press-tags-chip-hash,
body.reader-theme-sepia .press-tags-chip-count,
body.reader-theme-sepia .radar-heading-link,
body.reader-theme-sepia .heat-num {
    color: #7a6b52 !important;
}

html.reader-theme-sepia .harq-latest-more,
html.reader-theme-sepia .harq-text-link,
html.reader-theme-sepia .desk-anchor-cta,
body.reader-theme-sepia .harq-latest-more,
body.reader-theme-sepia .harq-text-link,
body.reader-theme-sepia .desk-anchor-cta {
    color: #6b5740 !important;
}

html.reader-theme-sepia .harq-latest-more:hover,
html.reader-theme-sepia .harq-text-link:hover,
html.reader-theme-sepia .desk-anchor-cta:hover,
html.reader-theme-sepia .radar-heading-link:hover,
body.reader-theme-sepia .harq-latest-more:hover,
body.reader-theme-sepia .harq-text-link:hover,
body.reader-theme-sepia .desk-anchor-cta:hover,
body.reader-theme-sepia .radar-heading-link:hover {
    color: #2c2518 !important;
}

html.reader-theme-sepia .vault-cover-wrap,
html.reader-theme-sepia .press-tags-chip,
html.reader-theme-sepia .heat-item,
body.reader-theme-sepia .vault-cover-wrap,
body.reader-theme-sepia .press-tags-chip,
body.reader-theme-sepia .heat-item {
    border-color: #d6cbb4 !important;
}

html.reader-theme-sepia .vault-cover-wrap,
body.reader-theme-sepia .vault-cover-wrap {
    background: #e0d4be !important;
    box-shadow: none !important;
}

html.reader-theme-sepia .heat-item:hover,
html.reader-theme-sepia .desk-sat-item:hover,
body.reader-theme-sepia .heat-item:hover,
body.reader-theme-sepia .desk-sat-item:hover {
    background: rgba(138, 115, 85, 0.08) !important;
}

/* Press listing / taxonomy / support surfaces */
html.reader-theme-dark .press-story-card-title a,
html.reader-theme-dark .press-page-title,
html.reader-theme-dark .press-section-heading,
html.reader-theme-dark .press-names-title,
html.reader-theme-dark .press-books-title,
html.reader-theme-dark .press-authors-name,
html.reader-theme-dark .press-support-title,
html.reader-theme-dark .archive-widget-title,
html.reader-theme-dark .tag-cloud-item,
body.reader-theme-dark .press-story-card-title a,
body.reader-theme-dark .press-page-title,
body.reader-theme-dark .press-section-heading,
body.reader-theme-dark .press-names-title,
body.reader-theme-dark .press-books-title,
body.reader-theme-dark .press-authors-name,
body.reader-theme-dark .press-support-title,
body.reader-theme-dark .archive-widget-title,
body.reader-theme-dark .tag-cloud-item {
    color: #e6edf3 !important;
}

html.reader-theme-dark .press-story-card-dek,
html.reader-theme-dark .press-page-lede,
html.reader-theme-dark .press-support-note,
html.reader-theme-dark .press-authors-meta,
html.reader-theme-dark .press-books-meta,
html.reader-theme-dark .archive-widget a,
body.reader-theme-dark .press-story-card-dek,
body.reader-theme-dark .press-page-lede,
body.reader-theme-dark .press-support-note,
body.reader-theme-dark .press-authors-meta,
body.reader-theme-dark .press-books-meta,
body.reader-theme-dark .archive-widget a {
    color: #8b949e !important;
}

html.reader-theme-sepia .press-story-card-title a,
html.reader-theme-sepia .press-page-title,
html.reader-theme-sepia .press-section-heading,
html.reader-theme-sepia .press-names-title,
html.reader-theme-sepia .press-books-title,
html.reader-theme-sepia .press-authors-name,
html.reader-theme-sepia .press-support-title,
html.reader-theme-sepia .archive-widget-title,
html.reader-theme-sepia .tag-cloud-item,
body.reader-theme-sepia .press-story-card-title a,
body.reader-theme-sepia .press-page-title,
body.reader-theme-sepia .press-section-heading,
body.reader-theme-sepia .press-names-title,
body.reader-theme-sepia .press-books-title,
body.reader-theme-sepia .press-authors-name,
body.reader-theme-sepia .press-support-title,
body.reader-theme-sepia .archive-widget-title,
body.reader-theme-sepia .tag-cloud-item {
    color: #2c2518 !important;
}

html.reader-theme-sepia .press-story-card-dek,
html.reader-theme-sepia .press-page-lede,
html.reader-theme-sepia .press-support-note,
html.reader-theme-sepia .press-authors-meta,
html.reader-theme-sepia .press-books-meta,
html.reader-theme-sepia .archive-widget a,
body.reader-theme-sepia .press-story-card-dek,
body.reader-theme-sepia .press-page-lede,
body.reader-theme-sepia .press-support-note,
body.reader-theme-sepia .press-authors-meta,
body.reader-theme-sepia .press-books-meta,
body.reader-theme-sepia .archive-widget a {
    color: #7a6b52 !important;
}

/* Form controls / inputs in themed chrome */
html.reader-theme-dark input:not([type="checkbox"]):not([type="radio"]),
html.reader-theme-dark textarea,
html.reader-theme-dark select,
html.reader-theme-dark .form-control,
html.reader-theme-dark .form-select,
body.reader-theme-dark input:not([type="checkbox"]):not([type="radio"]),
body.reader-theme-dark textarea,
body.reader-theme-dark select,
body.reader-theme-dark .form-control,
body.reader-theme-dark .form-select {
    background-color: #161b22 !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #e6edf3 !important;
}

html.reader-theme-sepia input:not([type="checkbox"]):not([type="radio"]),
html.reader-theme-sepia textarea,
html.reader-theme-sepia select,
html.reader-theme-sepia .form-control,
html.reader-theme-sepia .form-select,
body.reader-theme-sepia input:not([type="checkbox"]):not([type="radio"]),
body.reader-theme-sepia textarea,
body.reader-theme-sepia select,
body.reader-theme-sepia .form-control,
body.reader-theme-sepia .form-select {
    background-color: #ebe3d2 !important;
    border-color: #d6cbb4 !important;
    color: #2c2518 !important;
}

/* Soften Bootstrap secondary outline buttons site-wide in themes */
html.reader-theme-dark .btn-outline-secondary,
body.reader-theme-dark .btn-outline-secondary {
    color: #c9d1d9 !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
}

html.reader-theme-dark .btn-outline-secondary:hover,
body.reader-theme-dark .btn-outline-secondary:hover {
    color: #fff !important;
    background: rgba(107, 128, 155, 0.25) !important;
    border-color: rgba(107, 128, 155, 0.55) !important;
}

html.reader-theme-sepia .btn-outline-secondary,
body.reader-theme-sepia .btn-outline-secondary {
    color: #5c4a32 !important;
    border-color: #c4b59a !important;
}

html.reader-theme-sepia .btn-outline-secondary:hover,
body.reader-theme-sepia .btn-outline-secondary:hover {
    color: #2c2518 !important;
    background: rgba(138, 115, 85, 0.12) !important;
    border-color: #8a7355 !important;
}
