body.news-body {
    background: radial-gradient(circle at top left, rgba(200, 16, 46, 0.06), transparent 28%), var(--theme-accent);
    color: #111827;
    font-family: "Hind Siliguri", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.brand-mark,
.hero-title,
.article-main-title {
    font-family: "Merriweather", serif;
}

img {
    max-width: 100%;
}

.top-meta-bar {
    background: var(--theme-secondary);
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.92rem;
}

.top-meta-inner {
    min-height: 42px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem;
    align-items: center;
}

.top-meta-date,
.topbar-note,
.topbar-social {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.topbar-note {
    justify-content: center;
    text-align: center;
}

.topbar-social {
    justify-content: flex-end;
}

.topbar-social a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
}

.news-ticker {
    background: var(--ticker-bg);
    color: var(--ticker-text);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.news-ticker-inner {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: var(--ticker-height);
}

.ticker-label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    background: rgba(0, 0, 0, 0.16);
    color: #fff;
    font-weight: 700;
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    flex-shrink: 0;
}

.ticker-label-icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.ticker-slider {
    overflow: hidden;
    flex: 1 1 auto;
    min-width: 0;
}

.ticker-track {
    display: inline-flex;
    align-items: center;
    min-width: max-content;
    white-space: nowrap;
    animation: tickerScroll var(--ticker-duration) linear infinite;
    font-size: var(--ticker-font-size);
    font-weight: var(--ticker-font-weight);
}

.ticker-track.reverse {
    animation-direction: reverse;
}

.ticker-pause:hover .ticker-track {
    animation-play-state: paused;
}

.ticker-item {
    color: inherit;
    text-decoration: none;
    padding: 0 0.5rem;
}

.ticker-item:hover {
    color: #fff6cc;
}

.ticker-separator {
    opacity: 0.66;
    padding: 0 0.25rem;
}

@keyframes tickerScroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

.brand-header {
    background: linear-gradient(180deg, #ffffff 0%, #fff6f7 100%);
    border-bottom: 1px solid var(--theme-border);
}

.brand-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: center;
    padding: 1.1rem 0;
}

.brand-logo {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    color: inherit;
}

.brand-logo-image,
.footer-logo-image {
    width: 78px;
    height: 78px;
    object-fit: contain;
    border-radius: 1.25rem;
    padding: 0.55rem;
    background: #fff;
    border: 1px solid rgba(17, 24, 39, 0.08);
    box-shadow: 0 1rem 2rem rgba(17, 24, 39, 0.08);
}

.brand-logo-badge {
    width: 78px;
    height: 78px;
    border-radius: 1.25rem;
    background: linear-gradient(135deg, var(--theme-primary), #ff6a6a);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 2rem;
    box-shadow: 0 1rem 2rem rgba(200, 16, 46, 0.22);
}

.brand-copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.brand-mark {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
    color: var(--theme-primary);
    line-height: 1;
}

.brand-tagline {
    font-size: 1rem;
    font-weight: 600;
    color: #374151;
}

.brand-description {
    color: var(--theme-muted);
    font-size: 0.92rem;
}

.header-utility-wrap {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.header-cta-box {
    background: #fff;
    border: 1px solid rgba(200, 16, 46, 0.12);
    border-radius: 1.3rem;
    padding: 0.95rem 1rem;
    min-width: 290px;
    box-shadow: 0 1rem 2rem rgba(17, 24, 39, 0.06);
}

.header-cta-label {
    color: var(--theme-primary);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.header-cta-copy {
    color: #4b5563;
    font-size: 0.95rem;
    line-height: 1.65;
}

.header-actions {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.header-ad-wrap,
.footer-ad-wrap {
    margin-top: 0.5rem;
    margin-bottom: 0.75rem;
}

.site-navbar {
    background: var(--theme-primary);
    box-shadow: 0 0.95rem 2.4rem rgba(17, 24, 39, 0.12);
}

.site-navbar .navbar-toggler {
    border: 0;
    background: rgba(255, 255, 255, 0.92);
    padding: 0.45rem 0.8rem;
}

.site-navbar .navbar-brand,
.site-navbar .nav-link,
.nav-end-link {
    color: #fff;
    font-weight: 600;
}

.site-navbar .nav-link {
    padding: 1rem 0.85rem;
}

.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus,
.nav-end-link:hover {
    color: #ffe9ec;
}

.nav-dropdown-menu {
    min-width: 420px;
}

.nav-end-link {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.95rem;
}

.site-main {
    padding-bottom: 3.5rem;
}

.section-block {
    margin-top: 2rem;
}

.section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.section-heading-title {
    position: relative;
    font-size: 1.6rem;
    font-weight: 900;
    margin: 0;
    padding-left: 1rem;
}

.section-heading-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.25rem;
    width: 0.32rem;
    height: 1.45rem;
    border-radius: 999px;
    background: var(--theme-primary);
}

.section-heading-link {
    color: var(--theme-primary);
    text-decoration: none;
    font-weight: 700;
}

.hero-main,
.content-card,
.sidebar-widget,
.article-main-card,
.footer-panel,
.directory-card,
.journalist-mini-card,
.news-card,
.story-split-card {
    background: var(--theme-surface);
    border: 1px solid rgba(17, 24, 39, 0.05);
    border-radius: 1.5rem;
    box-shadow: 0 1rem 2.8rem rgba(17, 24, 39, 0.06);
}

.hero-main {
    overflow: hidden;
}

.hero-slide {
    position: relative;
}

.hero-slide-image {
    width: 100%;
    height: 520px;
    object-fit: cover;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 10, 15, 0.04), rgba(7, 10, 15, 0.82));
    display: flex;
    align-items: flex-end;
}

.hero-overlay-body {
    padding: 2rem;
    color: #fff;
    max-width: 86%;
}

.hero-badge,
.meta-badge,
.section-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.meta-badge,
.section-chip {
    background: rgba(200, 16, 46, 0.08);
    color: var(--theme-primary);
}

.hero-title,
.news-card-title,
.article-main-title {
    line-height: 1.2;
}

.hero-title {
    font-size: clamp(2rem, 4vw, 3rem);
    margin: 0.9rem 0;
}

.hero-meta,
.news-card-meta,
.article-meta,
.directory-meta,
.widget-meta,
.footer-muted,
.mini-contact,
.article-summary {
    color: var(--theme-muted);
}

.hero-side-list {
    display: grid;
    gap: 1rem;
}

.hero-side-item,
.thumb-list-item,
.trending-item,
.category-list-item,
.related-item {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 0.9rem;
    text-decoration: none;
    color: inherit;
    padding: 0.9rem;
    border-radius: 1.25rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hero-side-item:hover,
.thumb-list-item:hover,
.trending-item:hover,
.category-list-item:hover,
.related-item:hover,
.news-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 1.2rem 2.5rem rgba(17, 24, 39, 0.1);
}

.hero-side-thumb,
.thumb-list-item img,
.trending-item img,
.category-list-item img,
.related-item img,
.news-card-thumb,
.article-cover,
.directory-cover,
.story-split-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 1rem;
}

.hero-side-thumb,
.thumb-list-item img,
.trending-item img,
.category-list-item img,
.related-item img {
    height: 88px;
}

.news-card {
    overflow: hidden;
    height: 100%;
}

.news-card-thumb {
    height: 220px;
}

.news-card-body {
    padding: 1.15rem 1.2rem 1.25rem;
}

.news-card-title {
    font-size: 1.15rem;
    font-weight: 900;
    margin: 0.75rem 0 0.65rem;
}

.news-card-title a,
.hero-title a,
.article-main-title a {
    color: inherit;
    text-decoration: none;
}

.news-card-excerpt,
.article-body,
.directory-card p,
.footer-panel p {
    line-height: 1.8;
    color: #4b5563;
}

.story-split-card {
    overflow: hidden;
}

.story-split-image {
    height: 100%;
    min-height: 340px;
}

.story-split-body {
    padding: 1.6rem;
}

.category-showcase-grid {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: 1rem;
}

.category-list-stack {
    display: grid;
    gap: 0.85rem;
}

.category-list-item {
    background: #fff;
    border: 1px solid rgba(17, 24, 39, 0.06);
}

.sidebar-widget {
    padding: 1.25rem;
    margin-bottom: 1rem;
}

.sticky-column {
    position: sticky;
    top: 112px;
}

.widget-title {
    font-size: 1.15rem;
    font-weight: 800;
    margin-bottom: 1rem;
}

.trending-item {
    padding-left: 0;
    padding-right: 0;
    border-bottom: 1px solid var(--theme-border);
    border-radius: 0;
}

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

.thumb-list-item {
    background: #fff;
    border: 1px solid rgba(17, 24, 39, 0.05);
}

.ad-box,
.ad-slot {
    background: linear-gradient(135deg, rgba(200, 16, 46, 0.08), rgba(255, 255, 255, 0.92));
    border: 1px dashed rgba(200, 16, 46, 0.35);
    border-radius: 1.3rem;
    padding: 1rem;
    text-align: center;
    color: #941127;
}

.article-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 1.5rem;
}

.article-main-card {
    overflow: hidden;
}

.article-head {
    padding: 2rem 2rem 1rem;
}

.article-cover {
    height: 500px;
}

.article-content {
    padding: 2rem;
}

.article-main-title {
    font-size: clamp(2rem, 4vw, 3rem);
    margin: 0.8rem 0 1rem;
}

.article-summary {
    font-size: 1.05rem;
    line-height: 1.8;
    margin-bottom: 1.25rem;
}

.article-body {
    font-size: 1.08rem;
}

.article-author-card {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid rgba(17, 24, 39, 0.06);
    border-radius: 1.25rem;
    background: linear-gradient(180deg, #fff, #fff9fa);
}

.article-author-card img,
.directory-photo,
.journalist-mini-card img {
    width: 82px;
    height: 82px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(200, 16, 46, 0.14);
}

.directory-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.directory-card {
    padding: 1.25rem;
    text-align: center;
}

.directory-card h3 {
    font-size: 1.15rem;
    margin: 0.9rem 0 0.35rem;
}

.directory-meta {
    font-size: 0.92rem;
    margin-bottom: 0.65rem;
}

.directory-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.directory-links a {
    text-decoration: none;
    color: var(--theme-primary);
    font-weight: 700;
}

.pagination-wrap {
    margin-top: 1.5rem;
}

.site-footer {
    background: radial-gradient(circle at top, rgba(200, 16, 46, 0.18), transparent 26%), var(--theme-footer);
    color: rgba(255, 255, 255, 0.92);
    padding: 4rem 0 2rem;
}

.footer-grid {
    margin-bottom: 2rem;
}

.footer-panel {
    padding: 1.5rem;
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.92);
}

.footer-panel h3,
.footer-journalist-head h4,
.footer-brand-lockup h3 {
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 0.75rem;
}

.footer-panel-icon {
    width: 48px;
    height: 48px;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.08);
    display: grid;
    place-items: center;
    font-size: 1.35rem;
    margin-bottom: 1rem;
}

.footer-subtitle {
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.92rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.app-store-buttons,
.footer-social-row,
.footer-inline-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.app-store-btn,
.social-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 1rem;
    border-radius: 999px;
    text-decoration: none;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-journalist-block {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 2rem 0;
    margin-bottom: 1.5rem;
}

.footer-journalist-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.journalist-mini-card {
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
}

.journalist-mini-card h5 {
    font-size: 1rem;
    margin: 0 0 0.15rem;
}

.footer-bottom-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.76);
}

.footer-inline-links a {
    color: rgba(255, 255, 255, 0.86);
    text-decoration: none;
}

@media (max-width: 1399.98px) {
    .directory-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .brand-shell,
    .article-layout,
    .category-showcase-grid {
        grid-template-columns: 1fr;
    }

    .header-utility-wrap {
        flex-direction: column;
        align-items: stretch;
    }

    .sticky-column {
        position: static;
    }

    .directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .top-meta-inner {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 0.6rem 0;
    }

    .brand-logo-image,
    .brand-logo-badge {
        width: 66px;
        height: 66px;
    }

    .hero-slide-image {
        height: 420px;
    }

    .nav-dropdown-menu {
        min-width: auto;
    }
}

@media (max-width: 767.98px) {
    .news-ticker-inner,
    .footer-bottom-bar,
    .footer-journalist-head {
        flex-direction: column;
        align-items: stretch;
    }

    .ticker-label {
        width: 100%;
        justify-content: center;
    }

    .brand-shell {
        padding-top: 0.9rem;
        padding-bottom: 0.9rem;
    }

    .brand-logo {
        align-items: flex-start;
    }

    .hero-overlay-body,
    .article-head,
    .article-content,
    .story-split-body {
        padding: 1.25rem;
    }

    .hero-side-item,
    .thumb-list-item,
    .trending-item,
    .category-list-item,
    .related-item {
        grid-template-columns: 96px 1fr;
    }

    .news-card-thumb,
    .article-cover {
        height: auto;
        min-height: 220px;
    }

    .directory-grid {
        grid-template-columns: 1fr;
    }
}
/* === 2026-04 responsive redesign overrides === */
.site-main {
    background:
        radial-gradient(circle at top right, rgba(200, 16, 46, 0.06), transparent 26%),
        linear-gradient(180deg, #fffdfd 0%, #f8fafc 100%);
}

.section-block {
    margin-top: 2.25rem;
}

.hero-main-elevated,
.feature-lead-card,
.latest-lead-card,
.news-card-soft,
.article-shell,
.article-aside-card {
    box-shadow: 0 1.25rem 3rem rgba(15, 23, 42, 0.08);
}

.hero-main-elevated {
    border-radius: 1.75rem;
}

.hero-main-elevated .carousel-control-prev,
.hero-main-elevated .carousel-control-next {
    width: 52px;
    height: 52px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(10px);
}

.hero-main-elevated .carousel-control-prev {
    left: 1rem;
}

.hero-main-elevated .carousel-control-next {
    right: 1rem;
}

.home-hero-grid,
.home-content-grid,
.article-page-grid,
.featured-news-grid {
    display: grid;
    gap: 1.4rem;
}

.home-hero-grid {
    grid-template-columns: minmax(0, 1.45fr) 390px;
    align-items: start;
}

.home-hero-sidebar,
.home-sidebar-stack,
.article-sidebar-stack {
    display: grid;
    gap: 1rem;
}

.spotlight-widget,
.bulletin-widget,
.journalist-desk-widget,
.article-aside-card {
    background: linear-gradient(180deg, #ffffff 0%, #fff9fa 100%);
}

.bulletin-card {
    padding: 1rem 1rem 0.85rem;
    border-radius: 1.2rem;
    background: linear-gradient(135deg, rgba(200, 16, 46, 0.06), rgba(255, 255, 255, 0.98));
    border: 1px solid rgba(200, 16, 46, 0.08);
    margin-bottom: 0.95rem;
}

.bulletin-card h3,
.feature-lead-body h2,
.latest-lead-body h2 {
    font-size: 1.45rem;
    line-height: 1.3;
    margin: 0.8rem 0 0.75rem;
}

.bulletin-card a,
.feature-lead-body a,
.latest-lead-body a {
    color: inherit;
    text-decoration: none;
}

.bulletin-list {
    display: grid;
    gap: 0.8rem;
}

.bulletin-item {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    color: #111827;
    text-decoration: none;
    font-weight: 600;
    line-height: 1.55;
}

.bulletin-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--theme-primary);
    flex-shrink: 0;
    margin-top: 0.45rem;
}

.featured-news-grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
}

.feature-lead-card,
.latest-lead-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.05);
    border-radius: 1.6rem;
}

.feature-lead-media,
.latest-lead-media {
    width: 100%;
    height: 320px;
    object-fit: cover;
}

.feature-lead-body,
.latest-lead-body {
    padding: 1.3rem 1.35rem 1.45rem;
}

.feature-stack {
    display: grid;
    gap: 1rem;
}

.compact-news-card {
    display: grid;
    grid-template-columns: 116px 1fr;
    gap: 0.9rem;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 1.25rem;
    padding: 0.85rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.compact-news-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 1rem 2rem rgba(15, 23, 42, 0.08);
}

.compact-news-card img {
    width: 100%;
    height: 92px;
    object-fit: cover;
    border-radius: 0.95rem;
}

.home-content-grid {
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: start;
}

.latest-news-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.latest-lead-card {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    align-items: stretch;
}

.latest-lead-media {
    height: 100%;
    min-height: 280px;
}

.news-card-soft {
    background: linear-gradient(180deg, #ffffff 0%, #fffefe 100%);
}

.journalist-desk-list {
    display: grid;
    gap: 0.9rem;
}

.journalist-desk-item {
    display: flex;
    gap: 0.85rem;
    align-items: center;
    padding: 0.9rem;
    border-radius: 1.15rem;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.journalist-desk-item img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(200, 16, 46, 0.12);
}

.category-showcase-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: 1.1rem;
}

.article-page-grid {
    grid-template-columns: minmax(0, 1fr) 340px;
    align-items: start;
}

.article-shell {
    background: linear-gradient(180deg, #ffffff 0%, #fffdfd 100%);
    border-radius: 1.8rem;
}

.article-shell-head {
    padding-bottom: 1.35rem;
}

.article-topline,
.article-meta-strip,
.article-meta-author,
.article-quick-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    align-items: center;
}

.article-topline {
    justify-content: space-between;
}

.article-flag,
.article-action-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border-radius: 999px;
    padding: 0.5rem 0.95rem;
}

.article-flag {
    background: rgba(200, 16, 46, 0.08);
    color: var(--theme-primary);
    font-weight: 700;
}

.article-meta-strip {
    justify-content: space-between;
    padding-top: 0.25rem;
    padding-bottom: 0.2rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.article-meta-author {
    color: #475569;
    font-size: 0.95rem;
}

.article-action-pill {
    background: #fff3f5;
    color: #a80f28;
    text-decoration: none;
    font-weight: 700;
}

.article-cover-wrap {
    padding: 0 2rem;
}

.article-cover {
    border-radius: 1.5rem;
    box-shadow: 0 1rem 2rem rgba(15, 23, 42, 0.08);
}

.article-content-shell {
    padding-top: 1.5rem;
}

.article-reading-note {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.7rem 1rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.04);
    color: #475569;
    margin-bottom: 1.2rem;
}

.article-body {
    font-size: 1.08rem;
    line-height: 2;
    color: #243041;
}

.article-aside-card {
    border-radius: 1.45rem;
}

.article-author-compact {
    padding: 0;
    border: 0;
    background: transparent;
}

.article-info-list {
    display: grid;
    gap: 0.85rem;
}

.article-info-list div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px dashed rgba(15, 23, 42, 0.1);
    padding-bottom: 0.85rem;
}

.article-info-list div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.article-info-list span {
    color: #64748b;
}

.footer-journalist-block {
    padding: 1.5rem 1.6rem;
    border-radius: 1.6rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(200, 16, 46, 0.12));
}

.footer-journalist-head {
    margin-bottom: 0;
}

.footer-journalist-note {
    max-width: 520px;
}

@media (max-width: 1199.98px) {
    .home-hero-grid,
    .home-content-grid,
    .featured-news-grid,
    .article-page-grid,
    .latest-lead-card {
        grid-template-columns: 1fr;
    }

    .home-sidebar-column {
        order: 2;
    }
}

@media (max-width: 991.98px) {
    .hero-slide-image {
        height: 380px;
    }

    .feature-lead-media,
    .latest-lead-media {
        height: 280px;
    }

    .article-cover-wrap {
        padding: 0 1.25rem;
    }
}

@media (max-width: 767.98px) {
    .latest-news-grid,
    .category-showcase-grid {
        grid-template-columns: 1fr;
    }

    .compact-news-card,
    .hero-side-item,
    .thumb-list-item,
    .related-item,
    .category-list-item {
        grid-template-columns: 92px 1fr;
    }

    .hero-main-elevated .carousel-control-prev,
    .hero-main-elevated .carousel-control-next {
        width: 42px;
        height: 42px;
    }

    .bulletin-card h3,
    .feature-lead-body h2,
    .latest-lead-body h2 {
        font-size: 1.22rem;
    }

    .article-meta-strip {
        align-items: flex-start;
    }

    .article-cover-wrap,
    .article-head,
    .article-content {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .footer-journalist-block {
        padding: 1.2rem;
    }
}
/* === 2026-04-18 homepage final layout pass === */
.home-page .section-block {
    margin-top: clamp(1.6rem, 3vw, 2.6rem);
}

.home-page .section-block:first-of-type {
    margin-top: 1.35rem;
}

.home-page .section-heading {
    margin-bottom: 1.25rem;
}

.home-hero-grid,
.home-content-grid,
.featured-news-grid,
.latest-news-grid,
.category-showcase-grid {
    align-items: start;
}

.home-hero-grid > *,
.home-content-grid > *,
.featured-news-grid > *,
.latest-news-grid > *,
.category-showcase-grid > * {
    min-width: 0;
}

.home-hero-grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 390px);
}

.home-content-grid {
    grid-template-columns: minmax(0, 1fr) 360px;
}

.home-hero-sidebar,
.home-sidebar-stack {
    display: grid;
    gap: 1rem;
}

.hero-main-elevated,
.spotlight-widget,
.bulletin-widget,
.feature-lead-card,
.latest-lead-card,
.news-card-soft,
.home-sidebar-column .sidebar-widget {
    border-radius: 1.6rem;
}

.hero-main-elevated {
    background: linear-gradient(180deg, #ffffff 0%, #fff8f8 100%);
    box-shadow: 0 1.5rem 3rem rgba(15, 23, 42, 0.08);
}

.hero-overlay {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.05) 0%, rgba(15, 23, 42, 0.78) 58%, rgba(15, 23, 42, 0.92) 100%);
}

.hero-overlay-body {
    max-width: min(80%, 760px);
    padding: clamp(1.4rem, 3vw, 2.2rem);
}

.hero-side-item,
.thumb-list-item,
.category-list-item,
.compact-news-card {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.hero-side-item strong,
.thumb-list-item strong,
.category-list-item strong,
.compact-news-card strong,
.bulletin-item span:last-child {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.featured-news-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr);
}

.feature-lead-card,
.latest-lead-card {
    background: #fff;
    overflow: hidden;
}

.feature-lead-media,
.latest-lead-media,
.news-card-soft .news-card-thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.latest-lead-card {
    align-items: stretch;
}

.feature-lead-body,
.latest-lead-body,
.news-card-soft .news-card-body,
.home-sidebar-column .sidebar-widget,
.spotlight-widget,
.bulletin-widget {
    padding: 1.25rem;
}

.news-card-soft .news-card-body {
    display: grid;
    gap: 0.35rem;
}

.news-card-title a:hover,
.feature-lead-body a:hover,
.latest-lead-body a:hover,
.bulletin-card a:hover,
.compact-news-card:hover strong,
.hero-side-item:hover strong,
.thumb-list-item:hover strong,
.category-list-item:hover strong {
    color: var(--theme-primary);
}

.compact-news-card,
.journalist-desk-item {
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.journalist-desk-item:hover {
    transform: translateY(-2px);
    border-color: rgba(200, 16, 46, 0.18);
    box-shadow: 0 1rem 2rem rgba(15, 23, 42, 0.08);
}

.category-list-stack {
    gap: 1rem;
}

.section-chip {
    border: 1px solid rgba(200, 16, 46, 0.1);
}

@media (max-width: 1399.98px) {
    .home-hero-grid {
        grid-template-columns: minmax(0, 1.45fr) 350px;
    }

    .home-content-grid {
        grid-template-columns: minmax(0, 1fr) 330px;
    }
}

@media (max-width: 1199.98px) {
    .home-hero-grid,
    .home-content-grid,
    .featured-news-grid,
    .latest-lead-card,
    .category-showcase-grid {
        grid-template-columns: 1fr;
    }

    .home-sidebar-column {
        max-width: none;
    }
}

@media (max-width: 991.98px) {
    .home-page .section-block {
        margin-top: 1.7rem;
    }

    .hero-slide-image {
        height: 420px;
    }

    .hero-overlay-body {
        max-width: 100%;
    }

    .feature-lead-media,
    .latest-lead-media {
        min-height: 260px;
    }
}

@media (max-width: 767.98px) {
    .home-page .section-block {
        margin-top: 1.45rem;
    }

    .hero-slide-image {
        height: 340px;
    }

    .hero-title {
        font-size: clamp(1.55rem, 7vw, 2.2rem);
    }

    .feature-lead-body,
    .latest-lead-body,
    .news-card-soft .news-card-body,
    .home-sidebar-column .sidebar-widget,
    .spotlight-widget,
    .bulletin-widget {
        padding: 1rem;
    }

    .compact-news-card,
    .hero-side-item,
    .thumb-list-item,
    .related-item,
    .category-list-item {
        grid-template-columns: 88px 1fr;
        padding: 0.75rem;
    }

    .hero-main-elevated,
    .spotlight-widget,
    .bulletin-widget,
    .feature-lead-card,
    .latest-lead-card,
    .news-card-soft,
    .home-sidebar-column .sidebar-widget {
        border-radius: 1.25rem;
    }
}
/* === 2026-04-18 compact header-footer cleanup === */
.brand-shell-compact {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.8rem 0 0.7rem;
}

.brand-shell-compact .brand-logo {
    gap: 0.85rem;
    align-items: center;
}

.brand-shell-compact .brand-copy {
    gap: 0.15rem;
}

.brand-shell-compact .brand-mark {
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
}

.brand-shell-compact .brand-tagline {
    font-size: 0.95rem;
}

.site-main {
    padding-bottom: 2rem;
}

.section-block {
    margin-top: 1.45rem;
}

.section-block-tight {
    margin-top: 1rem !important;
}

.home-page .section-block:first-of-type,
.article-page .section-block:first-of-type,
.journalists-page .section-block:first-of-type {
    margin-top: 1rem;
}

.home-page .section-heading {
    margin-bottom: 0.95rem;
}

.header-ad-wrap,
.footer-ad-wrap {
    margin-top: 0.35rem;
    margin-bottom: 0.35rem;
}

.site-footer {
    padding: 2.2rem 0 1rem;
}

.footer-panel {
    padding: 1.35rem;
    border-radius: 1.35rem;
}

.footer-grid {
    align-items: stretch;
}

.footer-journalist-block {
    padding: 1rem 1.2rem;
    margin: 1rem 0 0.85rem;
}

.footer-access-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0;
}

.footer-access-head .footer-muted {
    max-width: 520px;
}

.footer-access-actions .btn {
    min-width: 148px;
}

.footer-bottom-bar {
    margin-top: 0.9rem;
    padding-top: 0.9rem;
}

.directory-card {
    padding: 1.4rem 1.2rem;
}

.directory-links {
    margin-top: 0.8rem;
}

.article-page-grid {
    gap: 1.25rem;
}

.article-shell-head {
    padding-bottom: 1.1rem;
}

.article-author-card {
    padding: 1rem;
}

@media (max-width: 991.98px) {
    .brand-shell-compact .brand-logo {
        align-items: flex-start;
    }

    .footer-access-head {
        flex-direction: column;
        align-items: stretch;
    }

    .footer-access-actions .btn {
        flex: 1 1 180px;
    }
}

@media (max-width: 767.98px) {
    .brand-shell-compact {
        padding: 0.7rem 0 0.6rem;
    }

    .brand-shell-compact .brand-logo {
        gap: 0.7rem;
    }

    .brand-shell-compact .brand-mark {
        font-size: 1.7rem;
    }

    .section-block {
        margin-top: 1.2rem;
    }

    .site-footer {
        padding-top: 1.7rem;
    }

    .footer-panel {
        padding: 1.1rem;
    }

    .footer-journalist-block {
        padding: 0.95rem;
    }

    .footer-access-actions {
        width: 100%;
    }

    .footer-access-actions .btn {
        width: 100%;
        min-width: 0;
    }
}

/* === 2026-04-22 header/footer/home redesign === */
.site-rail-ad {
    position: fixed;
    top: 160px;
    width: min(160px, 11vw);
    z-index: 12;
}

.site-rail-left {
    left: 16px;
}

.site-rail-right {
    right: 16px;
}

.site-rail-ad > * {
    width: 100%;
}

.brand-banner-shell {
    display: grid;
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
    gap: 1.2rem;
    align-items: center;
    padding: 1rem 0;
}

.brand-logo-panel {
    padding: 1rem 1.1rem;
    border-radius: 1.5rem;
    background: linear-gradient(180deg, #ffffff 0%, #fff7f7 100%);
    border: 1px solid rgba(17, 24, 39, 0.05);
    box-shadow: 0 1rem 2.6rem rgba(15, 23, 42, 0.07);
}

.brand-banner-panel {
    min-width: 0;
}

.brand-banner-ad,
.brand-banner-placeholder {
    min-height: 112px;
    border-radius: 1.5rem;
    border: 1px solid rgba(17, 24, 39, 0.06);
    background: #fff;
    box-shadow: 0 1rem 2.4rem rgba(15, 23, 42, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    overflow: hidden;
}

.brand-banner-ad > * {
    width: 100%;
    max-width: 100%;
}

.brand-banner-placeholder {
    flex-direction: column;
    gap: 0.35rem;
    color: #64748b;
    text-align: center;
}

.brand-banner-placeholder span {
    font-weight: 800;
    color: #0f172a;
}

.brand-logo-panel .brand-description {
    font-size: 0.9rem;
}

.home-page .site-main {
    background:
        radial-gradient(circle at top right, rgba(200, 16, 46, 0.06), transparent 24%),
        linear-gradient(180deg, #fffdfd 0%, #f8fafc 100%);
}

.news-surface-grid,
.home-editorial-grid,
.headline-strip-grid {
    align-items: start;
}

.headline-strip-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.headline-strip-card {
    display: grid;
    gap: 0.7rem;
    padding: 1rem 1.05rem;
    text-decoration: none;
    color: inherit;
    border-radius: 1.3rem;
    background: linear-gradient(180deg, #ffffff 0%, #fff8f8 100%);
    border: 1px solid rgba(17, 24, 39, 0.05);
    box-shadow: 0 1rem 2rem rgba(15, 23, 42, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.headline-strip-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 1.2rem 2.6rem rgba(15, 23, 42, 0.1);
}

.home-editorial-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 1.5rem;
}

.home-main-column {
    display: grid;
    gap: 1.5rem;
}

.section-panel {
    padding: 1.2rem;
    border-radius: 1.6rem;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(17, 24, 39, 0.05);
    box-shadow: 0 1rem 2.8rem rgba(15, 23, 42, 0.06);
}

.modern-widget {
    padding: 1.1rem;
}

.hero-main-modern {
    border-radius: 1.8rem;
}

.editorial-featured-grid {
    grid-template-columns: minmax(0, 1.22fr) minmax(260px, 0.78fr);
    gap: 1.2rem;
}

.editorial-latest-grid {
    gap: 1.1rem;
}

.editorial-latest-lead,
.editorial-lead-card {
    box-shadow: none;
}

.home-inline-ad {
    margin: 0;
    padding: 1rem;
    border-radius: 1.5rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(17, 24, 39, 0.06);
    box-shadow: 0 1rem 2rem rgba(15, 23, 42, 0.05);
}

.home-inline-ad > * {
    width: 100%;
}

.bulletin-item-card {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.9rem 0.95rem;
    border-radius: 1rem;
    background: #fff5f6;
    border: 1px solid rgba(200, 16, 46, 0.08);
}

.site-footer {
    padding: 2.3rem 0 1.2rem;
}

.footer-shell-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr 0.85fr 1fr;
    gap: 1rem;
}

.footer-brand-compact {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.footer-fallback-badge {
    width: 64px;
    height: 64px;
    font-size: 1.4rem;
}

.footer-about-copy {
    line-height: 1.8;
}

.compact-store-buttons {
    gap: 0.7rem;
}

.compact-store-buttons .app-store-btn {
    flex: 1 1 160px;
}

@media (max-width: 1599.98px) {
    .site-rail-ad {
        display: none;
    }
}

@media (max-width: 1199.98px) {
    .brand-banner-shell,
    .home-editorial-grid,
    .headline-strip-grid,
    .footer-shell-grid,
    .editorial-featured-grid {
        grid-template-columns: 1fr;
    }

    .brand-banner-panel {
        order: 2;
    }
}

@media (max-width: 767.98px) {
    .brand-logo-panel {
        padding: 0.95rem;
    }

    .brand-banner-ad,
    .brand-banner-placeholder {
        min-height: 88px;
        border-radius: 1.2rem;
    }

    .section-panel,
    .headline-strip-card,
    .home-inline-ad {
        padding: 1rem;
        border-radius: 1.25rem;
    }
}

/* === 2026-04-22 final polish === */
.footer-journalist-block,
.footer-journalist-head,
.footer-journalist-note {
    display: none !important;
}

.brand-banner-shell {
    gap: 1rem;
    padding: 0.85rem 0;
}

.brand-logo-panel {
    padding: 0.8rem 1rem;
}

.brand-banner-panel,
.brand-banner-placeholder {
    min-height: 132px;
}

.brand-banner-ad,
.brand-banner-ad iframe,
.brand-banner-ad img,
.brand-banner-ad ins {
    width: 100%;
    max-width: 100%;
    display: block;
}

.section-block {
    margin-top: 1.1rem;
}

.home-page .section-block:first-of-type {
    margin-top: 0.75rem;
}

.headline-strip-grid {
    gap: 0.85rem;
}

.home-editorial-grid,
.home-main-column,
.home-sidebar-stack {
    gap: 1.25rem;
}

.site-footer {
    padding: 1.9rem 0 0.95rem !important;
}

.footer-shell-grid {
    gap: 0.9rem;
}

.footer-panel {
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.14);
}

.footer-panel h3 {
    margin-bottom: 0.6rem;
}

.footer-panel p {
    margin-bottom: 0.45rem;
}

.footer-about-copy {
    margin-top: 0.75rem;
}

.footer-social-row {
    gap: 0.5rem;
}

.footer-access-title {
    margin-top: 1rem;
}

.footer-access-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.55rem;
}

.footer-login-btn {
    justify-content: center;
}

.footer-bottom-bar {
    margin-top: 0.75rem !important;
    padding-top: 0.85rem !important;
}

@media (max-width: 1199.98px) {
    .brand-banner-shell {
        grid-template-columns: 1fr;
    }

    .brand-banner-panel {
        order: 2;
    }
}

@media (max-width: 767.98px) {
    .brand-banner-shell {
        gap: 0.75rem;
        padding: 0.7rem 0;
    }

    .brand-logo-panel,
    .brand-banner-placeholder,
    .footer-panel {
        padding: 1rem;
    }

    .footer-access-inline,
    .compact-store-buttons {
        display: grid;
        grid-template-columns: 1fr;
    }

    .footer-login-btn,
    .compact-store-buttons .app-store-btn {
        width: 100%;
    }
}