/* Global Font & Reset */
@font-face {
    font-family: 'Noto Sans Devanagari';
    font-style: normal;
    font-weight: 400 700;
    font-stretch: 100%;
    /* `optional` pairs with the preload in partials/header.php: font usually
       paints first; if it misses the deadline, fallback metrics below keep
       line-box height stable so no swap reflow ever fires. Avoids the
       0.3 CLS cluster (utility-bar -> branding-row -> nav -> main cascade). */
    font-display: optional;
    size-adjust: 105%;
    ascent-override: 100%;
    descent-override: 30%;
    line-gap-override: 0%;
    src: local('Noto Sans Devanagari'), url('/assets/fonts/NotoSansDevanagari.woff2') format('woff2');
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

body {
    font-family: 'Noto Sans Devanagari', sans-serif;
}

/* --- Utility Classes --- */
.w-40px { width: 40px !important; }
.h-40px { height: 40px !important; }
.w-150px { width: 150px !important; }
.h-150px { height: 150px !important; }
.fs-3rem { font-size: 3rem !important; }

.avatar-lg {
    width: 64px;
    height: 64px;
    object-fit: cover;
}
.avatar-lg-placeholder {
    width: 64px;
    height: 64px;
    font-size: 2rem;
}

/* Header Branding & Logo Control */
.header-logo-img {
    max-height: 48px;
    width: auto;
    display: block;
}

.header-mobile-logo-img {
    max-height: 40px;
    width: auto;
    display: block;
}

/* Ensure mobile header wrapper stays sane */
.mobile-brand {
    display: flex;
    align-items: center;
}

.brand-logo .site-title {
    font-size: 36px;
    line-height: 1;
}

/* Utility/Header row sizing */
.utility-bar { min-height: 28px; }
.branding-row { min-height: 72px; }

/* Reading progress bar */
.reading-progress-bar-locked {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--ntcms-color-primary, #c8242e);
    z-index: 1030;
    transition: width 120ms linear;
}

/* Ensure images never exceed desired height */
.brand-logo picture img.header-logo-img {
    max-height: 48px !important;
    height: auto;
    width: auto;
}

@media (max-width: 1199.98px) {
    .brand-logo picture img.header-logo-img { max-height: 44px !important; }
}

@media (max-width: 991.98px) {
    .brand-logo picture img.header-logo-img { max-height: 32px !important; }
    .header-mobile-logo-img { max-height: 32px !important; }
    .mobile-brand .site-title { font-size: 24px !important; line-height: 1; }
}

/* Custom Sticky Header - Initially Hidden */
#customStickyHeader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    z-index: 1020;
    display: none; /* Hidden by default to prevent LCP confusion */
}

/* Show Sticky Header when active */
#customStickyHeader.visible {
    display: block;
    animation: slideDownHeader 0.3s ease-in-out;
}

@keyframes slideDownHeader {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}

/* Sticky Header Branding */
.sticky-brand img {
    height: 30px;
    width: auto;
}

/* Live TV Button in Sticky Header */
.btn-xs {
    padding: 0.1rem 0.5rem;
    font-size: 0.75rem;
}
.h-28px {
    height: 28px;
}
.w-05rem {
    width: 0.5rem;
}
.h-05rem {
    height: 0.5rem;
}

/* Mega Menu Styles */
.navigation-row {
    background-color: #fff;
    border-top: 1px solid #e9ecef;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    position: relative; /* Context for mega menu */
    z-index: 1040;
}

.navbar-nav .nav-link {
    color: #000;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.85rem;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    letter-spacing: 0.5px;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: #cc0000; /* News red */
}

.ntcms-header .navbar-nav .dropdown:hover > .dropdown-menu {
    display: block;
}

/* -------------------------------------------------------------------------- */

/* --- Footer Styles --- */
.ntcms-footer {
    background-color: #111 !important;
    color: #fff !important;
    font-family: var(--bs-body-font-family);
    font-size: 0.9rem; /* Fix: Enforce compact font size */
}

.bg-dark-footer {
    background-color: #111 !important;
}

.footer-branding-wrapper {
    border-top: 1px solid #333 !important;
    padding-top: 3rem;
    margin-top: 1rem;
    position: relative;
}

.footer-logo-bg {
    background-color: #111 !important; /* Matches footer bg to hide border */
    padding: 0 1rem;
}

.footer-logo-img {
    max-height: 40px;
    width: auto;
    display: block;
}

.footer-link {
    color: #bbb !important;
    text-decoration: none;
    transition: color 0.2s;
    font-size: 0.9rem;
}

.footer-link:hover {
    color: #fff !important;
    text-decoration: underline;
}

.footer-heading {
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 1.2rem;
    letter-spacing: 1px;
    color: #fff !important;
    font-size: 0.75rem; /* Crisp, small headers */
}

.social-links a {
    color: #fff;
    display: inline-flex;
    font-size: 1.2rem;
    height: 40px;
    align-items: center;
    justify-content: center;
    line-height: 1;
    margin: 0 !important;
    min-width: 40px;
    min-height: 40px;
    transition: opacity 0.2s;
    width: 40px;
}

.social-links a i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    min-width: 1em;
    min-height: 1em;
    line-height: 1;
}

.social-links a:hover {
    opacity: 0.8;
}


.footer-legal-links {
    font-size: 0.8rem;
    opacity: 0.8;
}

.footer-legal-links a {
    color: #aaa;
    text-decoration: none;
    margin: 0 5px;
}

.footer-legal-links a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Site Title styling fallback */
.site-title {
    font-family: 'Playfair Display', serif; /* Newspaper style font */
    color: #000;
    line-height: 1.2;
}

/* --- Mobile Menu Styles --- */
.hamburger-icon {
    width: 24px;
    height: 18px;
    position: relative;
    transform: rotate(0deg);
    transition: .5s ease-in-out;
    cursor: pointer;
    display: block;
}

.hamburger-icon span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: #000;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}

.hamburger-icon span:nth-child(1) {
    top: 0px;
}

.hamburger-icon span:nth-child(2) {
    top: 8px;
}

.hamburger-icon span:nth-child(3) {
    top: 16px;
}

.navbar-toggler[aria-expanded="true"] .hamburger-icon span:nth-child(1) {
    top: 8px;
    transform: rotate(135deg);
}

.navbar-toggler[aria-expanded="true"] .hamburger-icon span:nth-child(2) {
    opacity: 0;
    left: -60px;
}

.navbar-toggler[aria-expanded="true"] .hamburger-icon span:nth-child(3) {
    top: 8px;
    transform: rotate(-135deg);
}

.offcanvas-mobile-width {
    width: 300px !important;
}

.place-navigation-drawer {
    width: min(25rem, calc(100vw - 1.5rem));
}

.place-navigation-drawer .offcanvas-header {
    background: #fff;
    padding: 1.5rem 1.5rem 1.25rem;
}

.place-navigation-drawer .offcanvas-title {
    color: #111827;
    font-size: 1.95rem;
    font-weight: 800;
    line-height: 1.2;
}

.place-navigation-drawer__search-shell,
.place-navigation-drawer__section {
    background: #fff;
}

.place-navigation-drawer__search-shell {
    padding: 1.25rem 1.5rem;
}

.place-navigation-drawer__search {
    position: relative;
}

.place-navigation-drawer__search-input {
    min-height: 4.25rem;
    padding: 1rem 4.5rem 1rem 1.25rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0;
    color: #111827;
    font-size: 1.05rem;
    box-shadow: none;
}

.place-navigation-drawer__search-input::placeholder {
    color: #9ca3af;
}

.place-navigation-drawer__search-input:focus {
    border-color: rgba(17, 24, 39, 0.24);
    box-shadow: none;
}

.place-navigation-drawer__search-icon {
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    color: #6b7280;
    font-size: 1.7rem;
    pointer-events: none;
}

.place-navigation-drawer__section-title {
    padding: 1.25rem 1.5rem 0.9rem;
    color: #1f2937;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0;
}

.place-navigation-drawer__top-cities {
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.place-drawer-accordion .accordion-button {
    min-height: 4.1rem;
    padding: 1rem 1.5rem;
    font-weight: 700;
    color: #1f2937;
    background: #fff;
    box-shadow: none;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.place-drawer-accordion .accordion-button::after {
    display: none;
}

.place-drawer-accordion .accordion-button:not(.collapsed) {
    background: #343a40;
    color: #fff;
}

.place-drawer__button,
.place-drawer__link,
.place-drawer__all-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    min-height: 4.1rem;
    padding: 1rem 1.5rem;
    text-decoration: none;
}

.place-drawer__entry-row {
    display: flex;
    align-items: stretch;
    width: 100%;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.place-drawer__entry-row--top-city:first-child {
    border-top: 0;
}

.place-drawer__button--with-action,
.place-drawer__link--with-action {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

.place-drawer__follow-form {
    display: inline-flex;
    align-items: stretch;
    flex: 0 0 auto;
    padding-right: 1.5rem;
}

.place-drawer__follow-button {
    align-self: center;
    min-width: 6.75rem;
    min-height: 2.7rem;
    padding: 0.45rem 1rem;
    border-color: rgba(17, 24, 39, 0.14);
    color: #9ca3af;
    font-size: 0.98rem;
    font-weight: 500;
    white-space: nowrap;
    box-shadow: none;
}

.place-drawer__link,
.place-drawer__all-link {
    color: #111827;
    border-bottom: 0;
}

.place-drawer__link:hover,
.place-drawer__all-link:hover {
    background: #f8fafc;
    color: #111827;
}

.place-drawer__link--active,
.place-drawer__all-link--active {
    background: #fff1ed;
    color: #b42318;
    font-weight: 700;
}

.place-drawer__all-link {
    padding-left: 1.25rem;
    font-weight: 700;
}

.place-drawer__all-link--nested {
    padding-left: 1.6rem;
}

.place-drawer__child {
    padding-left: 0;
}

.place-drawer__child--level-1 {
    padding-left: 1.15rem;
}

.place-drawer__child--level-2 {
    padding-left: 2rem;
}

.place-drawer__child--level-3 {
    padding-left: 2.6rem;
}

.place-drawer__child--level-4 {
    padding-left: 3rem;
}

.place-drawer__label-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.place-drawer__label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1rem;
}

.place-drawer__count {
    flex-shrink: 0;
}

.place-drawer__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    color: inherit;
    flex-shrink: 0;
    font-size: 2rem;
    line-height: 1;
    font-weight: 400;
}

.place-drawer__toggle-icon {
    display: none;
}

.place-drawer__toggle-icon--plus {
    display: inline;
}

.accordion-button:not(.collapsed) .place-drawer__toggle-icon--plus {
    display: none;
}

.accordion-button:not(.collapsed) .place-drawer__toggle-icon--minus {
    display: inline;
}

.accordion-button .place-drawer__toggle-icon--minus {
    display: none;
}

@media (max-width: 767.98px) {
    .place-navigation-drawer {
        width: min(22rem, calc(100vw - 0.75rem));
    }

    .place-navigation-drawer .offcanvas-header {
        padding: 1.1rem 1.1rem 1rem;
    }

    .place-navigation-drawer .offcanvas-title {
        font-size: 1.7rem;
    }

    .place-navigation-drawer__search-shell {
        padding: 1rem 1.1rem;
    }

    .place-navigation-drawer__search-input {
        min-height: 3.7rem;
        padding-right: 4rem;
    }

    .place-navigation-drawer__section-title {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .place-drawer-accordion .accordion-button,
    .place-drawer__button,
    .place-drawer__link {
        min-height: 3.75rem;
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .place-drawer__follow-form {
        padding-right: 1.1rem;
    }

    .place-drawer__follow-button {
        min-width: 6rem;
        min-height: 2.45rem;
        font-size: 0.92rem;
    }
}

/* Mobile Search & User Styles */
.nav-live-btn {
    color: #dc3545;
    text-decoration: none;
    font-weight: bold;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* --- Sticky Video Player --- */
.sticky-video-active {
    position: fixed !important;
    bottom: 90px;
    right: 20px;
    width: 320px;
    height: 180px !important;
    z-index: 1060;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    border-radius: 8px;
    overflow: hidden;
    animation: slideUp 0.3s ease-out;
    background: #000;
}

.sticky-video-active .sticky-close-btn {
    display: block;
    /* Use icon font for close button if possible, but keep simple 'x' or icon */
    font-family: Arial, sans-serif; 
}

/* Ensure play icon is visible in non-sticky state if it's an overlay */
.video-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    pointer-events: none;
    width: 60px;
    height: 60px;
    background: rgba(204, 0, 0, 0.9); /* Red background */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
}

.video-play-icon::before {
    content: '';
    width: 0; 
    height: 0; 
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 16px solid white;
    margin-left: 4px; /* Optical center adjustment */
}

/* Hide play icon when video is playing or sticky */
.sticky-video-active .video-play-icon,
.video-playing .video-play-icon {
    display: none;
}

/* Disable bootstrap ratio pseudo-element when sticky */
.sticky-video-active::before {
    display: none !important;
    padding-top: 0 !important;
}

@keyframes slideUp {
    from { transform: translateY(100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.sticky-close-btn {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 24px;
    height: 24px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    border-radius: 50%;
    text-align: center;
    line-height: 22px;
    font-size: 18px;
    cursor: pointer;
    display: none; /* Hidden by default */
    z-index: 1070;
    border: 1px solid rgba(255,255,255,0.3);
}

.sticky-close-btn:hover {
    background: #cc0000;
    border-color: #cc0000;
}

.sticky-video-active .sticky-close-btn {
    display: block;
}

/* Ensure iframe/video fills the sticky container */
.sticky-video-active iframe,
.sticky-video-active video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

/* Mobile responsive */
@media (max-width: 576px) {
    .sticky-video-active {
        width: 200px;
        height: 112px !important; /* 16:9 aspect ratio */
        bottom: 70px; /* Above bottom nav if any */
        right: 10px;
    }
}

.article-thumb-hz {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
@media (max-width: 992px) {
    .article-thumb-hz {
        height: 160px;
    }
}
@media (max-width: 576px) {
    .article-thumb-hz {
        height: 140px;
    }
}

.article-hero-hz {
    width: 100%;
    aspect-ratio: 16/9;
    height: auto;
    object-fit: cover;
}

.editorial-curation-shell {
    position: relative;
    box-shadow: inset 0 -1px 0 rgba(17, 24, 39, 0.06);
}

.editorial-breaking-band {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.8rem 0 1rem;
    border-bottom: 1px solid rgba(17, 24, 39, 0.08);
}

.editorial-breaking-label {
    flex-shrink: 0;
    padding: 0.35rem 0.7rem;
    background: #b91c1c;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 999px;
}

.editorial-breaking-items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.editorial-breaking-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #111827;
    text-decoration: none;
    font-size: 0.96rem;
    font-weight: 600;
    line-height: 1.35;
}

.editorial-breaking-link:hover {
    color: #b91c1c;
}

.editorial-breaking-live-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #b91c1c;
    box-shadow: 0 0 0 6px rgba(185, 28, 28, 0.12);
    animation: breakingPulse 1.8s ease-out infinite;
    flex-shrink: 0;
}

.editorial-breaking-age {
    color: #6b7280;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.editorial-breaking-separator {
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.35);
    flex-shrink: 0;
}

.editorial-curation-heading {
    max-width: 220px;
}

.editorial-top-stories {
    padding-bottom: 0.4rem;
}

.editorial-top-stories-header {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.editorial-top-stories-line {
    height: 1px;
    flex: 1 1 auto;
    background: rgba(17, 24, 39, 0.12);
}

.editorial-top-story-card {
    display: flex;
    gap: 0.85rem;
    padding-top: 0.1rem;
    border-top: 1px solid rgba(17, 24, 39, 0.1);
}

.editorial-top-story-number {
    flex-shrink: 0;
    color: #b91c1c;
    font-family: 'Playfair Display', serif;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
}

.editorial-top-story-body {
    min-width: 0;
}

.editorial-top-story-title {
    margin: 0;
    font-family: 'Playfair Display', serif;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.35;
}

.editorial-top-story-title a:hover {
    color: #b91c1c !important;
}

.editorial-story-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.55rem;
}

.editorial-story-flag {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.18rem 0.45rem;
    border-radius: 999px;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.editorial-story-flag-live {
    background: rgba(185, 28, 28, 0.08);
    color: #b91c1c;
}

.editorial-story-flag-premium {
    background: rgba(217, 119, 6, 0.1);
    color: #92400e;
}

.editorial-pick-card {
    background: #fff;
    border-top: 3px solid #111827;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}

.editorial-pick-image {
    overflow: hidden;
    background: #f3f4f6;
}

.editorial-pick-image-tag {
    aspect-ratio: 16/10;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.editorial-pick-card:hover .editorial-pick-image-tag {
    transform: scale(1.03);
}

.editorial-pick-body {
    padding: 1rem 0.15rem 0.1rem;
}

.editorial-pick-meta {
    margin-bottom: 0.45rem;
    color: #6b7280;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.editorial-pick-title {
    margin: 0;
    font-family: 'Playfair Display', serif;
    font-size: 1.05rem;
    line-height: 1.35;
    font-weight: 700;
}

.editorial-pick-title a:hover {
    color: #b91c1c !important;
}

.homepage-grid-card {
    border-top: 3px solid #111827;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06) !important;
}

.homepage-grid-card-media {
    overflow: hidden;
    background: #f3f4f6;
}

.homepage-grid-card-image {
    transition: transform 0.35s ease;
}

.homepage-grid-card:hover .homepage-grid-card-image {
    transform: scale(1.03);
}

.homepage-grid-card-body {
    padding: 1rem 1rem 0.95rem;
}

.homepage-grid-card-kicker {
    display: inline-block;
    margin-bottom: 0.55rem;
    color: #6b7280;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.homepage-grid-card-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.08rem;
    line-height: 1.38;
    font-weight: 700;
}

.homepage-grid-card-title a:hover {
    color: #b91c1c !important;
}

.homepage-grid-card-date {
    padding-top: 0.45rem;
    border-top: 1px solid rgba(17, 24, 39, 0.08);
}

.homepage-feature-split-card {
    padding-top: 0.2rem;
}

.homepage-feature-split-title {
    font-size: 1.02rem;
    line-height: 1.42;
}

.homepage-feature-split-title a:hover {
    color: #b91c1c !important;
}

.homepage-feature-split-thumb .ratio {
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
}

.homepage-video-lead {
    border-top: 3px solid #111827;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08) !important;
}

.homepage-videos-section .homepage-section-title,
.homepage-videos-section .homepage-section-link {
    color: #111827 !important;
}

.homepage-video-lead-media,
.homepage-video-side-media {
    overflow: hidden;
}

.homepage-video-lead-image,
.homepage-video-side-image {
    transition: transform 0.35s ease;
}

.homepage-video-lead:hover .homepage-video-lead-image,
.homepage-video-side-card:hover .homepage-video-side-image {
    transform: scale(1.03);
}

.homepage-video-lead-body {
    padding: 1.1rem 1.1rem 1rem;
}

.homepage-video-lead-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.45rem;
    line-height: 1.25;
    font-weight: 700;
}

.homepage-video-lead-title a:hover,
.homepage-video-side-title a:hover {
    color: #b91c1c !important;
}

.homepage-video-side-card {
    border-left: 3px solid rgba(17, 24, 39, 0.9);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05) !important;
}

.homepage-video-side-body {
    padding-left: 0.85rem;
    padding-right: 0.9rem;
}

.homepage-video-side-title {
    font-family: 'Playfair Display', serif;
    font-size: 0.98rem;
    line-height: 1.35;
    font-weight: 700;
}

.homepage-grid-card-featured-col .homepage-grid-card {
    border-top-width: 4px;
    box-shadow: 0 22px 42px rgba(15, 23, 42, 0.1) !important;
}

.homepage-grid-card-featured-col .homepage-grid-card-image {
    height: 240px !important;
}

.homepage-grid-card-featured-col .homepage-grid-card-title {
    font-size: 1.22rem;
    line-height: 1.32;
}

.homepage-topic-card-featured-col .homepage-topic-card {
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.1) !important;
}

.homepage-topic-card-featured-col .homepage-topic-card-title {
    font-size: 1.2rem;
}

.homepage-opinion-grid-featured-col .homepage-opinion-grid-card {
    background: #f7f4ed !important;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
}

.homepage-opinion-grid-featured-col .homepage-opinion-grid-title {
    font-size: 1.18rem;
}

.homepage-visual-story-title:hover {
    color: #b91c1c !important;
}

.homepage-visual-shorts-section {
    background:
        linear-gradient(180deg, rgba(248, 246, 241, 0.85) 0%, rgba(255, 255, 255, 1) 100%) !important;
}

.homepage-visual-stories-rail {
    padding-top: 0.4rem;
}

.homepage-visual-story-item {
    width: min(240px, 58vw);
}

.homepage-visual-story-item-wide {
    width: min(360px, 100%);
    flex: 1 1 320px;
}

.homepage-visual-story-media {
    border-top: 3px solid #111827;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.homepage-visual-story-image {
    transition: transform 0.35s ease;
}

.homepage-visual-story-item:hover .homepage-visual-story-image {
    transform: scale(1.04);
}

.homepage-visual-story-title {
    font-family: 'Playfair Display', serif;
    font-size: 1rem !important;
    line-height: 1.28 !important;
    max-width: 24ch;
    text-wrap: balance;
}

.homepage-visual-story-title-shell {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.02) 0%, rgba(15, 23, 42, 0.74) 82%, rgba(15, 23, 42, 0.92) 100%);
}

.homepage-shorts-frame {
    box-shadow: 0 24px 54px rgba(15, 23, 42, 0.14) !important;
}

.homepage-short-card-media {
    height: 30%;
}

.homepage-short-card-body {
    min-height: 0;
}

.homepage-short-card-text {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 12;
    -webkit-box-orient: vertical;
}

.homepage-short-card-meta,
.homepage-short-card-time {
    font-size: 0.7rem;
}

.homepage-topic-card,
.homepage-latest-list-card,
.homepage-classic-card,
.homepage-opinion-grid-card {
    border-top: 3px solid #111827;
}

.homepage-topic-card {
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06) !important;
}

.homepage-topic-card-media {
    overflow: hidden;
    background: #f3f4f6;
}

.homepage-topic-card-image,
.homepage-latest-list-image,
.homepage-classic-card-image {
    transition: transform 0.35s ease;
}

.homepage-topic-card:hover .homepage-topic-card-image,
.homepage-latest-list-card:hover .homepage-latest-list-image,
.homepage-classic-card:hover .homepage-classic-card-image {
    transform: scale(1.03);
}

.homepage-topic-card-body {
    padding: 1rem 1rem 0.95rem;
}

.homepage-topic-card-title,
.homepage-classic-card-title,
.homepage-latest-list-title,
.homepage-opinion-grid-title {
    font-family: 'Playfair Display', serif;
}

.homepage-topic-card-title {
    font-size: 1.08rem;
    line-height: 1.3;
}

.homepage-topic-card-desc {
    line-height: 1.55;
}

.homepage-topic-card-link {
    letter-spacing: 0.12em;
}

.homepage-latest-list-card {
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06) !important;
}

.homepage-latest-list-media {
    overflow: hidden;
    background: #f3f4f6;
}

.homepage-latest-list-body {
    padding: 1.15rem 1.15rem 1rem;
}

.homepage-latest-list-kicker {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.homepage-latest-list-title {
    font-size: 1.22rem;
    line-height: 1.35;
}

.homepage-latest-list-title a:hover,
.homepage-classic-card-title a:hover,
.homepage-opinion-grid-title a:hover,
.homepage-topic-card:hover .homepage-topic-card-title {
    color: #b91c1c !important;
}

.homepage-latest-list-excerpt,
.homepage-classic-card-excerpt,
.homepage-opinion-grid-excerpt {
    line-height: 1.6;
}

.homepage-latest-list-date {
    padding-top: 0.35rem;
    border-top: 1px solid rgba(17, 24, 39, 0.08);
}

.homepage-classic-card {
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06) !important;
}

.homepage-classic-card-media {
    overflow: hidden;
    background: #f3f4f6;
}

.homepage-classic-card-body {
    padding: 1.35rem !important;
}

.homepage-classic-card-kicker {
    letter-spacing: 0.1em;
}

.homepage-classic-card-title {
    line-height: 1.25;
}

.homepage-classic-card-author {
    padding-top: 0.7rem;
    border-top: 1px solid rgba(17, 24, 39, 0.08);
}

.homepage-opinion-grid-card {
    background: #fbfaf7 !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
}

.homepage-opinion-grid-meta {
    min-height: 32px;
}

.homepage-opinion-grid-avatar {
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}

.homepage-opinion-grid-title {
    font-size: 1.08rem;
    line-height: 1.35;
}

.article-meta-actions {
    flex-shrink: 0;
    gap: 0.35rem !important;
}

.article-meta-action {
    width: 32px;
    height: 32px;
    min-width: 32px;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: #1f2937;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    box-shadow: none;
    transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.article-meta-action:hover,
.article-meta-action:focus,
.article-meta-action.show {
    background: rgba(15, 23, 42, 0.05);
    color: #111827;
    box-shadow: none;
    transform: translateY(-1px);
}

.article-meta-action.is-listening,
.article-meta-action[aria-pressed="true"] {
    background: #fff7ed;
    color: #c8102e;
    box-shadow: none;
}

.article-meta-action i {
    font-size: 1.2rem;
    line-height: 1;
}

@media (max-width: 576px) {
    .editorial-breaking-band {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.7rem;
    }
    .editorial-top-story-card {
        padding-top: 0.6rem;
        gap: 0.65rem;
    }

    .editorial-top-story-number {
        font-size: 1.45rem;
    }

    .editorial-top-story-title {
        font-size: 0.95rem;
    }

    .editorial-pick-body {
        padding-top: 0.8rem;
    }

    .editorial-pick-title {
        font-size: 0.98rem;
    }

    .editorial-top-stories .col-md-6:nth-child(n+3),
    .editorial-curation-shell .col-sm-6:nth-child(n+3) {
        display: none;
    }

    .homepage-video-lead-title {
        font-size: 1.2rem;
    }

    .homepage-visual-story-item {
        width: min(210px, 72vw);
    }

    .homepage-grid-card-body,
    .homepage-latest-list-body,
    .homepage-classic-card-body {
        padding: 0.95rem !important;
    }

    .homepage-grid-card-title,
    .homepage-topic-card-title,
    .homepage-opinion-grid-title,
    .homepage-video-side-title,
    .homepage-feature-split-title {
        font-size: 0.96rem;
        line-height: 1.34;
    }

    .homepage-latest-list-title,
    .homepage-classic-card-title,
    .homepage-opinion-title {
        font-size: 1.04rem;
        line-height: 1.34;
    }

    .homepage-latest-list-excerpt,
    .homepage-classic-card-excerpt,
    .homepage-opinion-grid-excerpt,
    .homepage-topic-card-desc {
        display: none;
    }

    .homepage-grid4-section .col:nth-child(n+5),
    .homepage-topic-hubs-section .col-6:nth-child(n+5) {
        display: none;
    }

    .homepage-videos-section .col-lg-4 .homepage-video-side-card:nth-child(n+3) {
        display: none;
    }

    .homepage-latest-list-section .card:nth-child(n+5),
    .homepage-list-classic-section .card:nth-child(n+4),
    .homepage-opinion-grid-section .col-md-3:nth-child(n+3) {
        display: none;
    }

    .homepage-footer-columns {
        row-gap: 0;
    }

    .homepage-footer-column {
        margin-bottom: 1.5rem !important;
    }

}

@media (min-width: 577px) and (max-width: 991.98px) {
    .homepage-grid-card-title,
    .homepage-topic-card-title,
    .homepage-video-side-title,
    .homepage-feature-split-title {
        font-size: 1rem;
    }

    .homepage-latest-list-title,
    .homepage-classic-card-title {
        font-size: 1.14rem;
    }

    .homepage-opinion-rail {
        margin-top: 1.5rem;
    }
}

/* Shorts Phone Mockup Scrollbar */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.shorts-scroll-area {
    -webkit-overflow-scrolling: touch;
}

/* Disable bullet points for list-unstyled */
.list-unstyled {
    padding-left: 0;
    list-style: none;
}
.list-unstyled li {
    list-style-type: none !important;
}

/* Ensure recommended stories don't have default bullets */
.recommended-stories-inline ul,
.recommended-stories-inline li {
    list-style: none !important;
    padding-left: 0;
}

.homepage-site-header {
    background: linear-gradient(180deg, #fbfaf7 0%, #ffffff 100%);
    box-shadow: inset 0 -1px 0 rgba(17, 24, 39, 0.04);
}

.homepage-site-header .d-none {
    display: none !important;
}

.homepage-site-header .d-flex {
    display: flex !important;
}

.homepage-site-header .d-inline-flex {
    display: inline-flex !important;
}

@media (min-width: 992px) {
    .homepage-site-header .d-lg-block {
        display: block !important;
    }

    .homepage-site-header .d-lg-flex {
        display: flex !important;
    }

    .homepage-site-header .d-lg-inline-flex {
        display: inline-flex !important;
    }

    .homepage-site-header .d-lg-none {
        display: none !important;
    }
}

body.reader-surface-article .homepage-site-header {
    min-height: 227px;
}

.homepage-site-header--regional {
    background:
        radial-gradient(circle at top center, rgba(185, 28, 28, 0.06), transparent 28%),
        linear-gradient(180deg, #fdfcf9 0%, #ffffff 100%);
}

.homepage-header-shell {
    width: min(calc(100% - 32px), 1706px);
    max-width: 1706px;
    margin-inline: auto;
}

.homepage-utility-bar {
    background: #f7f4ed !important;
    border-bottom-color: rgba(17, 24, 39, 0.08) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 30px;
}

.homepage-utility-bar--regional {
    background: linear-gradient(90deg, #151515 0%, #1d1d1d 100%) !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
    color: #fff;
}

.homepage-utility-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 30px;
}

.status-badge--probe {
    background: #f3e8ff;
    border: 1px solid #d8b4fe;
    color: #6b21a8;
}

.homepage-social-svg {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}

.homepage-social-svg--instagram,
.homepage-social-svg--youtube,
.homepage-social-svg--facebook {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 1a7 7 0 1 1 0 14A7 7 0 0 1 8 1Z'/%3E%3C/svg%3E");
}

.homepage-utility-trending,
.homepage-utility-meta,
.homepage-utility-links,
.homepage-utility-social {
    display: flex;
    align-items: center;
}

.homepage-utility-trending,
.homepage-utility-links {
    gap: 0.55rem;
    min-width: 0;
}

.homepage-utility-trending {
    flex: 1 1 auto;
    overflow: hidden;
}

.homepage-utility-meta {
    gap: 0.65rem;
    flex-shrink: 0;
    min-height: 30px;
}

.homepage-utility-bar--regional .homepage-utility-meta > * + * {
    position: relative;
    padding-left: 0.75rem;
}

.homepage-utility-bar--regional .homepage-utility-meta > * {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    line-height: 1;
}

.homepage-utility-bar--regional .homepage-utility-meta > * + *::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 14px;
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-50%);
}

.homepage-utility-links {
    flex: 1 1 auto;
    overflow-x: auto;
    scrollbar-width: none;
}

.homepage-utility-links::-webkit-scrollbar {
    display: none;
}

.homepage-utility-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 0 0.58rem;
    border-radius: 8px;
    background: #c81e1e;
    color: #fff;
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.homepage-utility-links a,
.homepage-utility-fallback,
.homepage-utility-trigger,
.homepage-utility-date span,
.homepage-utility-social a {
    color: rgba(255, 255, 255, 0.92) !important;
    text-decoration: none;
}

.homepage-utility-links a,
.homepage-utility-fallback {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.1;
}

.homepage-utility-links a:hover,
.homepage-utility-trigger:hover,
.homepage-utility-social a:hover {
    color: #ffffff !important;
}

.homepage-utility-separator {
    width: 1px;
    height: 12px;
    background: rgba(255, 255, 255, 0.18);
    flex: 0 0 auto;
}

.homepage-utility-trigger,
.homepage-utility-date span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    font-size: 0.72rem !important;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1 !important;
}

.homepage-utility-date {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.38rem;
    flex: 0 1 auto;
    min-inline-size: 0;
    max-inline-size: 100%;
    min-inline-size: clamp(24ch, 26vw, 34ch);
    min-height: 30px;
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.homepage-utility-date span[data-local-clock="1"] {
    display: inline-flex;
    inline-size: auto;
    min-inline-size: 24ch;
    max-inline-size: none;
    overflow: visible;
    justify-content: flex-end;
}

.homepage-utility-date span[data-local-clock="1"]:not([data-local-clock-ready="1"]) {
    visibility: hidden;
}

.homepage-utility-timezone {
    display: inline-flex;
    min-inline-size: 10ch;
    justify-content: flex-start;
    white-space: nowrap;
}

.homepage-utility-timezone:empty {
    visibility: hidden;
    min-inline-size: 0;
}

.homepage-utility-timezone:not(:empty):not([data-local-timezone-ready="1"]) {
    visibility: hidden;
}

@media (max-width: 991.98px) {
    .homepage-utility-date {
        min-inline-size: 0;
        justify-content: flex-start;
        white-space: normal;
    }

    .homepage-utility-date span[data-local-clock="1"] {
        min-inline-size: 0;
    }
}

.homepage-utility-bar--regional .homepage-utility-date span {
    font-size: 0.62rem !important;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}

.homepage-utility-trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.homepage-utility-social {
    gap: 0.32rem;
    min-height: 30px;
}

#gdpr-consent-banner.gdpr-banner {
    left: 0;
    right: 0;
    z-index: 1080;
    contain: layout paint;
}

#gdpr-consent-banner .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 4.5rem;
}

#gdpr-consent-banner .container > div:first-child {
    min-width: 0;
}

#gdpr-consent-banner .container > div:last-child {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

#gdpr-consent-banner p {
    margin: 0;
}

html[data-cookie-consent-state="accepted"] #gdpr-consent-banner,
html[data-cookie-consent-state="rejected"] #gdpr-consent-banner {
    display: none !important;
}

@media (max-width: 767.98px) {
    #gdpr-consent-banner .container {
        min-height: 0;
        flex-wrap: wrap;
    }

    #gdpr-consent-banner .container > div:last-child {
        width: 100%;
        justify-content: flex-end;
    }
}

.homepage-utility-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1 !important;
}

.homepage-social-icon {
    display: block;
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    fill: currentColor;
    color: currentColor;
    overflow: visible;
}

.homepage-social-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 12px;
    height: 12px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1 !important;
}

.homepage-social-svg {
    display: block;
    width: 12px;
    height: 12px;
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    line-height: 1 !important;
}

.homepage-social-svg--facebook {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M9 15V8.8h2.1l.4-2.5H9V4.7c0-.7.2-1.2 1.2-1.2h1.4V1.3C11.1 1.2 10.5 1 9.6 1 7.8 1 6.6 2.1 6.6 4.1v2.2H4.5v2.5h2.1V15z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M9 15V8.8h2.1l.4-2.5H9V4.7c0-.7.2-1.2 1.2-1.2h1.4V1.3C11.1 1.2 10.5 1 9.6 1 7.8 1 6.6 2.1 6.6 4.1v2.2H4.5v2.5h2.1V15z'/%3E%3C/svg%3E");
}

.homepage-social-svg--instagram {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M4.5 1h7A3.5 3.5 0 0 1 15 4.5v7a3.5 3.5 0 0 1-3.5 3.5h-7A3.5 3.5 0 0 1 1 11.5v-7A3.5 3.5 0 0 1 4.5 1Zm0 1.2a2.3 2.3 0 0 0-2.3 2.3v7a2.3 2.3 0 0 0 2.3 2.3h7a2.3 2.3 0 0 0 2.3-2.3v-7a2.3 2.3 0 0 0-2.3-2.3h-7ZM8 4.7a3.3 3.3 0 1 1 0 6.6 3.3 3.3 0 0 1 0-6.6Zm0 1.2a2.1 2.1 0 1 0 0 4.2 2.1 2.1 0 0 0 0-4.2Zm3.8-2a.8.8 0 1 1 0 1.6.8.8 0 0 1 0-1.6Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M4.5 1h7A3.5 3.5 0 0 1 15 4.5v7a3.5 3.5 0 0 1-3.5 3.5h-7A3.5 3.5 0 0 1 1 11.5v-7A3.5 3.5 0 0 1 4.5 1Zm0 1.2a2.3 2.3 0 0 0-2.3 2.3v7a2.3 2.3 0 0 0 2.3 2.3h7a2.3 2.3 0 0 0 2.3-2.3v-7a2.3 2.3 0 0 0-2.3-2.3h-7ZM8 4.7a3.3 3.3 0 1 1 0 6.6 3.3 3.3 0 0 1 0-6.6Zm0 1.2a2.1 2.1 0 1 0 0 4.2 2.1 2.1 0 0 0 0-4.2Zm3.8-2a.8.8 0 1 1 0 1.6.8.8 0 0 1 0-1.6Z'/%3E%3C/svg%3E");
}

.homepage-social-svg--youtube {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M14.6 4.1a2 2 0 0 0-1.4-1.4C12 2.4 8 2.4 8 2.4s-4 0-5.2.3a2 2 0 0 0-1.4 1.4A20 20 0 0 0 1.1 8c0 1.3.1 2.7.3 3.9a2 2 0 0 0 1.4 1.4c1.2.3 5.2.3 5.2.3s4 0 5.2-.3a2 2 0 0 0 1.4-1.4c.2-1.2.3-2.6.3-3.9s-.1-2.7-.3-3.9ZM6.7 10.4V5.6L10.8 8 6.7 10.4Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M14.6 4.1a2 2 0 0 0-1.4-1.4C12 2.4 8 2.4 8 2.4s-4 0-5.2.3a2 2 0 0 0-1.4 1.4A20 20 0 0 0 1.1 8c0 1.3.1 2.7.3 3.9a2 2 0 0 0 1.4 1.4c1.2.3 5.2.3 5.2.3s4 0 5.2-.3a2 2 0 0 0 1.4-1.4c.2-1.2.3-2.6.3-3.9s-.1-2.7-.3-3.9ZM6.7 10.4V5.6L10.8 8 6.7 10.4Z'/%3E%3C/svg%3E");
}

/* Global Bootstrap Icons fallback: keeps icons visible even if a font glyph is stale or missing. */
.bi.bi-facebook,
.bi.bi-twitter,
.bi.bi-twitter-x,
.bi.bi-instagram,
.bi.bi-linkedin,
.bi.bi-youtube,
.bi.bi-whatsapp,
.bi.bi-rss,
.bi.bi-search,
.bi.bi-bell,
.bi.bi-bell-fill,
.bi.bi-bookmark,
.bi.bi-bookmark-heart,
.bi.bi-bookmark-check-fill,
.bi.bi-person-circle,
.bi.bi-person-fill,
.bi.bi-person-plus,
.bi.bi-person-check-fill,
.bi.bi-chevron-down,
.bi.bi-arrow-up,
.bi.bi-arrow-up-circle,
.bi.bi-arrow-up-circle-fill,
.bi.bi-arrow-up-right,
.bi.bi-arrow-right,
.bi.bi-arrow-left,
.bi.bi-arrow-clockwise,
.bi.bi-arrow-repeat,
.bi.bi-box-arrow-right,
.bi.bi-box-arrow-up-right,
.bi.bi-list,
.bi.bi-plus-lg,
.bi.bi-x-lg,
.bi.bi-x-circle,
.bi.bi-check-lg,
.bi.bi-check-circle-fill,
.bi.bi-check2-circle,
.bi.bi-check2-square,
.bi.bi-pencil,
.bi.bi-pencil-square,
.bi.bi-trash,
.bi.bi-save,
.bi.bi-eye,
.bi.bi-image,
.bi.bi-images,
.bi.bi-newspaper,
.bi.bi-journal-text,
.bi.bi-envelope,
.bi.bi-envelope-plus,
.bi.bi-envelope-check,
.bi.bi-envelope-paper,
.bi.bi-send,
.bi.bi-share,
.bi.bi-lock,
.bi.bi-shield-check,
.bi.bi-patch-check-fill,
.bi.bi-info-circle,
.bi.bi-star-fill,
.bi.bi-star-half,
.bi.bi-broadcast,
.bi.bi-camera-video,
.bi.bi-camera-fill,
.bi.bi-film,
.bi.bi-play-circle,
.bi.bi-play-circle-fill,
.bi.bi-phone,
.bi.bi-mic,
.bi.bi-mic-fill,
.bi.bi-headphones,
.bi.bi-volume-mute-fill,
.bi.bi-volume-up,
.bi.bi-volume-up-fill,
.bi.bi-collection,
.bi.bi-table,
.bi.bi-diagram-3,
.bi.bi-graph-up-arrow,
.bi.bi-bar-chart-line,
.bi.bi-bar-chart-steps,
.bi.bi-lightbulb,
.bi.bi-lightning-charge,
.bi.bi-patch-question,
.bi.bi-patch-question-fill,
.bi.bi-person-badge,
.bi.bi-speedometer2,
.bi.bi-grip-vertical,
.bi.bi-calendar,
.bi.bi-record-circle-fill,
.bi.bi-pin-fill,
.bi.bi-pin-angle,
.bi.bi-pin-angle-fill,
.bi.bi-hand-thumbs-up,
.bi.bi-hand-thumbs-up-fill,
.bi.bi-hand-thumbs-down,
.bi.bi-hand-thumbs-down-fill,
.bi.bi-link-45deg,
.bi.bi-cup-hot,
.bi.bi-badge-cc,
.bi.bi-dot {
    --ntcms-bi-svg: none;
}

.bi.bi-facebook::before,
.bi.bi-twitter::before,
.bi.bi-twitter-x::before,
.bi.bi-instagram::before,
.bi.bi-linkedin::before,
.bi.bi-youtube::before,
.bi.bi-whatsapp::before,
.bi.bi-rss::before,
.bi.bi-search::before,
.bi.bi-bell::before,
.bi.bi-bell-fill::before,
.bi.bi-bookmark::before,
.bi.bi-bookmark-heart::before,
.bi.bi-bookmark-check-fill::before,
.bi.bi-person-circle::before,
.bi.bi-person-fill::before,
.bi.bi-person-plus::before,
.bi.bi-person-check-fill::before,
.bi.bi-chevron-down::before,
.bi.bi-arrow-up::before,
.bi.bi-arrow-up-circle::before,
.bi.bi-arrow-up-circle-fill::before,
.bi.bi-arrow-up-right::before,
.bi.bi-arrow-right::before,
.bi.bi-arrow-left::before,
.bi.bi-arrow-clockwise::before,
.bi.bi-arrow-repeat::before,
.bi.bi-box-arrow-right::before,
.bi.bi-box-arrow-up-right::before,
.bi.bi-list::before,
.bi.bi-plus-lg::before,
.bi.bi-x-lg::before,
.bi.bi-x-circle::before,
.bi.bi-check-lg::before,
.bi.bi-check-circle-fill::before,
.bi.bi-check2-circle::before,
.bi.bi-check2-square::before,
.bi.bi-pencil::before,
.bi.bi-pencil-square::before,
.bi.bi-trash::before,
.bi.bi-save::before,
.bi.bi-eye::before,
.bi.bi-image::before,
.bi.bi-images::before,
.bi.bi-newspaper::before,
.bi.bi-journal-text::before,
.bi.bi-envelope::before,
.bi.bi-envelope-plus::before,
.bi.bi-envelope-check::before,
.bi.bi-envelope-paper::before,
.bi.bi-send::before,
.bi.bi-share::before,
.bi.bi-lock::before,
.bi.bi-shield-check::before,
.bi.bi-patch-check-fill::before,
.bi.bi-info-circle::before,
.bi.bi-star-fill::before,
.bi.bi-star-half::before,
.bi.bi-broadcast::before,
.bi.bi-camera-video::before,
.bi.bi-camera-fill::before,
.bi.bi-film::before,
.bi.bi-play-circle::before,
.bi.bi-play-circle-fill::before,
.bi.bi-phone::before,
.bi.bi-mic::before,
.bi.bi-mic-fill::before,
.bi.bi-headphones::before,
.bi.bi-volume-mute-fill::before,
.bi.bi-volume-up::before,
.bi.bi-volume-up-fill::before,
.bi.bi-collection::before,
.bi.bi-table::before,
.bi.bi-diagram-3::before,
.bi.bi-graph-up-arrow::before,
.bi.bi-bar-chart-line::before,
.bi.bi-bar-chart-steps::before,
.bi.bi-lightbulb::before,
.bi.bi-lightning-charge::before,
.bi.bi-patch-question::before,
.bi.bi-patch-question-fill::before,
.bi.bi-person-badge::before,
.bi.bi-speedometer2::before,
.bi.bi-grip-vertical::before,
.bi.bi-calendar::before,
.bi.bi-record-circle-fill::before,
.bi.bi-pin-fill::before,
.bi.bi-pin-angle::before,
.bi.bi-pin-angle-fill::before,
.bi.bi-hand-thumbs-up::before,
.bi.bi-hand-thumbs-up-fill::before,
.bi.bi-hand-thumbs-down::before,
.bi.bi-hand-thumbs-down-fill::before,
.bi.bi-link-45deg::before,
.bi.bi-cup-hot::before,
.bi.bi-badge-cc::before,
.bi.bi-dot::before {
    content: "" !important;
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    font-family: inherit !important;
    line-height: 1;
    vertical-align: -0.125em;
    -webkit-mask-image: var(--ntcms-bi-svg);
    mask-image: var(--ntcms-bi-svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bi.bi-facebook { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M9 15V8.8h2.1l.4-2.5H9V4.7c0-.7.2-1.2 1.2-1.2h1.4V1.3C11.1 1.2 10.5 1 9.6 1 7.8 1 6.6 2.1 6.6 4.1v2.2H4.5v2.5h2.1V15z'/%3E%3C/svg%3E"); }
.bi.bi-twitter,
.bi.bi-twitter-x { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 2h2.6l3 4.1L11.1 2H14l-5 5.8L14.4 14h-2.6L8.6 9.7 4.9 14H2l5.2-6z'/%3E%3C/svg%3E"); }
.bi.bi-instagram { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M4.5 1h7A3.5 3.5 0 0 1 15 4.5v7a3.5 3.5 0 0 1-3.5 3.5h-7A3.5 3.5 0 0 1 1 11.5v-7A3.5 3.5 0 0 1 4.5 1Zm0 1.2a2.3 2.3 0 0 0-2.3 2.3v7a2.3 2.3 0 0 0 2.3 2.3h7a2.3 2.3 0 0 0 2.3-2.3v-7a2.3 2.3 0 0 0-2.3-2.3h-7ZM8 4.7a3.3 3.3 0 1 1 0 6.6 3.3 3.3 0 0 1 0-6.6Zm0 1.2a2.1 2.1 0 1 0 0 4.2 2.1 2.1 0 0 0 0-4.2Zm3.8-2a.8.8 0 1 1 0 1.6.8.8 0 0 1 0-1.6Z'/%3E%3C/svg%3E"); }
.bi.bi-linkedin { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2.7 5.3H5V13H2.7zm1.1-3.8a1.3 1.3 0 1 1 0 2.6 1.3 1.3 0 0 1 0-2.6ZM6.5 5.3h2.2v1.1h.1c.3-.6 1.1-1.3 2.3-1.3 2.4 0 2.9 1.6 2.9 3.7V13h-2.3V9.3c0-.9 0-2-1.2-2s-1.4 1-1.4 1.9V13H6.5z'/%3E%3C/svg%3E"); }
.bi.bi-youtube { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M14.6 4.1a2 2 0 0 0-1.4-1.4C12 2.4 8 2.4 8 2.4s-4 0-5.2.3a2 2 0 0 0-1.4 1.4A20 20 0 0 0 1.1 8c0 1.3.1 2.7.3 3.9a2 2 0 0 0 1.4 1.4c1.2.3 5.2.3 5.2.3s4 0 5.2-.3a2 2 0 0 0 1.4-1.4c.2-1.2.3-2.6.3-3.9s-.1-2.7-.3-3.9ZM6.7 10.4V5.6L10.8 8 6.7 10.4Z'/%3E%3C/svg%3E"); }
.bi.bi-whatsapp { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M13.6 2.4A7.4 7.4 0 0 0 1.9 11l-1 3.7L4.7 13A7.4 7.4 0 1 0 13.6 2.4Zm-5.6 11a6 6 0 0 1-3-.8l-.2-.1-2.2.6.6-2.1-.1-.2A6 6 0 1 1 8 13.4Zm3.3-4.4c-.2-.1-1.1-.6-1.3-.6s-.3-.1-.4.1-.5.6-.6.7-.2.1-.4 0a4.8 4.8 0 0 1-1.4-.9 5.4 5.4 0 0 1-1-1.2c-.1-.2 0-.3.1-.4l.3-.3c.1-.1.1-.2.2-.3 0-.1 0-.2 0-.3S6 4.8 5.8 4.4s-.3-.3-.4-.3h-.3c-.1 0-.3 0-.5.2s-.6.6-.6 1.4.6 1.6.7 1.7 1.2 1.8 3 2.6c.4.2.8.3 1 .4.4.1.8.1 1 .1.3 0 1.1-.4 1.2-.8.2-.4.2-.8.1-.8s-.2-.1-.4-.2Z'/%3E%3C/svg%3E"); }
.bi.bi-rss,
.bi.bi-broadcast { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 3.5V2a12 12 0 0 1 12 12h-1.5A10.5 10.5 0 0 0 2 3.5Zm0 4V6a8 8 0 0 1 8 8H8.5A6.5 6.5 0 0 0 2 7.5ZM3.5 13a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z'/%3E%3C/svg%3E"); }
.bi.bi-search { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M11.5 10.5 15 14l-1 1-3.5-3.5a5.5 5.5 0 1 1 1-1ZM6.5 11A4.5 4.5 0 1 0 6.5 2a4.5 4.5 0 0 0 0 9Z'/%3E%3C/svg%3E"); }
.bi.bi-bell,
.bi.bi-bell-fill { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 15a2 2 0 0 0 1.995-1.85L10 13H6a2 2 0 0 0 2 2Zm4-4V7a4 4 0 1 0-8 0v4L2.5 12.5V13h11v-.5z'/%3E%3C/svg%3E"); }
.bi.bi-bookmark,
.bi.bi-bookmark-heart,
.bi.bi-bookmark-check-fill { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5V15l-5-3-5 3z'/%3E%3C/svg%3E"); }
.bi.bi-person-circle,
.bi.bi-person-fill,
.bi.bi-person-plus,
.bi.bi-person-check-fill,
.bi.bi-person-badge { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-5 6c0-2.2 2.2-4 5-4s5 1.8 5 4z'/%3E%3C/svg%3E"); }
.bi.bi-chevron-down { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='m3.5 5.5 4.5 4.5 4.5-4.5.9.9L8 11.8 2.6 6.4z'/%3E%3C/svg%3E"); }
.bi.bi-arrow-up,
.bi.bi-arrow-up-circle,
.bi.bi-arrow-up-circle-fill { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 2 3.5 6.5l1 1L7.2 4.8V14h1.6V4.8l2.7 2.7 1-1z'/%3E%3C/svg%3E"); }
.bi.bi-arrow-up-right,
.bi.bi-arrow-right { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='m10.5 3.5-.7.7L12.6 7H2v1h10.6L9.8 10.8l.7.7L14.5 7.5z'/%3E%3C/svg%3E"); }
.bi.bi-arrow-left { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='m5.5 3.5.7.7L3.4 7H14v1H3.4l2.8 2.8-.7.7-4-4z'/%3E%3C/svg%3E"); }
.bi.bi-arrow-clockwise,
.bi.bi-arrow-repeat { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 8a6 6 0 0 1 10.2-4.2V2.5H13.5v4H9.4V5.2h2A5 5 0 1 0 12 11h1a6 6 0 1 1-11-3Z'/%3E%3C/svg%3E"); }
.bi.bi-box-arrow-right,
.bi.bi-box-arrow-up-right { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 3h6v1.5H3.5v8H8V14H2zm8.2-.2H14v3.8h-1.4V5.2L7.7 10.1l-1-1 4.9-4.9h-1.4z'/%3E%3C/svg%3E"); }
.bi.bi-list { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 4h12v1.4H2zm0 3.3h12v1.4H2zm0 3.3h12V12H2z'/%3E%3C/svg%3E"); }
.bi.bi-plus-lg { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M7.2 2h1.6v5.2H14v1.6H8.8V14H7.2V8.8H2V7.2h5.2z'/%3E%3C/svg%3E"); }
.bi.bi-x-lg,
.bi.bi-x-circle { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='m4.2 3.2 3.8 3.8 3.8-3.8 1 1L9 8l3.8 3.8-1 1L8 9 4.2 12.8l-1-1L7 8 3.2 4.2z'/%3E%3C/svg%3E"); }
.bi.bi-check-lg,
.bi.bi-check-circle-fill,
.bi.bi-check2-circle,
.bi.bi-check2-square,
.bi.bi-patch-check-fill { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='m6.2 11.2-3-3 .8-.8 2.2 2.1 5-5 .8.8z'/%3E%3C/svg%3E"); }
.bi.bi-pencil,
.bi.bi-pencil-square { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M11.8 1.6 14.4 4 5.2 13.2 2 14l.8-3.2zM10.9 2.5 3.8 9.6l2.6 2.6 7.1-7.1z'/%3E%3C/svg%3E"); }
.bi.bi-trash { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M5.5 1h5l.7 1.5H14V4H2V2.5h2.8zM3.5 5h9l-.6 9.5H4.1z'/%3E%3C/svg%3E"); }
.bi.bi-save { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 1h10l2 2v12H2zm2 1.5v4h7v-4zm1 8v3h6v-3z'/%3E%3C/svg%3E"); }
.bi.bi-eye { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 3C4.5 3 2 6.2 1 8c1 1.8 3.5 5 7 5s6-3.2 7-5c-1-1.8-3.5-5-7-5Zm0 7.5A2.5 2.5 0 1 1 8 5a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E"); }
.bi.bi-image,
.bi.bi-images { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 3h12v10H2zm1.5 1.5v6.2l2.7-2.7 2 2 2.8-3.5 1.5 2V4.5zM5.5 7a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'/%3E%3C/svg%3E"); }
.bi.bi-newspaper,
.bi.bi-journal-text,
.bi.bi-envelope-paper { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 2h12v12H2zm2 2v8h8V4zm1 1h6v1H5zm0 2h6v1H5zm0 2h4v1H5z'/%3E%3C/svg%3E"); }
.bi.bi-envelope,
.bi.bi-envelope-plus,
.bi.bi-envelope-check,
.bi.bi-send { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M1.5 3h13A1.5 1.5 0 0 1 16 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 11.5v-7A1.5 1.5 0 0 1 1.5 3Zm0 1L8 8.3 14.5 4zm13 8v-6.8L8.3 9.1a.5.5 0 0 1-.6 0L1.5 5.2V12z'/%3E%3C/svg%3E"); }
.bi.bi-share { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M13 10a2 2 0 0 0-1.6.8L5.9 8a2 2 0 0 0 0-.5l5.5-2.8A2 2 0 1 0 10.8 4L5.3 6.8a2 2 0 1 0 0 2.4l5.5 2.8A2 2 0 1 0 13 10Z'/%3E%3C/svg%3E"); }
.bi.bi-lock { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M11 6V4.5a3 3 0 1 0-6 0V6H3.5A1.5 1.5 0 0 0 2 7.5v5A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 12.5 6zm-5 0V4.5a2 2 0 1 1 4 0V6z'/%3E%3C/svg%3E"); }
.bi.bi-shield-check,
.bi.bi-info-circle,
.bi.bi-badge-cc { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 0 2 2v4c0 4.1 2.7 7.8 6 9 3.3-1.2 6-4.9 6-9V2zm-1 11.2-2.4-2.4.8-.8L7 9.8l3.8-3.8.8.8z'/%3E%3C/svg%3E"); }
.bi.bi-star-fill,
.bi.bi-star-half { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='m8 1.3 1.8 3.7 4.1.6-3 3 .7 4.1L8 10.8l-3.6 1.9.7-4.1-3-3 4.1-.6z'/%3E%3C/svg%3E"); }
.bi.bi-camera-video,
.bi.bi-camera-fill,
.bi.bi-film,
.bi.bi-play-circle,
.bi.bi-play-circle-fill { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 3h8.5A1.5 1.5 0 0 1 12 4.5v.8l3-1.8v9l-3-1.8v.8A1.5 1.5 0 0 1 10.5 13H2z'/%3E%3C/svg%3E"); }
.bi.bi-phone { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M5 1h6a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1Zm1 2v9h4V3zm2 11a.8.8 0 1 0 0-1.6.8.8 0 0 0 0 1.6Z'/%3E%3C/svg%3E"); }
.bi.bi-mic,
.bi.bi-mic-fill,
.bi.bi-headphones,
.bi.bi-volume-mute-fill,
.bi.bi-volume-up,
.bi.bi-volume-up-fill { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8.7 2.1 5.9 4.9H3A1 1 0 0 0 2 6v4a1 1 0 0 0 1 1h2.9l2.8 2.8c.6.6 1.6.2 1.6-.7V2.8c0-.9-1-1.3-1.6-.7ZM12 6.5a2.5 2.5 0 0 1 0 3.5l.7.7a3.5 3.5 0 0 0 0-4.9Z'/%3E%3C/svg%3E"); }
.bi.bi-collection,
.bi.bi-table,
.bi.bi-diagram-3,
.bi.bi-graph-up-arrow,
.bi.bi-bar-chart-line,
.bi.bi-bar-chart-steps,
.bi.bi-speedometer2 { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 2h12v12H2zm2 9h2V7H4zm3 0h2V5H7zm3 0h2V4h-2z'/%3E%3C/svg%3E"); }
.bi.bi-lightbulb,
.bi.bi-lightning-charge,
.bi.bi-patch-question,
.bi.bi-patch-question-fill { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 1a5 5 0 0 0-3 9v2h6v-2A5 5 0 0 0 8 1Zm-2 13h4v1H6z'/%3E%3C/svg%3E"); }
.bi.bi-grip-vertical { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M5 3h2v2H5zm4 0h2v2H9zM5 7h2v2H5zm4 0h2v2H9zm-4 4h2v2H5zm4 0h2v2H9z'/%3E%3C/svg%3E"); }
.bi.bi-calendar { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M3 2h1V1h1v1h6V1h1v1h1.5A1.5 1.5 0 0 1 15 3.5V14H1V3.5A1.5 1.5 0 0 1 2.5 2zm0 4v6.5h10V6z'/%3E%3C/svg%3E"); }
.bi.bi-record-circle-fill,
.bi.bi-dot { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='5' fill='black'/%3E%3C/svg%3E"); }
.bi.bi-pin-fill,
.bi.bi-pin-angle,
.bi.bi-pin-angle-fill { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M9 1 15 7l-2 2-2-1.2L7.5 11.3V15H6v-3.7L2.7 8 1.5 6.8l3.7-3.7L4 1z'/%3E%3C/svg%3E"); }
.bi.bi-hand-thumbs-up,
.bi.bi-hand-thumbs-up-fill,
.bi.bi-hand-thumbs-down,
.bi.bi-hand-thumbs-down-fill { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M6 14H3V7h3zm1-7 2-5 1.4.5L9.6 7H14v2l-1.5 5H7z'/%3E%3C/svg%3E"); }
.bi.bi-link-45deg { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M6.4 10.6 5.2 12A3 3 0 1 1 1 7.8l2.2-2.2a3 3 0 0 1 4 0l-1 1a1.6 1.6 0 0 0-2 0L2 8.8A1.6 1.6 0 0 0 4.2 11l1.2-1.2zm3.2-5.2L10.8 4A3 3 0 1 1 15 8.2l-2.2 2.2a3 3 0 0 1-4 0l1-1a1.6 1.6 0 0 0 2 0L14 7.2A1.6 1.6 0 0 0 11.8 5l-1.2 1.2z'/%3E%3C/svg%3E"); }
.bi.bi-cup-hot { --ntcms-bi-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M3 3h8v4a3 3 0 0 1-3 3H6A3 3 0 0 1 3 7zm8 1h1a2 2 0 0 1 0 4h-1V7h1a1 1 0 0 0 0-2h-1zm-7 8h7v1H4z'/%3E%3C/svg%3E"); }

.homepage-utility-left .btn-link {
    font-size: 0.62rem !important;
    letter-spacing: 0;
    text-transform: none;
}

.homepage-branding-row {
    min-height: 94px;
    border-bottom: 1px solid rgba(17, 24, 39, 0.06);
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.homepage-branding-row--regional {
    display: grid !important;
    grid-template-columns: minmax(170px, 0.64fr) minmax(0, 0.88fr) minmax(282px, 0.62fr);
    gap: 0.9rem;
    min-height: 116px;
    padding-block: 0.45rem !important;
}

@media (max-width: 991.98px) {
    .homepage-branding-row--regional {
        display: none !important;
    }
}

.homepage-brand-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
}

.homepage-brand-logo .header-logo-img {
    max-height: 56px !important;
}

.homepage-logo-wrapper--regional {
    display: grid;
    justify-items: center;
    text-align: center;
}

.homepage-logo-wrapper--regional .header-logo-img {
    max-height: 62px !important;
    width: auto;
    max-width: min(100%, 370px);
}

.homepage-brand-tagline {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0;
    color: #2a2a2a;
    font-size: 0.74rem;
    font-weight: 700;
}

.homepage-brand-tagline::before,
.homepage-brand-tagline::after {
    content: "";
    width: 52px;
    height: 1px;
    background: rgba(17, 24, 39, 0.22);
}

.homepage-header-extras {
    gap: 0.6rem !important;
}

.homepage-header-extras--regional {
    justify-content: flex-end;
    min-width: 0;
    gap: 0.5rem !important;
}

.homepage-weather-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
    align-items: center;
    min-height: 68px;
    min-inline-size: clamp(12rem, 14vw, 16rem);
    overflow: hidden;
}

.homepage-weather-card--ghost {
    visibility: hidden;
}

.homepage-weather-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    color: #f4b400;
    background: transparent;
    font-size: 1.28rem;
}

.homepage-weather-card__body {
    display: grid;
    gap: 0.15rem;
    min-block-size: 4.25rem;
}

.homepage-weather-card__eyebrow {
    color: #991b1b;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.homepage-weather-card__body strong {
    display: inline-block;
    font-size: clamp(1.22rem, 1.45vw, 1.55rem);
    min-inline-size: 5ch;
    line-height: 1;
    color: #111827;
    font-variant-numeric: tabular-nums;
}

.homepage-weather-card__location {
    color: #374151;
    display: block;
    font-size: 0.74rem;
    font-weight: 600;
    min-block-size: 1.05rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.homepage-weather-card__body small {
    color: #6b7280;
    display: block;
    font-size: 0.68rem;
    min-block-size: 1.05rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.homepage-weather-card--edition .homepage-weather-card__icon {
    color: #f0b11a;
}

.homepage-weather-card--edition .homepage-weather-card__body strong {
    font-size: clamp(1.55rem, 2.4vw, 2.1rem);
}

.homepage-header-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 8px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1;
    min-height: 32px;
    padding-top: 0.18rem !important;
    padding-bottom: 0.18rem !important;
    justify-content: center;
    width: auto !important;
    max-width: max-content;
    flex: 0 0 auto;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.homepage-header-cta-outline {
    min-height: 32px;
    min-width: 0 !important;
    width: auto;
    padding-left: 0.72rem !important;
    padding-right: 0.72rem !important;
    border: 1.25px solid rgba(17, 24, 39, 0.28);
    background: #ffffff;
    color: #111827;
    box-shadow: none;
    white-space: nowrap;
}

.homepage-header-cta-outline:hover {
    border-color: rgba(17, 24, 39, 0.45);
    background: #f8fafc;
    color: #111827;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, 0.06);
    transform: translateY(-1px);
}

.homepage-header-cta-outline:focus,
.homepage-header-cta-outline:active {
    border-color: rgba(17, 24, 39, 0.45) !important;
    background: #f8fafc !important;
    color: #111827 !important;
    box-shadow: 0 0 0 0.16rem rgba(17, 24, 39, 0.08) !important;
}

.homepage-header-cta-outline i {
    font-size: 0.74rem;
}

.homepage-header-cta-outline span {
    position: relative;
    top: 0;
    white-space: nowrap;
    font-size: 0.68rem;
    font-weight: 700;
}

.homepage-header-cta-primary {
    background: #b91c1c;
    border-color: #b91c1c;
    box-shadow: none;
    min-height: 32px;
    min-width: 0 !important;
    width: auto;
    padding-left: 0.88rem !important;
    padding-right: 0.88rem !important;
    text-align: center;
    text-transform: uppercase;
}

.homepage-header-cta-primary:hover {
    background: #a61b1b;
    border-color: #a61b1b;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.12);
    transform: translateY(-1px);
}

.homepage-header-cta-primary:focus,
.homepage-header-cta-primary:active {
    background: #a61b1b !important;
    border-color: #a61b1b !important;
    box-shadow: 0 0 0 0.16rem rgba(185, 28, 28, 0.12) !important;
}

.homepage-navigation-row {
    background: #fff;
    border-top: 1px solid rgba(17, 24, 39, 0.08);
    box-shadow: inset 0 -1px 0 rgba(17, 24, 39, 0.08);
    min-height: 52px;
}

.homepage-site-header--regional .homepage-branding-row {
    overflow: hidden;
}

.homepage-nav-actions .header-notification-trigger .bi,
.homepage-utility-trigger .bi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 1em;
    min-block-size: 1em;
    line-height: 1;
}

.homepage-site-header--regional .homepage-weather-card__confidence {
    min-block-size: 0.85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.homepage-weather-card__action {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 1.9rem;
    block-size: 1.9rem;
    margin: 0;
    padding: 0;
    border-radius: 999px;
    border: 0;
    background: transparent;
    color: #0f4c81;
    font: inherit;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.1;
    text-decoration: underline;
    text-underline-offset: 0.14em;
    cursor: pointer;
}

.homepage-weather-card__action:hover,
.homepage-weather-card__action:focus-visible {
    color: #0b3a63;
}

.homepage-weather-card__action:focus-visible {
    outline: 2px solid rgba(15, 76, 129, 0.25);
    outline-offset: 2px;
    border-radius: 2px;
}

.homepage-weather-card__action-mark {
    display: block;
    width: 0.875rem;
    height: 0.875rem;
    fill: currentColor;
    flex: 0 0 auto;
}

.homepage-navbar--regional {
    align-items: center;
    gap: 1rem;
    min-height: 52px;
}

.homepage-nav-home {
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border-radius: 4px;
    background: #c81e1e;
    color: #fff;
    text-decoration: none;
    box-shadow: none;
}

.homepage-nav-home:hover {
    color: #fff;
    background: #b91c1c;
}

.homepage-nav-home i {
    font-size: 0.96rem;
}

.homepage-navbar .navbar-nav .nav-link {
    font-size: 0.98rem;
    font-weight: 800;
    letter-spacing: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0.42rem;
    padding-right: 0.42rem;
    white-space: nowrap;
    line-height: 1.05;
}

.homepage-main-nav {
    gap: 0.8rem;
    justify-content: space-between;
    min-width: 0;
}

.homepage-main-nav__list {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    gap: 0;
    min-width: 0;
}

.homepage-main-nav__place {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    margin-left: auto;
    min-width: max-content;
    margin-right: 0.15rem;
    padding-left: 0.35rem;
    white-space: nowrap;
}

.homepage-main-nav__place--reader {
    border-left: 1px solid rgba(17, 24, 39, 0.12);
    margin-left: 0.9rem;
    padding-left: 0.8rem;
}

.homepage-place-link {
    align-items: center;
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #111827;
    display: inline-flex;
    font-size: 0.98rem;
    font-weight: 800;
    gap: 0.38rem;
    justify-content: center;
    line-height: 1.05;
    margin: 0;
    min-height: 34px;
    min-width: max-content;
    outline: 0;
    padding: 0;
    text-decoration: none;
    background: transparent;
    vertical-align: middle;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.homepage-place-link:hover,
.homepage-place-link:focus {
    color: #111827;
    text-decoration: none;
}

.homepage-place-link .bi {
    font-size: 1.1rem;
    line-height: 1;
}

.homepage-place-link__label {
    display: inline-block;
    white-space: nowrap;
}

.homepage-place-link--reader {
    font-size: 1rem;
    gap: 0.5rem;
}

.homepage-nav-actions .search-toggle {
    align-items: center;
    color: #111827 !important;
    cursor: pointer;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.homepage-nav-actions {
    align-items: center;
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 0.28rem !important;
    min-height: 36px;
    padding-left: 0.7rem;
    border-left: 1px solid rgba(17, 24, 39, 0.12);
    white-space: nowrap;
}

.homepage-nav-actions > *,
.homepage-nav-actions > .dropdown {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
}

.homepage-nav-actions .search-toggle .bi,
.homepage-nav-actions .header-notification-trigger .bi,
.homepage-account-chip__chevron {
    font-size: 1.45rem;
    line-height: 1;
}

.homepage-nav-actions .header-notification-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
}

.homepage-nav-actions .header-notification-count {
    font-size: 0.46rem;
}

@media (min-width: 992px) {
    .homepage-utility-bar--regional .homepage-utility-meta {
        min-width: 420px;
        justify-content: flex-end;
    }

    .homepage-logo-wrapper--regional {
        min-height: 72px;
        align-content: center;
    }

    .homepage-header-extras--regional {
        min-width: 244px;
    }

    .homepage-nav-actions {
        min-width: 148px;
        justify-content: flex-end;
    }

    .homepage-main-nav__list .nav-link {
        padding-top: 0.2rem !important;
        padding-bottom: 0.2rem !important;
    }

    .homepage-main-nav__place {
        margin-left: auto;
        margin-right: 0.6rem;
        padding-left: 0.45rem;
    }
}

@media (max-width: 991.98px) {
    body.reader-surface-article .homepage-site-header {
        min-height: 58px;
    }

    .homepage-navigation-row {
        min-height: 58px;
    }

    .homepage-site-header--regional .homepage-header-shell {
        width: min(calc(100% - 16px), 1706px) !important;
    }

    .homepage-mobile-topbar {
        padding: 0.4rem 0.5rem !important;
        gap: 0.45rem !important;
        justify-content: space-between !important;
        min-height: 58px;
    }

    .homepage-mobile-topbar > div:first-child {
        flex: 0 1 auto;
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 0.35rem !important;
    }

    .homepage-mobile-topbar .mobile-brand {
        position: static;
        left: auto;
        top: auto;
        transform: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        max-width: min(44vw, 180px);
    }

    .homepage-mobile-topbar .header-mobile-logo-img {
        max-height: 34px !important;
        max-width: min(44vw, 180px);
    }

    .homepage-mobile-topbar > div:last-child {
        flex: 0 0 auto;
        gap: 0.35rem !important;
    }

    .homepage-mobile-place-trigger {
        align-items: center;
        display: inline-flex;
        gap: 0.15rem;
        white-space: nowrap;
        color: #111827 !important;
        font-weight: 800;
        line-height: 1;
    }

    .homepage-mobile-place-trigger__label {
        font-size: 0.92rem;
        font-weight: 700;
        line-height: 1;
    }
}

.homepage-account-chip {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: 0.22rem;
    min-height: 38px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #111827;
    text-decoration: none;
    cursor: pointer;
}

.homepage-account-chip--guest {
    gap: 0;
}

.homepage-account-chip__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* Match the .header-notification-trigger action box so the search
       icon, bell chip, and avatar form a single visual row of equal
       weight in the regional homepage header. Previous 30 px solid
       circle next to 32 px hollow icons was reading as visually
       heavier than the rest of the toolbar. */
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #eef4ff;
    color: #2f4f97;
    font-size: 0.86rem;
    font-weight: 800;
    overflow: hidden;
    /* Subtle 1 px ring so the avatar reads as a contained chip rather
       than a solid blob; tones down the contrast with neighbouring
       line-style icons. */
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.10);
}

.homepage-account-chip__guest-icon {
    font-size: 1.4rem;
    line-height: 1;
    color: #334155;
}

.homepage-account-chip {
    gap: 0.22rem;
}

.homepage-account-chip__chevron {
    color: #4b5563;
}

.homepage-account-dropdown .dropdown-menu {
    min-width: 16rem;
}

.homepage-nav-actions .btn-subscribe,
.homepage-nav-actions .btn-signin {
    border-radius: 999px;
}

.homepage-mobile-topbar {
    background: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
}

@media (max-width: 1199.98px) {
    .homepage-utility-shell {
        gap: 0.75rem;
    }

    .homepage-branding-row--regional {
        grid-template-columns: minmax(180px, 0.85fr) minmax(0, 1.15fr) minmax(310px, 1fr);
    }

    .homepage-brand-tagline::before,
    .homepage-brand-tagline::after {
        width: 70px;
    }

    .homepage-header-cta-outline {
        min-width: 0 !important;
    }
}

@media (max-width: 991.98px) {
    .homepage-brand-tagline {
        font-size: 0.92rem;
        gap: 0.55rem;
    }

    .homepage-brand-tagline::before,
    .homepage-brand-tagline::after {
        width: 40px;
    }
}

.homepage-site-footer {
    background:
        radial-gradient(circle at top center, rgba(185, 28, 28, 0.08), transparent 32%),
        #111 !important;
}

.homepage-footer-branding {
    border-top-color: rgba(255, 255, 255, 0.14) !important;
}

.homepage-footer-columns {
    row-gap: 0.75rem;
}

.homepage-footer-column .footer-heading {
    letter-spacing: 0.14em;
}

.homepage-footer-column .footer-link {
    display: inline-block;
    padding: 0.15rem 0;
    transition: color 0.2s ease, transform 0.2s ease;
}

.homepage-footer-column .footer-link:hover {
    color: #ffffff !important;
    transform: translateX(2px);
    text-decoration: none;
}

.homepage-footer-bottom {
    border-top-color: rgba(255, 255, 255, 0.14) !important;
}

.footer-ad-slot {
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-ad-slot:not(.footer-ad-slot-active) {
    min-height: 90px;
}

.homepage-footer-socials {
    gap: 0.35rem;
    min-height: 40px;
}

.homepage-footer-socials a {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    margin: 0 0.2rem;
    justify-content: center;
    line-height: 1;
    min-height: 40px;
    min-width: 40px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.02);
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.homepage-footer-socials a.footer-app-badge {
    flex: 0 0 152px;
    width: 152px;
    height: 45px;
    min-width: 152px;
    min-height: 45px;
    padding: 0;
    border: 0;
    border-radius: 0.75rem;
    background: transparent;
    margin: 0;
    overflow: hidden;
}

.homepage-footer-socials a.footer-app-badge:hover {
    background: transparent;
    border-color: transparent;
    transform: translateY(-1px);
}

.homepage-footer-socials a.footer-app-badge img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.homepage-footer-socials a i {
    align-items: center;
    display: inline-flex;
    height: 1em;
    justify-content: center;
    line-height: 1;
    min-height: 1em;
    min-width: 1em;
    width: 1em;
}

.homepage-footer-socials a:hover {
    background: rgba(185, 28, 28, 0.16);
    border-color: rgba(185, 28, 28, 0.5);
    transform: translateY(-1px);
}

.homepage-footer-legal {
    max-width: 860px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.82);
}

.homepage-footer-legal .footer-legal-links a:hover {
    color: #ffffff;
}

@keyframes breakingPulse {
    0% { box-shadow: 0 0 0 0 rgba(185, 28, 28, 0.22); }
    70% { box-shadow: 0 0 0 8px rgba(185, 28, 28, 0); }
    100% { box-shadow: 0 0 0 0 rgba(185, 28, 28, 0); }
}

.library-summary-grid {
    row-gap: 0.5rem;
}

.library-stat-card {
    min-width: 110px;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.library-stat-label {
    display: block;
    color: #6b7280;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.library-stat-value {
    display: block;
    margin-top: 0.2rem;
    font-family: 'Playfair Display', serif;
    font-size: 1.45rem;
    line-height: 1;
    color: #111827;
}

.account-library-section {
    border-radius: 24px;
}

.library-empty-state {
    padding: 1.5rem;
    border: 1px dashed rgba(17, 24, 39, 0.14);
    border-radius: 18px;
    background: #fbfaf7;
    color: #6b7280;
    text-align: center;
}

.library-story-card {
    padding: 1rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 20px;
    background: #fff;
}

.library-recipe-card {
    background: linear-gradient(180deg, #ffffff 0%, #fcfbf8 100%);
}

.library-story-image {
    height: 180px;
    border-radius: 14px;
}

.library-story-kicker {
    color: #b91c1c;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.library-follow-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 16px;
    background: #fff;
}

.library-collection-focus {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 18px;
    background: linear-gradient(180deg, #fbfbff 0%, #ffffff 100%);
}

.library-sidebar-stack {
    display: grid;
    gap: 1.1rem;
}

.library-mini-card {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 16px;
    background: #fff;
    color: #111827;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.library-mini-card:hover {
    color: #111827;
    border-color: rgba(17, 24, 39, 0.16);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
    transform: translateY(-1px);
}

.library-mini-card span {
    color: #6b7280;
    font-size: 0.86rem;
}

.library-signal-card {
    padding: 0.9rem 0.95rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.library-preferences-card {
    top: 100px;
}

.library-preference-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.library-chip-check {
    position: relative;
    cursor: pointer;
}

.library-chip-check input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.library-chip-check span {
    display: inline-flex;
    align-items: center;
    padding: 0.48rem 0.85rem;
    border: 1px solid rgba(17, 24, 39, 0.1);
    border-radius: 999px;
    background: #fff;
    color: #374151;
    font-size: 0.88rem;
    transition: all 0.2s ease;
}

.library-chip-check input:checked + span {
    border-color: #111827;
    background: #111827;
    color: #fff;
}

.library-collection-toolbar {
    padding: 1rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 1));
}

.library-collection-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.library-collection-card {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: #fff;
    color: #111827;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.library-collection-card.is-active {
    border-color: rgba(17, 24, 39, 0.2);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.library-collection-card:hover {
    border-color: rgba(17, 24, 39, 0.22);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.library-collection-link {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    color: inherit;
}

.library-collection-name {
    font-weight: 700;
}

.library-collection-count {
    color: #6b7280;
    font-size: 0.82rem;
}

.library-collection-inline-form .input-group {
    align-items: stretch;
}

.library-collection-inline-form .form-control,
.library-collection-inline-form .btn,
.library-collection-delete-form .btn {
    border-radius: 999px !important;
}

.library-recipe-collection-manager summary {
    cursor: pointer;
    color: #374151;
    font-size: 0.92rem;
    font-weight: 600;
}

.library-recipe-collection-form {
    padding: 0.9rem 1rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 16px;
    background: #f9fafb;
}

.library-collection-inline-form .btn {
    padding-inline: 0.9rem;
}

.library-collection-share-form .btn,
.library-share-link-wrap .form-control {
    border-radius: 999px;
}

.library-share-link-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.shared-library-shell {
    max-width: 880px;
}

.shared-library-hero {
    padding: 1.5rem 1.75rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

.library-story-card .form-select-sm {
    min-width: 9.5rem;
}

.library-order-controls {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.article-account-actions {
    margin-right: 0.5rem;
}

.header-library-badge {
    min-width: 22px;
    font-size: 0.68rem;
}

.homepage-personalized-card {
    border-top: 3px solid #111827;
}

.homepage-personalized-image {
    height: 200px;
}

.homepage-personalized-fallback {
    min-height: 200px;
    padding: 1rem 1rem 1.1rem;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0)),
        linear-gradient(135deg, #1d4ed8 0%, #0f766e 100%);
    color: #eff6ff;
}

.homepage-personalized-fallback-kicker {
    display: inline-flex;
    align-self: flex-start;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.homepage-personalized-fallback-title {
    margin-top: 0.9rem;
    font-family: 'Playfair Display', serif;
    font-size: 1.15rem;
    line-height: 1.3;
    font-weight: 700;
}

.homepage-density-compact .homepage-grid-card-body,
.homepage-density-compact .homepage-latest-list-body,
.homepage-density-compact .homepage-classic-card-body {
    padding: 0.85rem !important;
}

@media (max-width: 991.98px) {
    .library-preferences-card {
        position: static !important;
    }

    .library-collection-focus {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* --- Fact Check Styles --- */
.fact-check-card {
    border: none;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 2rem;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.claim-box {
    background-color: #000;
    color: #fff;
    padding: 2rem;
    position: relative;
    border-left: 6px solid #dc3545;
}

.claim-label {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #fff;
    font-weight: 800;
    margin-bottom: 0.5rem;
    display: block;
}

.claim-label i {
    color: #dc3545;
    margin-right: 8px;
}

.claim-text {
    font-size: 1.8rem;
    font-family: 'Noto Sans Devanagari', sans-serif;
    line-height: 1.4;
    font-weight: 700;
}

.verdict-box {
    padding: 1.5rem;
    background: #f8f9fa;
    border-top: 1px solid #eee;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.verdict-meter {
    display: flex;
    gap: 8px;
    flex-grow: 1;
    max-width: 300px;
    margin-left: auto;
}

.meter-segment {
    flex: 1;
    height: 10px;
    background: #e9ecef;
    border-radius: 10px;
    position: relative;
}

.meter-segment.active-false { background: #dc3545; }
.meter-segment.active-misleading { background: #ffc107; }
.meter-segment.active-true { background: #198754; }

.verdict-label {
    font-weight: 800;
    text-transform: uppercase;
    font-size: 1.2rem;
}

.text-false { color: #dc3545; }
.text-misleading { color: #ffc107; }
.text-true { color: #198754; }

/* Fact Check Verdict Badge */
.verdict-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 50px;
    font-weight: bold;
    color: #fff;
    text-transform: uppercase;
    font-size: 0.9rem;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.verdict-badge.is-false { background-color: #dc3545; }
.verdict-badge.is-misleading { background-color: #ffc107; color: #000; }
.verdict-badge.is-true { background-color: #198754; }
.header-notification-trigger {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 34px;
    min-width: 34px;
    text-decoration: none;
}

.header-notification-count {
    background: #c81e1e;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1;
    position: absolute;
    top: -1px !important;
    right: -3px !important;
    left: auto !important;
    transform: none !important;
    min-width: 17px;
    height: 13px;
    max-width: 23px;
    padding: 0 3px;
    border: 1px solid #fff;
    box-shadow: none;
    font-size: 0.46rem;
    text-align: center;
    z-index: 1;
}

.header-notification-menu {
    width: min(24rem, 88vw);
}

.header-notification-item {
    white-space: normal;
}

.header-notification-item .small {
    line-height: 1.35;
}
.search-shell {
    background:
        radial-gradient(circle at top right, rgba(177, 199, 255, 0.22), transparent 28%),
        linear-gradient(180deg, #fbfaf7 0%, #f4f1eb 100%);
}

.directory-shell,
.archive-shell {
    background:
        radial-gradient(circle at top left, rgba(18, 70, 214, 0.08), transparent 24%),
        linear-gradient(180deg, #faf8f3 0%, #f2efe8 100%);
}

.live-desk-shell {
    background:
        radial-gradient(circle at top right, rgba(255, 90, 95, 0.12), transparent 24%),
        linear-gradient(180deg, #faf8f3 0%, #f1ede6 100%);
}

.most-read-shell {
    background: linear-gradient(180deg, #f6f2ea 0%, #fcfbf8 100%);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.most-read-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

@media (max-width: 767.98px) {
    .most-read-header {
        flex-direction: column;
        align-items: flex-start;
    }
}

.live-desk-hero,
.live-spotlight-card,
.live-spotlight-rail,
.live-briefing-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 24px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
    padding: 1.5rem;
}

.live-spotlight-meta,
.live-briefing-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.live-key-moments,
.live-briefing-moments,
.live-briefing-related {
    display: grid;
    gap: 0.9rem;
}

.live-key-moment-item,
.live-briefing-moment,
.live-briefing-related-item {
    display: block;
    background: rgba(248, 250, 252, 0.95);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 18px;
    padding: 1rem;
    text-decoration: none;
    color: #111827;
}

.live-briefing-related-item strong {
    display: block;
    margin-top: 0.55rem;
}

.live-briefing-stat {
    min-width: 120px;
    background: rgba(15, 23, 42, 0.03);
    border-radius: 18px;
    padding: 0.9rem 1rem;
}

.live-briefing-stat strong {
    display: block;
    font-size: 1.4rem;
    line-height: 1.1;
    color: #111827;
}

.live-briefing-stat span {
    color: #6b7280;
    font-size: 0.84rem;
}

.trust-panel {
    margin-top: 2rem;
}

.trust-note-card {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 22px;
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.05);
    padding: 1.35rem;
}

.trust-note-correction {
    border-left: 4px solid #b91c1c;
    background: rgba(254, 242, 242, 0.92);
}

.trust-note-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(185, 28, 28, 0.1);
    color: #b91c1c;
    font-size: 1.1rem;
}

.trust-meta-list,
.trust-methodology-list,
.trust-timeline {
    display: grid;
    gap: 0.9rem;
}

.trust-meta-item {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    color: #4b5563;
}

.trust-meta-item strong,
.trust-timeline-title strong {
    color: #111827;
}

.trust-methodology-item {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    color: #4b5563;
}

.trust-methodology-item i {
    color: #1246d6;
    font-size: 1.1rem;
    line-height: 1;
}

.trust-timeline-item {
    display: grid;
    grid-template-columns: 14px 1fr;
    gap: 0.85rem;
}

.trust-timeline-marker {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #111827;
    margin-top: 0.3rem;
}

.trust-timeline-title {
    color: #111827;
    font-weight: 600;
    margin-bottom: 0.2rem;
}

.trust-timeline-meta {
    color: #6b7280;
    font-size: 0.9rem;
}

.author-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.author-trust-card {
    background: rgba(248, 250, 252, 0.95);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 18px;
    padding: 1rem;
}

.author-trust-card strong {
    color: #111827;
    font-size: 1.05rem;
}

@media (max-width: 767.98px) {
    .author-trust-grid {
        grid-template-columns: 1fr;
    }
}

.directory-hero,
.archive-filter-card {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 24px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
    padding: 1.6rem;
}

.directory-title {
    font-size: clamp(2rem, 4vw, 3.1rem);
    font-weight: 700;
    color: #111827;
}

.directory-subtitle {
    color: #4b5563;
    max-width: 48rem;
}

.directory-card {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 22px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.05);
    padding: 1.4rem;
}

.directory-avatar {
    width: 72px;
    height: 72px;
    min-width: 72px;
}

.directory-avatar-fallback {
    background: #111827;
    color: #f9fafb;
    font-size: 1.5rem;
    font-weight: 700;
}

.directory-meta-line,
.directory-card-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    color: #6b7280;
    font-size: 0.9rem;
}

.directory-card-footer {
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    margin-top: 1rem;
    padding-top: 1rem;
    justify-content: space-between;
}

.archive-sidebar {
    position: sticky;
    top: 100px;
}

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

.archive-month-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #111827;
    text-decoration: none;
    padding: 0.85rem 1rem;
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.9);
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.archive-month-item:hover {
    background: rgba(18, 70, 214, 0.08);
    color: #1246d6;
}

.archive-results-head {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 22px;
    padding: 1.2rem 1.35rem;
}

@media (max-width: 991.98px) {
    .archive-sidebar {
        position: static;
    }
}

.search-hero-card {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 28px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08);
    padding: 2rem;
}

.search-eyebrow,
.search-section-kicker,
.topic-hub-stat-label {
    display: inline-block;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-size: 0.74rem;
    font-weight: 700;
    color: #6b7280;
}

.search-title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    color: #111827;
}

.search-subtitle,
.search-result-excerpt {
    color: #4b5563;
}

.search-label {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6b7280;
}

.search-results-summary {
    color: #4b5563;
    font-weight: 600;
}

.search-section {
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 24px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
    padding: 1.5rem;
}

.search-inline-link,
.topic-hub-inline-link {
    color: #1246d6;
    font-weight: 700;
    text-decoration: none;
}

.search-inline-link:hover,
.topic-hub-inline-link:hover {
    color: #0d369f;
}

.search-empty-state,
.search-simple-card,
.topic-hub-stat-card,
.topic-hub-latest-card,
.topic-hub-related-card {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
    padding: 1.25rem;
}

.story-context-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.story-context-stat strong,
.story-context-rail strong,
.breaking-live-hook strong {
    font-size: 0.85rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.story-context-rail {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.profile-story-timeline {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.profile-story-timeline:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.breaking-live-hook {
    border-radius: 18px;
    padding: 1rem 1.1rem;
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.08), rgba(249, 115, 22, 0.06));
    border: 1px solid rgba(220, 38, 38, 0.12);
    color: #7f1d1d;
}

.conversation-question-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.conversation-question-pill {
    padding: 0.65rem 0.8rem;
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.04);
    color: #0f172a;
    font-weight: 600;
}

.article-content .news-faq,
.article-content .news-timeline-block,
.article-content .news-factbox,
.article-content .news-qa-block,
.article-content .news-question-block,
.article-content .news-answer-block,
.article-content .news-transcript-block,
.article-content .news-author-note,
.article-content .news-step-block,
.article-content .news-callout,
.article-content .news-summary-box,
.article-content .news-key-takeaways {
    margin: 1.75rem 0;
}

/* Editor-v2 newsroom callouts — variants share a base, accent-bar swaps colour. */
.article-content .news-callout {
    border-left: 4px solid #1d4ed8;
    border-radius: 14px;
    background: rgba(239, 246, 255, 0.8);
    padding: 1rem 1.15rem;
    color: #1e293b;
}
.article-content .news-callout--warning { border-left-color: #d97706; background: rgba(254, 243, 199, 0.55); }
.article-content .news-callout--success { border-left-color: #059669; background: rgba(209, 250, 229, 0.5); }
.article-content .news-callout--danger  { border-left-color: #dc2626; background: rgba(254, 226, 226, 0.5); }
.article-content .news-callout__title { font-size: 1rem; font-weight: 700; margin: 0 0 0.4rem; }
.article-content .news-callout__body { margin: 0; line-height: 1.6; }

/* Summary box — "what to know" lead + bullets. */
.article-content .news-summary-box {
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 18px;
    padding: 1.15rem 1.25rem;
    background: rgba(248, 250, 252, 0.96);
}
.article-content .news-summary-box__title { font-size: 1.1rem; font-weight: 700; margin: 0 0 0.6rem; }
.article-content .news-summary-box__lead  { margin: 0 0 0.65rem; line-height: 1.6; color: #1f2937; }
.article-content .news-summary-box__list  { margin: 0; padding-left: 1.2rem; }
.article-content .news-summary-box__list li { margin: 0.2rem 0; }

/* Key takeaways — NYT-style emphasised bullets. */
.article-content .news-key-takeaways {
    border-top: 2px solid #0f172a;
    border-bottom: 2px solid #0f172a;
    padding: 1rem 0 1.15rem;
    background: transparent;
}
.article-content .news-key-takeaways__title {
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0 0 0.65rem;
    color: #0f172a;
}
.article-content .news-key-takeaways__list { margin: 0; padding-left: 1.2rem; }
.article-content .news-key-takeaways__list li {
    margin: 0.35rem 0;
    font-size: 1.05rem;
    line-height: 1.55;
    color: #111827;
}

.article-content .news-faq {
    border-radius: 22px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(248, 250, 252, 0.96);
    padding: 1.25rem 1.35rem;
}

.article-content .news-faq h3,
.article-content .news-timeline-block h3,
.article-content .news-factbox h3 {
    margin-bottom: 1rem;
    font-size: 1.1rem;
    font-weight: 700;
}

.article-content .news-faq-item + .news-faq-item {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.article-content .news-faq-item h4 {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.45rem;
}

.article-content .news-timeline-block,
.article-content .news-factbox {
    border-left: 4px solid #1d4ed8;
    border-radius: 18px;
    background: rgba(239, 246, 255, 0.8);
    padding: 1.15rem 1.25rem;
}

.article-content .news-timeline-block ul,
.article-content .news-factbox ul {
    margin: 0;
    padding-left: 1.2rem;
}

.article-content .news-factbox-grid {
    display: grid;
    grid-template-columns: minmax(120px, 180px) 1fr;
    gap: 0.5rem 1rem;
    margin: 0;
}

.article-content .news-factbox-grid dt {
    font-weight: 700;
}

.article-content .news-factbox-grid dd {
    margin: 0;
    color: #334155;
}

.article-content .news-qa-block,
.article-content .news-question-block,
.article-content .news-answer-block,
.article-content .news-transcript-block {
    border-radius: 18px;
    padding: 1rem 1.15rem;
}

.article-content .news-qa-block {
    background: rgba(250, 245, 255, 0.92);
    border: 1px solid rgba(126, 34, 206, 0.12);
}

.article-content .news-question-block {
    background: rgba(239, 246, 255, 0.92);
    border-left: 4px solid #2563eb;
}

.article-content .news-answer-block {
    background: rgba(248, 250, 252, 0.96);
    border-left: 4px solid #0f766e;
}

.article-content .news-transcript-block {
    background: rgba(248, 250, 252, 0.92);
    border: 1px dashed rgba(15, 23, 42, 0.18);
}

.article-content .news-question-block h4,
.article-content .news-answer-block h4,
.article-content .news-qa-block h4,
.article-content .news-transcript-block h4 {
    font-size: 0.95rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 0.45rem;
}

.search-result-card {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    min-height: 178px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.search-result-media {
    min-height: 100%;
    background: #e5e7eb;
}

.search-result-media img {
    display: block;
}

.search-result-body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 1rem 1.1rem;
}

.search-result-meta,
.topic-hub-latest-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.75rem;
}

.search-meta-chip,
.topic-hub-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.28rem 0.72rem;
    border-radius: 999px;
    background: rgba(18, 70, 214, 0.1);
    color: #1246d6;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.search-meta-chip-muted {
    background: rgba(15, 23, 42, 0.08);
    color: #374151;
}

.search-meta-chip-strong,
.topic-hub-meta-chip-accent {
    background: #111827;
    color: #f9fafb;
}

.search-meta-time,
.topic-hub-meta-time {
    color: #6b7280;
    font-size: 0.82rem;
}

.search-result-title {
    font-size: clamp(1.05rem, 1rem + 0.26vw, 1.25rem);
    line-height: 1.28;
    margin-bottom: 0.7rem;
}

.search-result-excerpt {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 0.92rem;
    line-height: 1.55;
}

.search-pagination-nav .pagination {
    margin-bottom: 0;
}

.search-shell .pagination .page-link {
    min-width: 2.15rem;
    border-color: rgba(15, 23, 42, 0.12);
    border-radius: 999px !important;
    color: #111827;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    box-shadow: none;
}

.search-shell .pagination .page-link:hover,
.search-shell .pagination .page-link:focus-visible {
    border-color: rgba(15, 23, 42, 0.22);
    background: rgba(15, 23, 42, 0.06);
    color: #111827;
}

.search-shell .pagination .page-item.active .page-link {
    border-color: #111827;
    background: #111827;
    color: #fff;
}

.search-shell .pagination .page-item.disabled .page-link {
    border-color: rgba(15, 23, 42, 0.08);
    background: rgba(248, 250, 252, 0.9);
    color: #94a3b8;
}

.search-pagination-ellipsis {
    min-width: 2rem;
}

.article-page-shell {
    background: linear-gradient(180deg, #f8f6f1 0%, #ffffff 24%);
}

.article-story-shell {
    max-width: 1240px;
}

.article-page-shell .blog-post {
    color: #111827;
}

.article-page-shell .blog-post-title {
    font-family: "Noto Sans Devanagari", var(--ntcms-font-family-sans);
    font-size: 33px;
    line-height: 1.34;
    letter-spacing: 0;
    margin-bottom: 1rem !important;
    max-width: 100%;
    font-weight: 600;
    text-wrap: normal;
}

.article-page-shell .article-kicker-row {
    gap: 0.55rem;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
}

.article-page-shell .article-kicker-item {
    display: inline-flex;
    align-items: center;
}

.article-page-shell .article-kicker-separator {
    opacity: 0.6;
}

.article-page-shell .story-type-breaking .blog-post-title,
.article-page-shell .story-type-breaking_news .blog-post-title {
    max-width: 28ch;
    line-height: 1.34;
}

.article-page-shell .story-type-breaking,
.article-page-shell .story-type-breaking_news {
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
}

.article-page-shell .story-type-breaking > *,
.article-page-shell .story-type-breaking_news > * {
    margin-left: auto;
    margin-right: auto;
}

.article-page-shell .story-type-breaking .blog-post-title,
.article-page-shell .story-type-breaking_news .blog-post-title,
.article-page-shell .story-type-breaking .article-subheading,
.article-page-shell .story-type-breaking_news .article-subheading,
.article-page-shell .story-type-breaking .article-content,
.article-page-shell .story-type-breaking_news .article-content,
.article-page-shell .story-type-breaking .blog-post-meta,
.article-page-shell .story-type-breaking_news .blog-post-meta,
.article-page-shell .story-type-breaking .trust-note-card,
.article-page-shell .story-type-breaking_news .trust-note-card,
.article-page-shell .story-type-breaking .figure,
.article-page-shell .story-type-breaking_news .figure {
    max-width: 46rem;
}

.article-page-shell .article-subheading {
    max-width: 46rem;
    color: #4b5563 !important;
    line-height: 1.6;
    margin-bottom: 1rem !important;
}

.article-page-shell .article-synopsis {
    max-width: 46rem;
}

.article-page-shell .article-dek {
    color: #4b5563;
    font-size: clamp(1.12rem, 2vw, 1.45rem);
    line-height: 1.6;
    font-weight: 400;
}

.article-page-shell .blog-post-meta {
    margin-top: 0;
    margin-bottom: 1.4rem !important;
    padding-top: 0.55rem !important;
    padding-bottom: 0.8rem !important;
    min-height: 0 !important;
    border-top-color: transparent !important;
    border-color: rgba(15, 23, 42, 0.08) !important;
}

.article-page-shell .article-meta-actions {
    gap: 0.45rem !important;
}

.article-page-shell .article-content {
    max-width: 68ch;
    font-size: 1.06rem;
    line-height: 1.9;
    color: #1f2937;
}

.article-page-shell .article-content p {
    margin-bottom: 1.2rem;
}

.article-page-shell .article-content > p:first-of-type {
    font-size: 1.12rem;
    line-height: 1.95;
}

.article-page-shell .story-type-fact_check .fact-check-card {
    margin-bottom: 1.15rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.article-page-shell .fact-check-methodology-card,
.article-page-shell .media-key-points-card,
.article-page-shell .product-briefing-card,
.article-page-shell .live-briefing-card {
    max-width: 46rem;
}

.article-page-shell .fact-check-intro-card {
    max-width: 46rem;
    margin: 0 0 1.25rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.article-page-shell .fact-check-intro-card .claim-text,
.article-page-shell .fact-check-intro-card .verdict-box {
    font-size: 1rem;
}

.article-page-shell .fact-check-reference-item {
    padding: 1rem 1.1rem;
    border-color: rgba(15, 23, 42, 0.08);
}

.article-page-shell .fact-check-evidence-card .card-body {
    padding: 1.1rem;
}

.article-page-shell .media-key-points-list li,
.article-page-shell .product-briefing-card li {
    margin-bottom: 0.5rem;
}

.article-page-shell .recommended-stories,
.article-page-shell .related-videos,
.article-page-shell .trust-panel,
.article-page-shell .comments-section {
    margin-top: 3rem;
}

.article-page-shell .reader-story-section {
    border-top: 1px solid rgba(15, 23, 42, 0.1);
    padding-top: 1.5rem;
}

.article-page-shell .reader-story-card,
.article-page-shell .article-author-card {
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06) !important;
}

.article-page-shell .article-tag-strip {
    padding-top: 0.25rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.article-page-shell .newsletter-signup {
    margin-top: 3rem;
}

@media (min-width: 992px) {
    .article-page-shell .newsletter-signup {
        min-block-size: 18rem;
    }

    .article-page-shell .newsletter-signup .row {
        min-block-size: 100%;
    }

    .article-page-shell .newsletter-signup .col-lg-5.ps-lg-5 {
        min-block-size: 100%;
    }
}

.article-page-shell .ntcms-footer {
    margin-top: 3rem;
}

.breaking-prelude-card {
    padding: 1rem 1.15rem;
    border-radius: 18px;
    background: linear-gradient(180deg, #fff7f5 0%, #ffffff 100%);
    border: 1px solid rgba(220, 38, 38, 0.12);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.breaking-prelude-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.breaking-prelude-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    background: rgba(220, 38, 38, 0.06);
    border: 1px solid rgba(220, 38, 38, 0.12);
    color: #7f1d1d;
    font-size: 0.82rem;
    font-weight: 600;
}

.breaking-prelude-facts {
    padding-left: 1rem;
    color: #374151;
}

.breaking-prelude-facts li + li {
    margin-top: 0.4rem;
}

.breaking-prelude-helper {
    font-size: 0.9rem;
    color: #7c2d12;
}

.live-hero-shell .live-status-badge {
    padding: 0.38rem 0.7rem;
    border-radius: 999px;
    font-size: 0.72rem;
    letter-spacing: 0.09em;
}

.live-hero-shell .live-updated-time {
    font-size: 0.88rem;
    letter-spacing: 0.01em;
}

.live-hero-shell h1 {
    max-width: 10ch;
}

.live-family-shell .article-story-shell {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.live-briefing-card {
    padding: 1.35rem;
    border-radius: 22px;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.live-briefing-moment {
    padding: 0.95rem 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    background: #fff;
}

.live-briefing-moment + .live-briefing-moment {
    margin-top: 0.9rem;
}

.live-update-date-stamp {
    letter-spacing: 0.03em;
}

.live-summary-content,
.live-update-card,
.product-briefing-card,
.fact-check-methodology-card,
.media-key-points-card {
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.live-update-card .update-content-text {
    line-height: 1.75;
    max-width: 42rem;
}

.live-update-card .live-blog-headline {
    max-width: 34rem;
    line-height: 1.2;
}

.live-update-card .btn-outline-primary,
.live-update-card .btn-outline-dark,
.live-update-card .btn-outline-success {
    min-width: 2.25rem;
}

.product-briefing-card .search-meta-chip,
.story-type-timeline .search-meta-chip,
.story-type-newsletter .search-meta-chip,
.story-type-review .search-meta-chip,
.story-type-listicle .search-meta-chip,
.story-type-roundup .search-meta-chip {
    background: #eff6ff;
    color: #1d4ed8;
}

.product-briefing-card ul,
.story-type-timeline .trust-note-card ul {
    columns: 1;
}

.story-type-timeline .trust-note-card,
.story-type-newsletter .product-briefing-card,
.story-type-review .product-briefing-card,
.story-type-listicle .product-briefing-card,
.story-type-roundup .product-briefing-card {
    max-width: 46rem;
}

.story-type-timeline .story-context-grid,
.story-type-newsletter .product-briefing-card,
.story-type-review .product-briefing-card,
.story-type-listicle .product-briefing-card,
.story-type-roundup .product-briefing-card {
    margin-top: 1.5rem;
}

.story-type-timeline .faq-story-nav a,
.story-type-newsletter .product-briefing-card li,
.story-type-review .product-briefing-card li,
.story-type-listicle .product-briefing-card li,
.story-type-roundup .product-briefing-card li {
    line-height: 1.7;
}

.article-page-shell .bi,
.article-page-shell .newsletter-signup .bi,
.article-page-shell .article-author-card .bi,
.article-page-shell .reader-story-section .bi {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    min-width: 1em;
    vertical-align: -0.125em;
}

.article-page-shell .bi::before,
.article-page-shell .newsletter-signup .bi::before,
.article-page-shell .article-author-card .bi::before,
.article-page-shell .reader-story-section .bi::before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-image: var(--icon-svg);
    mask-image: var(--icon-svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.article-page-shell .bi-arrow-repeat,
.article-page-shell .bi-arrow-right,
.article-page-shell .bi-badge-cc,
.article-page-shell .bi-bell,
.article-page-shell .bi-bell-fill,
.article-page-shell .bi-bookmark,
.article-page-shell .bi-bookmark-check-fill,
.article-page-shell .bi-check-lg,
.article-page-shell .bi-check2-circle,
.article-page-shell .bi-clipboard,
.article-page-shell .bi-clock,
.article-page-shell .bi-collection,
.article-page-shell .bi-cup-hot,
.article-page-shell .bi-dot,
.article-page-shell .bi-envelope,
.article-page-shell .bi-facebook,
.article-page-shell .bi-film,
.article-page-shell .bi-headphones,
.article-page-shell .bi-journal-text,
.article-page-shell .bi-linkedin,
.article-page-shell .bi-lock,
.article-page-shell .bi-patch-check-fill,
.article-page-shell .bi-person-check-fill,
.article-page-shell .bi-person-circle,
.article-page-shell .bi-person-fill,
.article-page-shell .bi-person-plus,
.article-page-shell .bi-play-circle,
.article-page-shell .bi-play-circle-fill,
.article-page-shell .bi-search,
.article-page-shell .bi-send,
.article-page-shell .bi-share,
.article-page-shell .bi-flag,
.article-page-shell .bi-shield-check,
.article-page-shell .bi-star-fill,
.article-page-shell .bi-stop-circle,
.article-page-shell .bi-twitter,
.article-page-shell .bi-twitter-x,
.article-page-shell .bi-type,
.article-page-shell .bi-printer,
.article-page-shell .bi-volume-mute-fill,
.article-page-shell .bi-volume-up,
.article-page-shell .bi-whatsapp,
.article-page-shell .bi-x-circle {
    --icon-svg: none;
}

.article-page-shell .bi-arrow-repeat { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 8a6 6 0 0 1 10.2-4.2V2.5H13.5v4H9.4V5.2h2A5 5 0 1 0 12 11h1a6 6 0 1 1-11-3Z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-arrow-right { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='m10.5 3.5-.7.7L12.6 7H2v1h10.6L9.8 10.8l.7.7L14.5 7.5z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-badge-cc { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 3.5A1.5 1.5 0 0 1 3.5 2h9A1.5 1.5 0 0 1 14 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 12.5zm3.2 3.1a1.7 1.7 0 1 0 0 2.8l-.7.7a2.7 2.7 0 1 1 0-4.2zm5 0a1.7 1.7 0 1 0 0 2.8l-.7.7a2.7 2.7 0 1 1 0-4.2z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-bell,
.article-page-shell .bi-bell-fill { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 15a2 2 0 0 0 1.995-1.85L10 13H6a2 2 0 0 0 2 2Zm4-4V7a4 4 0 1 0-8 0v4L2.5 12.5V13h11v-.5z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-bookmark,
.article-page-shell .bi-bookmark-check-fill { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5V15l-5-3-5 3z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-check-lg,
.article-page-shell .bi-check2-circle { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='m6.2 11.2-3-3 .8-.8 2.2 2.1 5-5 .8.8z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-clipboard { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M10 1.5h-1A1.5 1.5 0 0 0 7.5 0h-1A1.5 1.5 0 0 0 5 1.5H4A2 2 0 0 0 2 3.5v10A2.5 2.5 0 0 0 4.5 16h7A2.5 2.5 0 0 0 14 13.5v-10A2 2 0 0 0 12 1.5zm-3.5 0h1v1h-1zm5 12A1.5 1.5 0 0 1 10 15H5A1.5 1.5 0 0 1 3.5 13.5v-9A1 1 0 0 1 4.5 3h7a1 1 0 0 1 1 1z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-clock { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Zm.5 3v3.3l2.4 1.4-.5.9L7.5 8.4V4.5z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-collection { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 2h9v9H2zm3 3h9v9H5zm-4 8h3v1H1z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-cup-hot { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M3 3h8v4a3 3 0 0 1-3 3H6A3 3 0 0 1 3 7zm8 1h1a2 2 0 0 1 0 4h-1V7h1a1 1 0 0 0 0-2h-1zm-7 8h7v1H4zM6 1.5c1 1-.5 1.5.5 2.5.7.7.7 1.4.2 2.1-.1-.8-.4-1.2-.8-1.6-.6-.6-.9-1.4.1-3Z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-dot { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='black'/%3E%3C/svg%3E"); }
.article-page-shell .bi-envelope { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M1.5 3h13A1.5 1.5 0 0 1 16 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 11.5v-7A1.5 1.5 0 0 1 1.5 3Zm0 1L8 8.3 14.5 4zm13 8v-6.8L8.3 9.1a.5.5 0 0 1-.6 0L1.5 5.2V12z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-facebook { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M9 15V8.8h2.1l.4-2.5H9V4.7c0-.7.2-1.2 1.2-1.2h1.4V1.3C11.1 1.2 10.5 1 9.6 1 7.8 1 6.6 2.1 6.6 4.1v2.2H4.5v2.5h2.1V15z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-film,
.article-page-shell .bi-journal-text { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 2h12v12H2zm2 2v8h8V4zm1 1h6v1H5zm0 2h6v1H5zm0 2h4v1H5z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-headphones { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 2a5 5 0 0 0-5 5v4a2 2 0 0 0 2 2h1V8H5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1V5a3 3 0 0 1 6 0v1a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-1V7a5 5 0 0 0-5-5Z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-linkedin { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2.7 5.3H5V13H2.7zm1.1-3.8a1.3 1.3 0 1 1 0 2.6 1.3 1.3 0 0 1 0-2.6ZM6.5 5.3h2.2v1.1h.1c.3-.6 1.1-1.3 2.3-1.3 2.4 0 2.9 1.6 2.9 3.7V13h-2.3V9.3c0-.9 0-2-1.2-2s-1.4 1-1.4 1.9V13H6.5z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-lock { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M11 6V4.5a3 3 0 1 0-6 0V6H3.5A1.5 1.5 0 0 0 2 7.5v5A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 12.5 6zm-5 0V4.5a2 2 0 1 1 4 0V6z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-patch-check-fill { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 0 6.7 1.7 4.6 1.4 4 3.6 2 4.7l1 2-1 2 2 1.1.6 2.2 2.1-.3L8 16l1.3-1.7 2.1.3.6-2.2 2-1.1-1-2 1-2-2-1.1-.6-2.2-2.1.3zM7 11.2 4.6 8.8l.8-.8L7 9.6l3.6-3.6.8.8z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-person-circle,
.article-page-shell .bi-person-fill,
.article-page-shell .bi-person-plus,
.article-page-shell .bi-person-check-fill { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-5 6c0-2.2 2.2-4 5-4s5 1.8 5 4z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-play-circle,
.article-page-shell .bi-play-circle-fill { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 1a7 7 0 1 1 0 14A7 7 0 0 1 8 1Zm-1.5 3.8v6.4L11 8 6.5 4.8Z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-search { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M11.5 10.5 15 14l-1 1-3.5-3.5a5.5 5.5 0 1 1 1-1ZM6.5 11A4.5 4.5 0 1 0 6.5 2a4.5 4.5 0 0 0 0 9Z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-send { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M15.9 1.6 14.5 14a.7.7 0 0 1-1 .6L9.7 12l-2.6 2.3a.7.7 0 0 1-1.2-.5V10L1.2 8.1a.7.7 0 0 1 0-1.3L14.9.9a.7.7 0 0 1 1 .7z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-share { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M13 10a2 2 0 0 0-1.6.8L5.9 8a2 2 0 0 0 0-.5l5.5-2.8A2 2 0 1 0 10.8 4L5.3 6.8a2 2 0 1 0 0 2.4l5.5 2.8A2 2 0 1 0 13 10Z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-type { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2.2 12.6 5.5 3h1.7l3.3 9.6h-1.6l-.9-2.7H4.6l-.9 2.7zM5 8.7h2.6L6.3 4.8zm6.9 4-.2-.7c-.5.6-1 .9-1.7.9-1.1 0-1.8-.7-1.8-1.7 0-1.2 1-1.8 2.4-1.8h1V8.9c0-.5-.3-.8-.9-.8-.6 0-.9.3-1 .7h-1.3c0-1.1.9-1.9 2.4-1.9 1.4 0 2.2.7 2.2 1.9v3.8zm-1.4-.7c.6 0 1-.4 1-.9V10c-.7 0-1.7.1-1.7.9 0 .5.3.7.7.7Z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-printer { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2.5 8a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm9.5 4v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-2H1.5A1.5 1.5 0 0 1 0 10.5v-4A1.5 1.5 0 0 1 1.5 5H2V2.5A1.5 1.5 0 0 1 3.5 1h9A1.5 1.5 0 0 1 14 2.5V5h.5A1.5 1.5 0 0 1 16 6.5v4a1.5 1.5 0 0 1-1.5 1.5zM3 5h10V2.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5zm12 5.5v-4a.5.5 0 0 0-.5-.5h-13a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5H4v-2.5h8V11h2.5a.5.5 0 0 0 .5-.5ZM5 12v2h6v-3H5z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-stop-circle { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14Zm0-1A6 6 0 1 0 8 2a6 6 0 0 0 0 12ZM5 5h6v6H5z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-flag { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M14.5 3 8.7 8 14.5 13H4v2H3V1h1v2zM4 4v8h9.6L9.5 8.6 13.6 5.4z'/%3E%3C/svg%3E"); }

/* Reader text-size preference — drives the .article-content body font
 * scale based on the data-article-text-size attribute set on <html>
 * by reader.js (persisted in localStorage). Four tiers (sm/md/lg/xl)
 * match the dropdown labels. Selectors are extra-specific so they
 * override .article-page-shell .article-content > p:first-of-type
 * (which had higher specificity than the earlier attempt and was
 * leaving the lead paragraph at the default size).
 */
html[data-article-text-size="sm"] .article-page-shell { --reader-font-scale: 0.9; }
html[data-article-text-size="md"] .article-page-shell { --reader-font-scale: 1; }
html[data-article-text-size="lg"] .article-page-shell { --reader-font-scale: 1.18; }
html[data-article-text-size="xl"] .article-page-shell { --reader-font-scale: 1.35; }

/* Override the existing .article-content + first-of-type rules with a
 * higher-specificity selector. !important is intentional — we want the
 * reader preference to win even against per-story-type stylesheets
 * that may add their own paragraph rules later.
 */
html[data-article-text-size] .article-page-shell .article-content p,
html[data-article-text-size] .article-page-shell .article-content li,
html[data-article-text-size] .article-page-shell .article-content blockquote,
html[data-article-text-size] .article-page-shell .article-content > p:first-of-type {
    font-size: calc(1.125rem * var(--reader-font-scale, 1)) !important;
    line-height: 1.7;
}
html[data-article-text-size] .article-page-shell .article-content h2 {
    font-size: calc(1.55rem * var(--reader-font-scale, 1)) !important;
}
html[data-article-text-size] .article-page-shell .article-content h3 {
    font-size: calc(1.25rem * var(--reader-font-scale, 1)) !important;
}
html[data-article-text-size] .article-page-shell .article-content h4 {
    font-size: calc(1.1rem * var(--reader-font-scale, 1)) !important;
}
html[data-article-text-size] .article-page-shell .article-standfirst,
html[data-article-text-size] .article-page-shell .article-summary,
html[data-article-text-size] .article-page-shell .article-deck {
    font-size: calc(1.25rem * var(--reader-font-scale, 1)) !important;
}

/* ============================================================
 * Print stylesheet — strip site chrome so only the article prints.
 *
 * Before this block existed, hitting the toolbar print button (or
 * Ctrl+P) printed the entire page including header, sidebar, share
 * rail, ads, footer, dropdowns, and the sticky read-progress bar —
 * a noisy 2-3 page output instead of a clean reprint of the story.
 * ============================================================ */
@media print {
    /* Background colors don't render by default on most browsers, but
     * force black ink on white to be safe even when the user's printer
     * setting allows backgrounds. */
    html, body {
        background: #fff !important;
        color: #000 !important;
        font-size: 11pt !important;
    }

    /* Hide every chrome surface that isn't the article body. Selectors
     * cover the canonical newsroom layout + a few legacy classes that
     * predate the article-page-shell wrapper.
     *
     * NOTE: do NOT use bare `header` selector — the article renders its
     * title + byline inside <header class="article-lead-shell"> in
     * core_content.php. Hiding bare `header` strips the article's own
     * title. Target site-level headers by their specific classes instead.
     */
    body > header,
    .site-header,
    .masthead,
    .primary-nav,
    .ntcms-header,
    .topbar-public,
    .reading-progress,
    .reading-progress-bar,
    .article-share-rail,
    .article-share-rail-sticky,
    [data-article-share-rail],
    .article-meta-actions,            /* the toolbar with the print button itself */
    .article-newsroom-meta-line,
    .article-byline-social,
    .article-related,
    .article-recommendations,
    .article-comments,
    .comments-section,                /* CommentsSectionBuilder output */
    #comments,
    .recommended-stories,             /* RelatedContentBuilder: Readers Also Picked + Recommended Stories */
    .reader-story-section,
    .reader-section-heading,
    .reader-story-card,
    .reader-newsletter-signup,
    .newsletter-signup,
    .article-author-card,
    .article-paywall,
    .article-meter-banner,
    .trust-panel,                     /* ArticleViewModelFactory: Story lifecycle + Update Log + Recent newsroom changes */
    .trust-note-card,
    .trust-timeline,
    aside,
    .sidebar,
    .article-page-sidebar,
    .ad-slot,
    .advertisement,
    [data-ad-slot],
    footer,
    .ntcms-footer,
    .site-footer,
    .dpdp-consent-banner,
    .push-soft-prompt,
    .adblock-wall,
    .bottom-sticky-rail,
    .scroll-to-top-btn,
    body > nav,
    .primary-nav,
    .breadcrumb,
    .breadcrumb-container,
    .tts-settings-modal,
    .modal,
    .dropdown-menu,
    .article-meta-actions button,
    .article-meta-actions .btn,
    .article-page-shell aside,
    .article-page-shell footer,
    .article-page-shell .btn:not(.article-status-flag),
    .article-page-shell button:not(.article-status-flag) {
        display: none !important;
    }

    /* Explicitly show the article lead header (title + dek + byline)
     * since we may otherwise hide it under broader chrome rules. */
    .article-lead-shell,
    .article-lead-shell *,
    .article-title-stack,
    .article-title-stack *,
    .blog-post-title,
    .article-subheading,
    .article-byline,
    .article-byline-credit,
    .article-byline-name-line,
    .article-byline-dates {
        display: revert !important;
        visibility: visible !important;
        color: #000 !important;
    }

    /* Strip the article-page-shell wrapper down to a clean column. */
    .article-page-shell,
    .article-page,
    .article-reading-shell,
    .article-primary-shell,
    main,
    main#main-content {
        background: #fff !important;
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        box-shadow: none !important;
    }

    /* Keep the article body readable + linkable in print. */
    .article-content,
    .article-body {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        color: #000 !important;
    }
    .article-content p,
    .article-content li {
        font-size: 11pt !important;
        line-height: 1.5 !important;
        page-break-inside: avoid;
        orphans: 3;
        widows: 3;
    }
    .article-content h1,
    .article-content h2,
    .article-content h3 {
        page-break-after: avoid;
        color: #000 !important;
    }
    .article-title,
    h1.article-title,
    .blog-post-title,
    h1.blog-post-title {
        font-size: 22pt !important;
        line-height: 1.2 !important;
        margin: 0 0 0.5rem !important;
        color: #000 !important;
        font-weight: 800 !important;
    }
    .article-subheading,
    h2.article-subheading {
        font-size: 14pt !important;
        line-height: 1.35 !important;
        margin: 0.25rem 0 0.75rem !important;
        color: #222 !important;
        font-weight: 600 !important;
    }
    .article-standfirst,
    .article-deck {
        font-size: 13pt !important;
        font-style: italic;
    }
    .article-status-flag {
        display: inline-block !important;
        font-size: 9pt !important;
        font-weight: 700;
        padding: 1pt 6pt;
        border: 1pt solid #000;
        margin-bottom: 0.4rem;
    }
    .article-byline,
    .article-byline-credit {
        font-size: 10pt !important;
        margin-bottom: 1rem;
        border: none !important;
    }

    /* Show full URLs after every link so the printed copy is self-citing. */
    .article-content a[href]::after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        color: #444;
        word-break: break-all;
    }
    /* …except for anchors and JS-only links. */
    .article-content a[href^="#"]::after,
    .article-content a[href^="javascript:"]::after {
        content: "";
    }

    /* Keep the hero image but cap it so it doesn't eat a full page. */
    .article-hero,
    .article-content figure img,
    .article-content img {
        max-width: 100% !important;
        max-height: 4in !important;
        page-break-inside: avoid;
    }
    .article-hero figcaption,
    .article-content figcaption {
        font-size: 9pt !important;
        color: #444 !important;
        font-style: italic;
    }
}
.article-page-shell .bi-shield-check { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 0 2 2v4c0 4.1 2.7 7.8 6 9 3.3-1.2 6-4.9 6-9V2zm-1 11.2-2.4-2.4.8-.8L7 9.8l3.8-3.8.8.8z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-star-fill { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='m8 1.3 1.8 3.7 4.1.6-3 3 .7 4.1L8 10.8l-3.6 1.9.7-4.1-3-3 4.1-.6z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-twitter,
.article-page-shell .bi-twitter-x { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 2h2.6l3 4.1L11.1 2H14l-5 5.8L14.4 14h-2.6L8.6 9.7 4.9 14H2l5.2-6z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-volume-mute-fill { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8.7 2.1 5.9 4.9H3A1 1 0 0 0 2 6v4a1 1 0 0 0 1 1h2.9l2.8 2.8c.6.6 1.6.2 1.6-.7V2.8c0-.9-1-1.3-1.6-.7Zm4.8 3.6-.7-.7L12 5.8l-.8-.8-.7.7.8.8-.8.8.7.7.8-.8.8.8.7-.7-.8-.8z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-volume-up { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8.7 2.1 5.9 4.9H3A1 1 0 0 0 2 6v4a1 1 0 0 0 1 1h2.9l2.8 2.8c.6.6 1.6.2 1.6-.7V2.8c0-.9-1-1.3-1.6-.7ZM12 6.5a2.5 2.5 0 0 1 0 3.5l.7.7a3.5 3.5 0 0 0 0-4.9Zm1.8-1.8a5 5 0 0 1 0 7.1l.7.7a6 6 0 0 0 0-8.5z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-whatsapp { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M13.6 2.4A7.4 7.4 0 0 0 1.9 11l-1 3.7L4.7 13A7.4 7.4 0 1 0 13.6 2.4Zm-5.6 11a6 6 0 0 1-3-.8l-.2-.1-2.2.6.6-2.1-.1-.2A6 6 0 1 1 8 13.4Zm3.3-4.4c-.2-.1-1.1-.6-1.3-.6s-.3-.1-.4.1-.5.6-.6.7-.2.1-.4 0a4.8 4.8 0 0 1-1.4-.9 5.4 5.4 0 0 1-1-1.2c-.1-.2 0-.3.1-.4l.3-.3c.1-.1.1-.2.2-.3 0-.1 0-.2 0-.3S6 4.8 5.8 4.4s-.3-.3-.4-.3h-.3c-.1 0-.3 0-.5.2s-.6.6-.6 1.4.6 1.6.7 1.7 1.2 1.8 3 2.6c.4.2.8.3 1 .4.4.1.8.1 1 .1.3 0 1.1-.4 1.2-.8.2-.4.2-.8.1-.8s-.2-.1-.4-.2Z'/%3E%3C/svg%3E"); }
.article-page-shell .bi-x-circle { --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1Zm2.1 9.4-.7.7L8 8.7l-1.4 1.4-.7-.7L7.3 8 5.9 6.6l.7-.7L8 7.3l1.4-1.4.7.7L8.7 8z'/%3E%3C/svg%3E"); }

.public-directory-shell {
    background: linear-gradient(180deg, #f8f6f1 0%, #ffffff 26%);
}

.reader-story-section {
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    padding-top: 1.35rem;
}

.reader-section-heading {
    gap: 1rem;
}

.reader-story-card {
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.reader-story-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 44px rgba(15, 23, 42, 0.1) !important;
}

.reader-story-card:hover .card-img-top {
    transform: scale(1.04);
}

.reader-story-card .card-img-top {
    transition: transform 0.28s ease;
}

.reader-story-card .hover-underline:hover {
    text-decoration: underline !important;
}

.topic-hub-page {
    background: linear-gradient(180deg, #f6f4ef 0%, #ffffff 30%);
}

.topic-hub-shell {
    max-width: 1240px;
}

.topic-hub-hero {
    background: linear-gradient(135deg, #111827 0%, #1f2937 58%, #0f172a 100%);
}

.topic-hub-layout-election {
    background: linear-gradient(135deg, #7f1d1d 0%, #b91c1c 55%, #111827 100%);
}

.topic-hub-layout-timeline {
    background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 55%, #1f2937 100%);
}

.topic-hub-layout-magazine {
    background: linear-gradient(135deg, #1f2937 0%, #0f766e 55%, #111827 100%);
}

.topic-hub-hero-media {
    background-size: cover;
    background-position: center;
    opacity: 0.24;
}

.topic-hub-hero-election-overlay {
    background: radial-gradient(transparent, rgba(0, 0, 0, 0.35));
}

.topic-hub-hero-accent {
    height: 10px;
    background: linear-gradient(90deg, #ff6b6b, #ffd166);
    opacity: 0.6;
}

.topic-hub-hero-scrim {
    pointer-events: none;
}

.topic-hub-timeline-dot {
    width: 10px;
    height: 10px;
    padding: 0 !important;
}

.topic-hub-story-card {
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06) !important;
}

.topic-hub-story-card .card-body {
    padding: 1rem 1.05rem;
}

.topic-hub-stat-value {
    display: block;
    font-size: clamp(2rem, 4vw, 2.75rem);
    line-height: 1;
    margin: 0.65rem 0;
    color: #111827;
}

@media (max-width: 991.98px) {
    .search-result-card {
        grid-template-columns: 1fr;
    }

    .search-result-media {
        min-height: 220px;
        max-height: 260px;
    }
}

@media (max-width: 575.98px) {
    .search-hero-card,
    .search-section {
        padding: 1.15rem;
        border-radius: 20px;
    }

    .search-result-body,
    .search-simple-card,
    .topic-hub-stat-card,
    .topic-hub-latest-card,
    .topic-hub-related-card {
        padding: 1rem;
    }

    .reader-section-heading {
        flex-direction: column;
        align-items: flex-start !important;
    }

}
.multimedia-briefing-card {
    padding: 1.4rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 20px;
    background: linear-gradient(180deg, #f9f7f1 0%, #ffffff 100%);
    box-shadow: 0 18px 40px rgba(17, 24, 39, 0.08);
}

.multimedia-briefing-link {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    height: 100%;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 16px;
    background: #fff;
    color: #111827;
    text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.multimedia-briefing-link:hover {
    color: #111827;
    border-color: rgba(13, 110, 253, 0.35);
    box-shadow: 0 12px 24px rgba(17, 24, 39, 0.08);
    transform: translateY(-1px);
}

.multimedia-briefing-link strong,
.multimedia-briefing-link small {
    display: block;
}

.multimedia-briefing-link small {
    margin-top: 0.2rem;
    color: #6b7280;
}

.multimedia-briefing-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.9rem;
    height: 2.9rem;
    border-radius: 999px;
    background: #0d6efd;
    color: #fff;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.multimedia-transcript {
    border-top: 1px solid rgba(17, 24, 39, 0.08);
    padding-top: 1rem;
}

.multimedia-audio-player {
    padding: 1rem;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.92);
}

.multimedia-audio-player audio,
.audio-story-player audio {
    display: block;
    width: 100%;
    min-height: 42px;
}

.multimedia-transcript summary {
    cursor: pointer;
    font-weight: 700;
    list-style: none;
}

.multimedia-transcript summary::-webkit-details-marker {
    display: none;
}

.multimedia-transcript-meta {
    margin-top: 0.75rem;
    color: #6b7280;
    font-size: 0.9rem;
}

.multimedia-transcript-body {
    margin-top: 0.75rem;
    color: #1f2937;
    line-height: 1.7;
    white-space: normal;
}

.audio-desk-hero {
    background:
        radial-gradient(circle at top right, rgba(255,255,255,0.12), transparent 32%),
        linear-gradient(135deg, #111827 0%, #1f2937 55%, #0f766e 100%);
}

.audio-desk-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.75rem 1rem;
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
}

.audio-story-card {
    height: 100%;
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 20px 45px rgba(17, 24, 39, 0.08);
}

.audio-story-image {
    min-height: 100%;
    max-height: 100%;
}

.audio-story-body {
    padding: 1.4rem;
}

.audio-story-player {
    padding: 0.5rem 0.75rem;
    border-radius: 14px;
    background: #f3f4f6;
    border: 1px solid rgba(17, 24, 39, 0.06);
}

.audio-series-strip {
    margin-top: -1rem;
}

.audio-series-card {
    height: 100%;
    padding: 1.35rem;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #f7f4ee 100%);
    border: 1px solid rgba(17, 24, 39, 0.08);
    box-shadow: 0 18px 40px rgba(17, 24, 39, 0.07);
}

.audio-series-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    background: rgba(11, 66, 158, 0.08);
    color: #0b429e;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.audio-series-link {
    display: block;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    text-decoration: none;
    color: #111827;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(17, 24, 39, 0.06);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.audio-series-link:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
    border-color: rgba(11, 66, 158, 0.2);
    color: #111827;
}

.multimedia-desk-links {
    border-top: 1px solid rgba(17, 24, 39, 0.08);
    padding-top: 0.9rem;
}

.audio-story-page {
    background: linear-gradient(180deg, #f7f4ee 0%, #ffffff 38%);
}

.audio-story-hero {
    padding: 4.25rem 0 3rem;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,0.1), transparent 30%),
        linear-gradient(135deg, #111827 0%, #1f2937 55%, #7c2d12 100%);
}

.audio-story-hero-card,
.audio-story-summary {
    padding: 1.35rem;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 20px 45px rgba(17, 24, 39, 0.08);
}

.audio-story-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    color: rgba(255,255,255,0.8);
    font-size: 0.95rem;
}

.audio-story-sidebar .multimedia-briefing-link {
    background: #f9fafb;
}

.watch-story-page {
    background: linear-gradient(180deg, #f4f6f8 0%, #ffffff 38%);
}

.watch-story-hero {
    padding: 4.25rem 0 3rem;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,0.1), transparent 30%),
        linear-gradient(135deg, #111827 0%, #0f172a 55%, #991b1b 100%);
}

.watch-story-hero-card,
.watch-story-summary {
    padding: 1.35rem;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 20px 45px rgba(17, 24, 39, 0.08);
}

.watch-story-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    color: rgba(255,255,255,0.8);
    font-size: 0.95rem;
}

.watch-story-embed {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 18px;
    background: #0f172a;
    text-decoration: none;
}

.watch-story-embed-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.8);
    font-size: 4rem;
    background: linear-gradient(135deg, #111827, #1f2937);
}

.watch-story-play {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: 68px;
    height: 68px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(185, 28, 28, 0.92);
    color: #fff;
    font-size: 2rem;
    box-shadow: 0 16px 30px rgba(0,0,0,0.2);
}

.watch-story-sidebar .multimedia-briefing-link {
    background: #f9fafb;
}

.multimedia-desk-panel {
    padding: 1.35rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}

.multimedia-desk-card {
    display: grid;
    grid-template-columns: minmax(120px, 180px) 1fr;
    gap: 1rem;
    align-items: stretch;
    padding: 0.95rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.multimedia-desk-thumb {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    min-height: 112px;
    background: #0f172a;
}

.multimedia-desk-thumb-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.82);
    font-size: 2.6rem;
}

.multimedia-desk-play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 52px;
    height: 52px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(185, 28, 28, 0.92);
    color: #fff;
    font-size: 1.6rem;
}

.multimedia-desk-body {
    min-width: 0;
}

@media (max-width: 767.98px) {
    .multimedia-briefing-card {
        padding: 1.1rem;
        border-radius: 16px;
    }

    .multimedia-briefing-link {
        padding: 0.9rem;
    }

    .audio-story-body {
        padding: 1.1rem;
    }

    .audio-series-strip {
        margin-top: 0;
    }

    .audio-series-card {
        padding: 1.1rem;
        border-radius: 18px;
    }

    .audio-story-hero {
        padding: 3rem 0 2.2rem;
    }

    .audio-story-hero-card,
    .audio-story-summary {
        padding: 1.05rem;
        border-radius: 16px;
    }

    .watch-story-hero {
        padding: 3rem 0 2.2rem;
    }

    .watch-story-hero-card,
    .watch-story-summary {
        padding: 1.05rem;
        border-radius: 16px;
    }

    .multimedia-desk-panel {
        padding: 1rem;
        border-radius: 18px;
    }

        .multimedia-desk-card {
            grid-template-columns: 1fr;
        }
}

.newsroom-dashboard-shell {
    padding: 0.75rem 0 1.5rem;
    background: #f3f4f6;
}

.newsroom-dashboard-hero {
    padding: 0.75rem 0.9rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: none;
    color: #111827;
}

.newsroom-dashboard-title {
    font-family: inherit;
    font-size: 1.2rem;
    line-height: 1.2;
    letter-spacing: 0;
    font-weight: 700;
    color: #111827;
}

.newsroom-dashboard-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.newsroom-dashboard-actions .btn {
    border-radius: 6px;
    padding: 0.42rem 0.75rem;
    font-weight: 700;
    font-size: 0.9rem;
}

.newsroom-dashboard-metrics {
    margin-top: 0;
}

.newsroom-dashboard-stat-card {
    height: 100%;
    padding: 0.8rem 0.9rem;
    border-radius: 10px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #ffffff;
    box-shadow: none;
}

.newsroom-dashboard-stat-label {
    display: block;
    margin-bottom: 0.35rem;
    color: #6b7280;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.newsroom-dashboard-stat-value {
    display: block;
    color: #111827;
    font-size: 1.15rem;
    line-height: 1.1;
    font-weight: 800;
}

.newsroom-dashboard-stat-neutral {
    border-top: 3px solid #111827;
}

.newsroom-dashboard-stat-accent {
    border-top: 3px solid #1d4ed8;
}

.newsroom-dashboard-stat-warning,
.newsroom-dashboard-stat-medium {
    border-top: 3px solid #d97706;
}

.newsroom-dashboard-stat-high {
    border-top: 3px solid #b91c1c;
}

.newsroom-dashboard-stat-low {
    border-top: 3px solid #059669;
}

.newsroom-dashboard-grid {
    align-items: start;
}

.newsroom-dashboard-column {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.newsroom-dashboard-column-label {
    color: #4b5563;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0 0.1rem;
}

.newsroom-dashboard-shell .card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: none;
}

.newsroom-dashboard-shell .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: #f8fafc;
    font-weight: 800;
    font-size: 0.9rem;
}

.newsroom-dashboard-shell .card-body,
.newsroom-dashboard-shell .card-footer {
    padding: 0.8rem 0.85rem;
}

.newsroom-dashboard-shell .row.g-2 .border,
.newsroom-dashboard-shell .row.text-center.g-2 .border {
    border-color: rgba(15, 23, 42, 0.07) !important;
    background: rgba(248, 250, 252, 0.92);
}

.newsroom-dashboard-shell .list-group-item {
    border-color: rgba(15, 23, 42, 0.06);
    background: transparent;
}

.newsroom-dashboard-shell .btn-outline-dark,
.newsroom-dashboard-shell .btn-outline-primary,
.newsroom-dashboard-shell .btn-outline-danger {
    border-radius: 6px;
    font-weight: 700;
}

.governance-summary-grid .border,
.governance-auth-summary .border,
.newsroom-dashboard-shell .media-upload-pressure,
.newsroom-dashboard-shell .media-desk-pulse-list .list-group-item,
.newsroom-dashboard-shell .media-desk-uploaders-list .list-group-item,
.newsroom-dashboard-shell .media-desk-delete-role-list .list-group-item {
    border-color: rgba(15, 23, 42, 0.07) !important;
    background: rgba(248, 250, 252, 0.92);
}

.newsroom-dashboard-shell .media-desk-pulse-list .list-group-item,
.newsroom-dashboard-shell .media-desk-uploaders-list .list-group-item,
.newsroom-dashboard-shell .media-desk-delete-role-list .list-group-item {
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
}

.newsroom-dashboard-shell .bg-dark.text-white {
    background: #111827 !important;
    box-shadow: none;
}

.newsroom-dashboard-shell .badge {
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.newsroom-dashboard-shell .dashboard-time-card .card-header {
    background: #f8fafc;
}

.newsroom-dashboard-shell .dashboard-time-card h2 {
    font-size: 2rem;
    line-height: 1;
    color: #111827;
}

.newsroom-dashboard-shell .dashboard-card-secondary .card-header,
.newsroom-dashboard-shell .dashboard-card-tertiary .card-header {
    padding: 0.62rem 0.8rem;
    font-size: 0.84rem;
}

.newsroom-dashboard-shell .dashboard-card-secondary .card-body,
.newsroom-dashboard-shell .dashboard-card-secondary .card-footer,
.newsroom-dashboard-shell .dashboard-card-tertiary .card-body,
.newsroom-dashboard-shell .dashboard-card-tertiary .card-footer {
    padding: 0.72rem 0.8rem;
}

.newsroom-dashboard-shell .dashboard-card-secondary .list-group-item,
.newsroom-dashboard-shell .dashboard-card-tertiary .list-group-item {
    padding-top: 0.72rem;
    padding-bottom: 0.72rem;
}

.newsroom-dashboard-shell .dashboard-card-tertiary .row.g-2 .border,
.newsroom-dashboard-shell .dashboard-card-secondary .row.g-2 .border {
    min-height: 100%;
}

.newsroom-dashboard-shell .dashboard-card-tertiary .small.text-uppercase,
.newsroom-dashboard-shell .dashboard-card-secondary .small.text-uppercase {
    letter-spacing: 0.06em;
}

@media (max-width: 991.98px) {
    .newsroom-dashboard-shell {
        padding-top: 1rem;
    }

    .newsroom-dashboard-hero {
        padding: 0.8rem;
        border-radius: 10px;
    }

    .newsroom-dashboard-column {
        gap: 0.7rem;
    }
}

@media (max-width: 767.98px) {
    .newsroom-dashboard-title {
        font-size: 1.05rem;
    }

    .newsroom-dashboard-actions {
        width: 100%;
    }

    .newsroom-dashboard-actions .btn {
        flex: 1 1 auto;
    }

    .newsroom-dashboard-shell .card,
    .newsroom-dashboard-stat-card {
        border-radius: 10px;
    }
}

.admin-surface-shell {
    padding: 1.25rem 0 2.5rem;
    background:
        radial-gradient(circle at top right, rgba(17, 24, 39, 0.04), transparent 22%),
        linear-gradient(180deg, #faf7f1 0%, #ffffff 100%);
}

.admin-surface-hero {
    position: relative;
    overflow: hidden;
    padding: 1.5rem;
    border-radius: 28px;
    color: #f8fafc;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.14);
}

.admin-media-hero {
    background:
        linear-gradient(135deg, rgba(15, 23, 42, 0.98) 0%, rgba(29, 78, 216, 0.92) 55%, rgba(8, 145, 178, 0.9) 100%);
}

.admin-audit-hero {
    background:
        linear-gradient(135deg, rgba(17, 24, 39, 0.98) 0%, rgba(88, 28, 135, 0.92) 55%, rgba(127, 29, 29, 0.92) 100%);
}

.admin-surface-kicker {
    display: inline-block;
    margin-bottom: 0.7rem;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.72);
}

.admin-surface-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 3.5vw, 3.1rem);
    line-height: 1.02;
    letter-spacing: -0.03em;
    color: #fff;
}

.admin-surface-subtitle {
    max-width: 48rem;
    color: rgba(255,255,255,0.8);
    line-height: 1.7;
}

.admin-surface-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.admin-surface-actions .btn {
    border-radius: 999px;
    font-weight: 700;
    padding-inline: 1rem;
}

.admin-surface-toolbar-copy h2 {
    font-family: 'Playfair Display', serif;
    color: #111827;
}

.admin-surface-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 24px;
    overflow: hidden;
    background: rgba(255,255,255,0.96);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.admin-surface-card .card-header {
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,244,237,0.98)) !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    padding: 1rem 1.2rem;
}

.admin-surface-card .card-body,
.admin-surface-card .card-footer {
    padding: 1.15rem 1.2rem;
}

.admin-media-shell .media-card,
.admin-media-shell .media-ops-pulse .border,
.admin-media-shell .media-risk-pulse .border,
.admin-audit-shell .incident-review-summary .border {
    border-color: rgba(15, 23, 42, 0.08) !important;
    background: rgba(248,250,252,0.94);
}

.admin-media-shell .media-card {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.admin-media-shell .media-upload-allowance {
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248,250,252,0.96), rgba(255,255,255,0.96));
}

.admin-media-shell .media-ops-activity .list-group-item,
.admin-media-shell .media-risk-top-used .list-group-item,
.admin-audit-shell .table tbody tr {
    border-color: rgba(15, 23, 42, 0.06);
}

.admin-audit-shell .audit-export-presets .btn,
.admin-audit-shell .btn,
.admin-media-shell .btn {
    border-radius: 999px;
}

.admin-audit-shell .table thead th {
    background: #f8fafc;
    border-bottom-color: rgba(15, 23, 42, 0.08);
    color: #374151;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.admin-audit-shell .table tbody tr td {
    padding-top: 0.95rem;
    padding-bottom: 0.95rem;
}

.admin-audit-shell .audit-severity-badge {
    align-self: flex-start;
}

@media (max-width: 767.98px) {
    .admin-surface-hero {
        padding: 1.15rem;
        border-radius: 20px;
    }

    .admin-surface-actions {
        flex-direction: column;
    }

    .admin-surface-actions .btn {
        width: 100%;
    }

    .admin-surface-card {
        border-radius: 18px;
    }
}
.live-family-shell .live-icon-pulse {
    display: inline-flex;
    align-items: center;
    color: #ff7b7b;
    animation: pulse 1.6s ease-in-out infinite;
}

@keyframes pulse {
    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.18);
        opacity: 0.45;
    }
}

.article-page-shell .live-family-shell .bi,
.article-page-shell .live-updates-container .bi,
.article-page-shell #live-reporting-header .bi,
.article-page-shell #btn-jump-latest .bi,
.article-page-shell #btn-key-events .bi,
.article-page-shell .live-update-card .bi,
.article-page-shell #empty-feed-message .bi {
    display: inline-block;
    width: auto;
    height: auto;
    min-width: 0;
    vertical-align: -0.125em;
}

.article-page-shell .live-family-shell .bi::before,
.article-page-shell .live-updates-container .bi::before,
.article-page-shell #live-reporting-header .bi::before,
.article-page-shell #btn-jump-latest .bi::before,
.article-page-shell #btn-key-events .bi::before,
.article-page-shell .live-update-card .bi::before,
.article-page-shell #empty-feed-message .bi::before {
    display: inline-block;
    width: auto;
    height: auto;
    background: none;
    background-color: transparent;
    -webkit-mask-image: none;
    mask-image: none;
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: 400 !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -0.125em;
}

.article-page-shell .live-family-shell .bi-record-circle-fill::before,
.article-page-shell .live-updates-container .bi-record-circle-fill::before { content: "\f517"; }
.article-page-shell .live-family-shell .bi-volume-mute-fill::before,
.article-page-shell .live-updates-container .bi-volume-mute-fill::before { content: "\f60c"; }
.article-page-shell .live-family-shell .bi-volume-up-fill::before,
.article-page-shell .live-updates-container .bi-volume-up-fill::before { content: "\f610"; }
.article-page-shell .live-family-shell .bi-collection::before,
.article-page-shell .live-updates-container .bi-collection::before { content: "\f2cc"; }
.article-page-shell .live-family-shell .bi-arrow-up-circle::before,
.article-page-shell .live-updates-container .bi-arrow-up-circle::before { content: "\f13a"; }
.article-page-shell .live-family-shell .bi-arrow-up-circle-fill::before,
.article-page-shell .live-updates-container .bi-arrow-up-circle-fill::before { content: "\f139"; }
.article-page-shell .live-family-shell .bi-star-fill::before,
.article-page-shell .live-updates-container .bi-star-fill::before { content: "\f586"; }
.article-page-shell .live-family-shell .bi-pin-fill::before,
.article-page-shell .live-updates-container .bi-pin-fill::before { content: "\f4ec"; }
.article-page-shell .live-family-shell .bi-pin-angle::before,
.article-page-shell .live-updates-container .bi-pin-angle::before { content: "\f4eb"; }
.article-page-shell .live-family-shell .bi-pin-angle-fill::before,
.article-page-shell .live-updates-container .bi-pin-angle-fill::before { content: "\f4ea"; }
.article-page-shell .live-family-shell .bi-hand-thumbs-up::before,
.article-page-shell .live-updates-container .bi-hand-thumbs-up::before { content: "\f407"; }
.article-page-shell .live-family-shell .bi-hand-thumbs-up-fill::before,
.article-page-shell .live-updates-container .bi-hand-thumbs-up-fill::before { content: "\f406"; }
.article-page-shell .live-family-shell .bi-hand-thumbs-down::before,
.article-page-shell .live-updates-container .bi-hand-thumbs-down::before { content: "\f405"; }
.article-page-shell .live-family-shell .bi-hand-thumbs-down-fill::before,
.article-page-shell .live-updates-container .bi-hand-thumbs-down-fill::before { content: "\f404"; }
.article-page-shell .live-family-shell .bi-link-45deg::before,
.article-page-shell .live-updates-container .bi-link-45deg::before { content: "\f470"; }
.article-page-shell .live-family-shell .bi-cup-hot::before,
.article-page-shell .live-updates-container .bi-cup-hot::before { content: "\f7eb"; }
.article-page-shell .live-family-shell .bi-camera-fill::before,
.article-page-shell .live-updates-container .bi-camera-fill::before { content: "\f219"; }
.article-page-shell .live-family-shell .bi-pencil-square::before,
.article-page-shell .live-updates-container .bi-pencil-square::before { content: "\f4ca"; }

.article-page-shell .live-update-card .bi-facebook,
.article-page-shell .live-update-card .bi-twitter-x,
.article-page-shell .live-update-card .bi-whatsapp {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    min-width: 1em;
    vertical-align: -0.125em;
}

.article-page-shell .live-update-card .bi-facebook::before,
.article-page-shell .live-update-card .bi-twitter-x::before,
.article-page-shell .live-update-card .bi-whatsapp::before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    font-family: inherit !important;
}

.article-page-shell .live-update-card .bi-facebook::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M9 15V8.8h2.1l.4-2.5H9V4.7c0-.7.2-1.2 1.2-1.2h1.4V1.3C11.1 1.2 10.5 1 9.6 1 7.8 1 6.6 2.1 6.6 4.1v2.2H4.5v2.5h2.1V15z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M9 15V8.8h2.1l.4-2.5H9V4.7c0-.7.2-1.2 1.2-1.2h1.4V1.3C11.1 1.2 10.5 1 9.6 1 7.8 1 6.6 2.1 6.6 4.1v2.2H4.5v2.5h2.1V15z'/%3E%3C/svg%3E");
}

.article-page-shell .live-update-card .bi-twitter-x::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 2h2.6l3 4.1L11.1 2H14l-5 5.8L14.4 14h-2.6L8.6 9.7 4.9 14H2l5.2-6z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2 2h2.6l3 4.1L11.1 2H14l-5 5.8L14.4 14h-2.6L8.6 9.7 4.9 14H2l5.2-6z'/%3E%3C/svg%3E");
}

.article-page-shell .live-update-card .bi-whatsapp::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M13.6 2.4A7.4 7.4 0 0 0 1.9 11l-1 3.7L4.7 13A7.4 7.4 0 1 0 13.6 2.4Zm-5.6 11a6 6 0 0 1-3-.8l-.2-.1-2.2.6.6-2.1-.1-.2A6 6 0 1 1 8 13.4Zm3.3-4.4c-.2-.1-1.1-.6-1.3-.6s-.3-.1-.4.1-.5.6-.6.7-.2.1-.4 0a4.8 4.8 0 0 1-1.4-.9 5.4 5.4 0 0 1-1-1.2c-.1-.2 0-.3.1-.4l.3-.3c.1-.1.1-.2.2-.3 0-.1 0-.2 0-.3S6 4.8 5.8 4.4s-.3-.3-.4-.3h-.3c-.1 0-.3 0-.5.2s-.6.6-.6 1.4.6 1.6.7 1.7 1.2 1.8 3 2.6c.4.2.8.3 1 .4.4.1.8.1 1 .1.3 0 1.1-.4 1.2-.8.2-.4.2-.8.1-.8s-.2-.1-.4-.2Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M13.6 2.4A7.4 7.4 0 0 0 1.9 11l-1 3.7L4.7 13A7.4 7.4 0 1 0 13.6 2.4Zm-5.6 11a6 6 0 0 1-3-.8l-.2-.1-2.2.6.6-2.1-.1-.2A6 6 0 1 1 8 13.4Zm3.3-4.4c-.2-.1-1.1-.6-1.3-.6s-.3-.1-.4.1-.5.6-.6.7-.2.1-.4 0a4.8 4.8 0 0 1-1.4-.9 5.4 5.4 0 0 1-1-1.2c-.1-.2 0-.3.1-.4l.3-.3c.1-.1.1-.2.2-.3 0-.1 0-.2 0-.3S6 4.8 5.8 4.4s-.3-.3-.4-.3h-.3c-.1 0-.3 0-.5.2s-.6.6-.6 1.4.6 1.6.7 1.7 1.2 1.8 3 2.6c.4.2.8.3 1 .4.4.1.8.1 1 .1.3 0 1.1-.4 1.2-.8.2-.4.2-.8.1-.8s-.2-.1-.4-.2Z'/%3E%3C/svg%3E");
}

.live-hero-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 1.75rem;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,0.12), transparent 26%),
        linear-gradient(135deg, #334155 0%, #1f2937 55%, #0f172a 100%);
}

.live-hero-placeholder-card {
    max-width: 20rem;
    padding: 1rem 1.1rem;
    border-radius: 18px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.12);
    backdrop-filter: blur(8px);
}

.live-hero-placeholder-card .directory-kicker {
    color: rgba(255,255,255,0.72);
}

.longform-hero-image {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.longform-hero-card {
    display: grid;
    gap: 1rem;
}

.longform-hero-overlay {
    position: absolute;
    inset: auto 0 0 0;
    padding: 2rem;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.78) 100%);
}

.longform-progress-shell {
    padding: 0.75rem 1rem;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 999px;
    background: #fff;
}

.media-family-hero-image,
.media-family-gallery-thumb {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.photo-story-gallery-shell {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 24px;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.96);
}

.photo-story-gallery-main-image {
    display: block;
}

.photo-story-gallery-caption {
    color: #4b5563;
    line-height: 1.6;
    min-height: 1.5rem;
}

.photo-story-gallery-credit {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
}

.photo-story-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
    gap: 0.75rem;
}

.photo-story-thumb-btn {
    display: block;
    padding: 0.25rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 16px;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.photo-story-thumb-btn:hover,
.photo-story-thumb-btn:focus-visible,
.photo-story-thumb-btn.is-active {
    border-color: #111827;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
    transform: translateY(-1px);
}

.photo-story-thumb-btn img {
    aspect-ratio: 16 / 9;
}

.media-audio-shell audio {
    min-height: 52px;
}

.article-featured-cta-box {
    margin: 0 auto 1.5rem;
    padding: 1.1rem 1.25rem;
    max-width: 760px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #f7f7f4;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    text-align: center;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.article-featured-cta-text {
    margin: 0;
    color: #111827;
    font-size: 0.98rem;
    line-height: 1.45;
    flex: 0 1 auto;
}

.article-featured-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 0;
    max-width: 100%;
    padding: 0.78rem 1.25rem;
    border: 1px solid rgba(15, 23, 42, 0.14);
    border-radius: 999px;
    background: #fff;
    color: #111827;
    font-weight: 700;
    font-size: 0.98rem;
    line-height: 1.2;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.article-featured-cta-button--image {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    width: auto;
    flex: 0 0 auto;
}

.article-featured-cta-button-image {
    display: block;
    width: auto;
    max-width: none;
    height: 30px;
    border-radius: 0;
}

.article-featured-cta-button:hover,
.article-featured-cta-button:focus {
    color: #111827;
    border-color: rgba(15, 23, 42, 0.28);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
    text-decoration: none;
}

.article-featured-cta-button--image:hover,
.article-featured-cta-button--image:focus {
    color: inherit;
    border-color: transparent;
    box-shadow: none;
    transform: none;
    background: transparent;
}

.article-featured-cta-arrow {
    font-size: 1.1em;
    line-height: 1;
}

@media (max-width: 767.98px) {
    .article-featured-cta-box {
        padding: 0.95rem 0.9rem;
        border-radius: 16px;
        justify-content: center;
        align-items: center;
        gap: 0.5rem;
    }

    .article-featured-cta-text {
        font-size: 0.94rem;
    }

    .article-featured-cta-button {
        width: auto;
        max-width: 100%;
        font-size: 0.94rem;
    }

    .article-featured-cta-button-image {
        width: auto;
        max-width: none;
        height: 30px;
    }
}

.library-mini-card.is-unread {
    border-color: rgba(13, 110, 253, 0.22);
    background: linear-gradient(180deg, rgba(13, 110, 253, 0.08), rgba(13, 110, 253, 0.02));
}

.notification-type-label {
    font-size: 0.68rem;
    letter-spacing: 0.06em;
}

.footer-dark-bg {
    background-color: #111 !important;
}

.footer-branding-border {
    border-top: 1px solid #333;
}

.footer-logo-bg-dark {
    background-color: #111;
}
.aspect-ratio-1x1 {
    aspect-ratio: 1 / 1;
}

.homepage-visual-story-fallback {
    padding: 2rem 1.5rem;
    background:
        radial-gradient(circle at top, rgba(255, 255, 255, 0.34), transparent 42%),
        linear-gradient(180deg, #f6c15f 0%, #f08a24 40%, #8b1e12 100%);
    color: #fff7ed;
}

.homepage-visual-story-fallback-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.homepage-visual-story-fallback-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    margin: 1rem 0 0.75rem;
    border: 1px solid rgba(255, 247, 237, 0.45);
    border-radius: 1.5rem;
    background: rgba(17, 24, 39, 0.16);
    box-shadow: 0 18px 34px rgba(17, 24, 39, 0.18);
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1;
}

.homepage-visual-story-fallback-copy {
    max-width: 12rem;
    font-size: 0.92rem;
    line-height: 1.45;
    font-weight: 600;
}

.homepage-visual-story-item.homepage-visual-story-item-featured {
    width: min(760px, 100%) !important;
    max-width: 760px;
    margin-inline: auto;
    flex: 0 1 min(760px, 100%) !important;
}

.homepage-visual-story-media-featured {
    min-height: min(24rem, 60vh);
}

.homepage-visual-story-item-featured .homepage-visual-story-title {
    font-size: 1.45rem !important;
    line-height: 1.12 !important;
    max-width: 18ch;
}

@media (min-width: 1200px) {
    .homepage-site-header--regional .homepage-header-shell {
        width: min(calc(100% - 48px), 1706px) !important;
        max-width: 1706px !important;
        margin-inline: auto !important;
    }

    .homepage-site-header--regional .homepage-utility-shell {
        min-height: 26px !important;
        gap: 0.5rem !important;
    }

    .homepage-site-header--regional .homepage-utility-pill {
        min-height: 20px !important;
        padding-inline: 0.58rem !important;
        font-size: 0.56rem !important;
    }

    .homepage-site-header--regional .homepage-utility-links a,
    .homepage-site-header--regional .homepage-utility-fallback {
        font-size: 0.72rem !important;
        line-height: 1.1 !important;
    }

    .homepage-site-header--regional .homepage-utility-trigger,
    .homepage-site-header--regional .homepage-utility-date span {
        font-size: 0.72rem !important;
        line-height: 1 !important;
    }

    .homepage-site-header--regional .homepage-utility-social a {
        width: 18px !important;
        height: 18px !important;
        font-size: 12px !important;
        line-height: 1 !important;
    }

    .homepage-site-header--regional .homepage-social-icon {
        width: 13px !important;
        height: 13px !important;
        flex-basis: 13px !important;
    }

    .homepage-site-header--regional .homepage-branding-row--regional {
        grid-template-columns: 220px minmax(430px, 1fr) 528px !important;
        gap: 24px !important;
        min-height: 132px !important;
        padding-block: 12px !important;
        align-items: center !important;
        position: relative !important;
    }

    .homepage-site-header--regional .homepage-weather-card,
    .homepage-site-header--regional .homepage-header-extras--regional {
        position: relative !important;
        z-index: 2 !important;
    }

    .homepage-site-header--regional .homepage-weather-card {
        grid-column: 1 !important;
    }

    .homepage-site-header--regional .homepage-header-extras--regional {
        grid-column: 3 !important;
    }

    .homepage-site-header--regional .homepage-logo-wrapper--regional {
        position: absolute !important;
        z-index: 1 !important;
        top: 50% !important;
        left: 50% !important;
        width: min(470px, 36vw) !important;
        transform: translate(-50%, -50%) !important;
        pointer-events: none !important;
    }

    .homepage-site-header--regional .homepage-logo-wrapper--regional .homepage-brand-logo {
        width: 100% !important;
    }

    .homepage-site-header--regional .homepage-logo-wrapper--regional .header-logo-img {
        max-height: 78px !important;
        max-width: 100% !important;
        object-fit: contain !important;
    }

    .homepage-site-header--regional .homepage-brand-tagline {
        font-size: 0.78rem !important;
        line-height: 1.1 !important;
    }

    .homepage-site-header--regional .homepage-brand-tagline::before,
    .homepage-site-header--regional .homepage-brand-tagline::after {
        width: 70px !important;
    }

    .homepage-site-header--regional .homepage-weather-card {
        min-height: 76px !important;
        gap: 10px !important;
    }

    .homepage-site-header--regional .homepage-weather-card__icon {
        width: 34px !important;
        height: 34px !important;
        font-size: 24px !important;
    }

    .homepage-site-header--regional .homepage-weather-card__body strong {
        font-size: 24px !important;
        line-height: 1 !important;
    }

    .homepage-site-header--regional .homepage-weather-card__location {
        font-size: 11px !important;
        line-height: 1.2 !important;
    }

    .homepage-site-header--regional .homepage-weather-card__body small {
        font-size: 10px !important;
        line-height: 1.2 !important;
    }

    .homepage-site-header--regional .homepage-header-extras--regional {
        gap: 12px !important;
    }

    .homepage-site-header--regional .homepage-header-cta {
        min-height: 32px !important;
        border-radius: 8px !important;
        font-size: 0.68rem !important;
        letter-spacing: 0.02em !important;
        width: auto !important;
        padding-left: 0.52rem !important;
        padding-right: 0.52rem !important;
    }

    .homepage-site-header--regional .homepage-header-cta-outline {
        min-width: 0 !important;
        width: auto !important;
        max-width: max-content !important;
        gap: 0.2rem !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        padding-left: 0.72rem !important;
        padding-right: 0.72rem !important;
    }

    .homepage-site-header--regional .homepage-header-cta-primary {
        min-width: 0 !important;
        width: auto !important;
        max-width: max-content !important;
        padding-left: 0.88rem !important;
        padding-right: 0.88rem !important;
    }

    .homepage-site-header--regional .homepage-header-cta-outline__icon {
        display: none !important;
    }

    .homepage-site-header--regional .homepage-header-cta-outline span {
        white-space: nowrap !important;
        font-size: 0.68rem !important;
        font-weight: 700 !important;
    }

    .homepage-site-header--regional .homepage-navbar--regional {
        gap: 18px !important;
        min-height: 52px !important;
    }

    .homepage-site-header--regional .homepage-nav-home {
        width: 42px !important;
        height: 42px !important;
        border-radius: 6px !important;
    }

    .homepage-site-header--regional .homepage-nav-home i {
        font-size: 1rem !important;
    }

    .homepage-site-header--regional .homepage-navbar .navbar-nav {
        gap: 2px !important;
        min-width: 0 !important;
    }

    .homepage-site-header--regional .homepage-navbar .navbar-nav .nav-link {
        font-size: 1.02rem !important;
        font-weight: 800 !important;
        line-height: 1.05 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        padding-inline: 0.42rem !important;
    }

    .homepage-site-header--regional .homepage-nav-actions {
        min-height: 36px !important;
        gap: 0.28rem !important;
        padding-left: 0.85rem !important;
    }

    .homepage-site-header--regional .homepage-nav-actions .header-notification-trigger,
    .homepage-site-header--regional .homepage-nav-actions .search-toggle {
        height: 34px !important;
        width: 34px !important;
    }

    .homepage-site-header--regional .homepage-nav-actions .search-toggle .bi,
    .homepage-site-header--regional .homepage-nav-actions .header-notification-trigger .bi,
    .homepage-site-header--regional .homepage-account-chip__chevron {
        font-size: 1.45rem !important;
    }

    .homepage-site-header--regional .homepage-account-chip__avatar {
        width: 34px !important;
        height: 34px !important;
        font-size: 0.92rem !important;
    }

    .homepage-site-header--regional .homepage-account-chip__guest-icon {
        font-size: 1.75rem !important;
    }
}
