:root {
    --a45-bg: #f6f1ea;
    --a45-surface: #fffdfa;
    --a45-surface-2: #efe6db;
    --a45-text: #1a1818;
    --a45-muted: #6b625d;
    --a45-accent: #8f2333;
    --a45-accent-dark: #6e1825;
    --a45-highlight: #d79d3f;
    --a45-border: #dfd4c6;
    --a45-shadow: 0 18px 36px rgba(53, 38, 30, 0.08);
    --a45-radius: 22px;
    --a45-radius-sm: 14px;
    --a45-content: 760px;
    --a45-wide: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--a45-bg);
    color: var(--a45-text);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
a { color: var(--a45-accent); text-decoration: none; }
a:hover { color: var(--a45-accent-dark); }
img { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }
p { margin: 0 0 1.2rem; }
h1, h2, h3, h4, h5, h6 {
    font-family: Georgia, 'Times New Roman', serif;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 .6em;
    color: var(--a45-text);
}
h1 { font-size: clamp(2.6rem, 6vw, 5.25rem); }
h2 { font-size: clamp(1.8rem, 3vw, 2.9rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.65rem); }
ul { margin: 0; padding: 0; list-style: none; }
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}
.screen-reader-text:focus {
    background: var(--a45-surface);
    clip: auto !important;
    clip-path: none;
    color: var(--a45-text);
    display: block;
    height: auto;
    left: 15px;
    padding: 15px 18px;
    top: 15px;
    width: auto;
    z-index: 100000;
}
.site-width { width: min(calc(100% - 36px), var(--a45-wide)); margin-inline: auto; }
.article-width { width: min(calc(100% - 36px), var(--a45-content)); }
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border: 0;
    border-radius: 999px;
    background: var(--a45-accent);
    color: #fff;
    padding: .95rem 1.4rem;
    font-weight: 700;
    line-height: 1;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover { transform: translateY(-1px); color: #fff; background: var(--a45-accent-dark); box-shadow: var(--a45-shadow); }
.button--outline { background: transparent; border: 1px solid var(--a45-border); color: var(--a45-text); }
.button--outline:hover { background: var(--a45-surface-2); color: var(--a45-text); }
.skip-link { position: absolute; left: -9999px; }
.site-shell { min-height: 100vh; }

/* Header */
.site-header { border-bottom: 1px solid var(--a45-border); background: rgba(246, 241, 234, 0.97); backdrop-filter: blur(8px); position: sticky; top: 0; z-index: 80; }
.utility-strip { background: #2a1c1c; color: #f0e7df; font-size: .84rem; letter-spacing: .02em; }
.utility-strip__inner { display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: center; min-height: 42px; }
.utility-strip__date { margin: 0; color: #d7cbc3; white-space: nowrap; }
.utility-navigation .menu, .primary-navigation .menu, .site-footer nav .menu { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
.utility-navigation a { color: #f7eee6; }
.utility-navigation a:hover, .utility-strip__jam45:hover { color: #fff; }
.utility-strip__jam45 { color: #ffd47c; font-weight: 700; white-space: nowrap; }
.masthead { display: grid; grid-template-columns: minmax(200px, auto) 1fr minmax(260px, 340px); gap: 28px; align-items: center; padding-block: 24px; }
.site-branding { min-width: 0; }
.custom-logo-link img { max-height: 74px; width: auto; }
.wordmark { display: inline-flex; flex-direction: column; gap: 4px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.1rem, 5vw, 3.6rem); font-weight: 700; letter-spacing: -.04em; line-height: .92; color: var(--a45-text); }
.wordmark span:last-child { color: var(--a45-accent); }
.wordmark__eyebrow { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; text-transform: uppercase; letter-spacing: .18em; font-size: .7rem; font-weight: 700; color: var(--a45-muted); }
.masthead-copy__eyebrow, .eyebrow {
    display: inline-block;
    margin: 0 0 10px;
    color: var(--a45-accent);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.masthead-copy__headline { margin: 0; max-width: 46ch; color: var(--a45-text); font-size: 1rem; font-weight: 600; line-height: 1.5; }
.main-nav-wrap { border-top: 1px solid var(--a45-border); border-bottom: 1px solid var(--a45-border); background: var(--a45-surface); }
.main-nav-wrap__inner { display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: center; min-height: 62px; position: relative; }
.menu-toggle { display: none; align-items: center; gap: 12px; padding: 0; border: 0; background: transparent; color: var(--a45-text); font-weight: 700; }
.menu-toggle__icon, .menu-toggle__icon::before, .menu-toggle__icon::after {
    display: block;
    position: relative;
    width: 18px;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
    transition: transform .2s ease, opacity .2s ease;
    content: '';
}
.menu-toggle__icon::before { position: absolute; top: -6px; left: 0; }
.menu-toggle__icon::after { position: absolute; top: 6px; left: 0; }
.primary-navigation { min-width: 0; }
.primary-navigation .menu { gap: 26px; }
.primary-navigation li { position: relative; }
.primary-navigation a { display: inline-flex; align-items: center; min-height: 62px; color: var(--a45-text); font-size: .97rem; font-weight: 700; }
.primary-navigation a:hover { color: var(--a45-accent); }
.primary-navigation .menu-item-has-children > a::after {
    content: '▾';
    margin-left: 8px;
    font-size: .68rem;
    color: var(--a45-muted);
}
.primary-navigation .sub-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    min-width: 260px;
    padding: 18px;
    background: var(--a45-surface);
    border: 1px solid var(--a45-border);
    border-radius: 18px;
    box-shadow: var(--a45-shadow);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    z-index: 95;
}
.primary-navigation > .menu > .menu-item-has-children > .sub-menu {
    min-width: 720px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 20px;
}
.primary-navigation li:hover > .sub-menu,
.primary-navigation li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.primary-navigation .sub-menu a {
    min-height: 0;
    padding: 10px 8px;
    border-radius: 12px;
    font-weight: 600;
    color: var(--a45-text);
}
.primary-navigation .sub-menu a:hover { background: var(--a45-surface-2); }
.search-form {
    display: flex;
    align-items: stretch;
    gap: 0;
    width: 100%;
    max-width: 340px;
    justify-self: end;
}
.search-form label { flex: 1; }
.search-field {
    width: 100%;
    padding: 14px 16px;
    border-radius: 999px 0 0 999px;
    border: 1px solid var(--a45-border);
    border-right: 0;
    background: var(--a45-surface);
    color: var(--a45-text);
    font-size: .95rem;
}
.search-field::placeholder { color: #8e827a; }
.search-submit {
    min-width: 54px;
    border-radius: 0 999px 999px 0;
    border: 1px solid var(--a45-border);
    background: var(--a45-surface);
    color: var(--a45-accent);
    font-size: 1.05rem;
    cursor: pointer;
}

/* Homepage */
.site-main { padding-bottom: 70px; }
.homepage-intro { padding: 58px 0 30px; }
.homepage-intro h1 { max-width: 10ch; }
.homepage-intro p:last-child { max-width: 45ch; font-size: clamp(1.05rem, 2vw, 1.35rem); color: var(--a45-muted); }
.lead-grid { display: grid; grid-template-columns: 1.25fr .75fr .75fr; gap: 24px; }
.lead-story {
    position: relative;
    min-height: 560px;
    border-radius: calc(var(--a45-radius) + 2px);
    overflow: hidden;
    background: #2e2420;
    color: #fff;
    box-shadow: var(--a45-shadow);
}
.lead-story:first-child { grid-row: span 2; }
.lead-story--small { min-height: 268px; }
.lead-story__image,
.lead-story__image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lead-story::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(20,14,12,.08) 5%, rgba(20,14,12,.72) 70%, rgba(20,14,12,.92) 100%);
}
.lead-story__content { position: absolute; inset: auto 0 0 0; padding: 28px; z-index: 1; }
.story-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--a45-accent);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .76rem;
    font-weight: 800;
    margin-bottom: 14px;
}
.lead-story h2, .lead-story h2 a { color: #fff; }
.lead-story h2 { font-size: clamp(1.6rem, 3vw, 3rem); max-width: 14ch; }
.lead-story p { max-width: 44ch; color: rgba(255,255,255,.86); }
.story-meta { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; font-size: .86rem; color: var(--a45-muted); }
.lead-story .story-meta { color: rgba(255,255,255,.78); }
.image-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #d9c5b0, #b98d68);
    color: rgba(255,255,255,.85);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 5rem;
    font-weight: 700;
}
.homepage-promo { padding: 34px 0 4px; }
.homepage-sections { display: grid; gap: 50px; padding-top: 28px; }
.news-section { display: grid; gap: 20px; }
.section-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; }
.section-heading h2 { margin-bottom: 0; }
.section-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 999px;
    border: 1px solid var(--a45-border);
    color: var(--a45-text);
    font-weight: 700;
}
.section-link:hover { background: var(--a45-surface-2); color: var(--a45-text); }
.story-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.story-card-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.story-card {
    background: var(--a45-surface);
    border: 1px solid var(--a45-border);
    border-radius: var(--a45-radius);
    overflow: hidden;
    box-shadow: var(--a45-shadow);
}
.story-card__image { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.story-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .32s ease; }
.story-card:hover .story-card__image img { transform: scale(1.03); }
.story-card__body { padding: 20px; }
.story-card h3 { margin-bottom: 12px; }
.story-card h3 a, .story-list-item h2 a { color: var(--a45-text); }
.story-card p, .story-list-item p { color: var(--a45-muted); }

/* Promotions */
.jam45-promo {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 20px;
    align-items: center;
    padding: 24px;
    border: 1px solid #edd7ab;
    border-radius: calc(var(--a45-radius) + 2px);
    background: linear-gradient(135deg, #fffaf0 0%, #f7eedc 100%);
    box-shadow: var(--a45-shadow);
}
.jam45-promo__mark {
    display: inline-grid;
    place-items: center;
    min-width: 86px;
    min-height: 86px;
    border-radius: 20px;
    background: #2d2320;
    color: #fff;
    font-weight: 900;
    font-size: 1.4rem;
    letter-spacing: -.04em;
}
.jam45-promo__mark span { color: var(--a45-highlight); }
.jam45-promo__copy strong { display: block; margin-bottom: 6px; font-size: 1.25rem; color: var(--a45-text); }
.jam45-promo__copy p { margin: 0; color: var(--a45-muted); }
.button--jam45 { background: #2d2320; }
.button--jam45:hover { background: #171212; }

/* Single / archive */
.archive-layout, .single-story__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; padding-top: 56px; }
.archive-header { padding-bottom: 18px; }
.archive-description { color: var(--a45-muted); max-width: 50ch; }
.archive-list { display: grid; gap: 24px; }
.story-list-item {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    padding: 22px;
    border-radius: var(--a45-radius);
    border: 1px solid var(--a45-border);
    background: var(--a45-surface);
    box-shadow: var(--a45-shadow);
}
.story-list-item__image { display: block; aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; }
.story-list-item__image img { width: 100%; height: 100%; object-fit: cover; }
.article-header { padding-top: 68px; padding-bottom: 24px; }
.article-deck { max-width: 42ch; font-size: 1.2rem; color: var(--a45-muted); }
.article-byline {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    font-size: .92rem;
    color: var(--a45-muted);
}
.article-hero { margin-bottom: 34px; }
.article-hero img { width: 100%; border-radius: 28px; box-shadow: var(--a45-shadow); }
.article-hero figcaption { margin-top: 12px; font-size: .86rem; color: var(--a45-muted); }
.article-content {
    padding: 28px 0 0;
}
.article-content > * { max-width: var(--a45-content); }
.article-content > .jam45-promo { max-width: 100%; margin: 30px 0; }
.entry-content h2, .entry-content h3, .entry-content h4 { margin-top: 1.5em; }
.entry-content ul, .entry-content ol { margin: 0 0 1.5rem 1.25rem; padding: 0; }
.entry-content li { margin-bottom: .7rem; }
.entry-content blockquote {
    margin: 2rem 0;
    padding: 1.2rem 1.4rem;
    border-left: 4px solid var(--a45-accent);
    background: var(--a45-surface-2);
    border-radius: 0 16px 16px 0;
    font-style: italic;
}
.article-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.article-tags a {
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid var(--a45-border);
    color: var(--a45-text);
    font-size: .86rem;
    font-weight: 700;
}
.related-stories { padding-top: 54px; }
.article-sidebar { display: grid; gap: 20px; align-content: start; }
.widget, .footer-widget {
    padding: 22px;
    border-radius: var(--a45-radius);
    border: 1px solid var(--a45-border);
    background: var(--a45-surface);
    box-shadow: var(--a45-shadow);
}
.widget-title { margin-bottom: 12px; font-size: 1.25rem; }
.pagination, .nav-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-top: 18px; }
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding-inline: 12px;
    border-radius: 999px;
    border: 1px solid var(--a45-border);
    background: var(--a45-surface);
    color: var(--a45-text);
}
.page-numbers.current { background: var(--a45-accent); color: #fff; border-color: var(--a45-accent); }
.empty-state {
    padding: 48px;
    border-radius: var(--a45-radius);
    background: var(--a45-surface);
    border: 1px solid var(--a45-border);
    box-shadow: var(--a45-shadow);
}

/* Footer */
.site-footer { margin-top: 76px; padding-top: 60px; background: #201717; color: #efe4dc; }
.footer-widgets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-bottom: 40px; }
.footer-main { display: grid; grid-template-columns: 1.1fr .9fr; gap: 30px; align-items: stretch; padding-bottom: 34px; }
.wordmark--footer { color: #fff; }
.wordmark--footer span:last-child { color: #f2a738; }
.footer-branding p { max-width: 52ch; color: #ccbdb2; }
.footer-partner {
    display: grid;
    gap: 8px;
    align-content: center;
    padding: 28px;
    border-radius: var(--a45-radius);
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(135deg, rgba(255,255,255,.05) 0%, rgba(242,167,56,.1) 100%);
    color: #fff;
}
.footer-partner__label { color: #ccbdb2; text-transform: uppercase; letter-spacing: .14em; font-size: .75rem; font-weight: 700; }
.footer-partner__mark { font-size: 2rem; font-weight: 900; letter-spacing: -.04em; }
.footer-partner__copy { color: #e3d8d0; }
.footer-partner__link { color: #ffd47c; font-weight: 700; }
.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    min-height: 72px;
    border-top: 1px solid rgba(255,255,255,.12);
    color: #ccbdb2;
    font-size: .85rem;
}
.site-footer nav a { color: #efe4dc; }
.site-footer nav a:hover { color: #fff; }

/* Utilities */
.wp-block-image, .wp-caption { max-width: 100%; }
.alignwide { width: min(calc(100% - 36px), var(--a45-wide)); margin-left: auto; margin-right: auto; }
.alignfull { width: 100%; }

@media (max-width: 1160px) {
    .masthead { grid-template-columns: minmax(0, 1fr) auto; }
    .masthead-copy { grid-column: 1 / -1; order: 3; }
    .story-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-widgets { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
    .utility-strip__inner { grid-template-columns: 1fr; gap: 8px; padding: 10px 0; }
    .menu-toggle { display: inline-flex; }
    .main-nav-wrap__inner { grid-template-columns: auto 1fr; }
    .primary-navigation {
        display: none;
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        right: 0;
        padding: 18px;
        border: 1px solid var(--a45-border);
        border-radius: 18px;
        background: var(--a45-surface);
        box-shadow: var(--a45-shadow);
    }
    .primary-navigation.is-open { display: block; }
    .primary-navigation .menu { flex-direction: column; align-items: stretch; gap: 8px; }
    .primary-navigation a { min-height: 0; padding: 10px 4px; }
    .primary-navigation .sub-menu,
    .primary-navigation > .menu > .menu-item-has-children > .sub-menu {
        position: static;
        min-width: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding: 10px 0 0 12px;
        border: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        background: transparent;
    }
    .lead-grid { grid-template-columns: 1fr 1fr; }
    .lead-story:first-child { grid-column: 1 / -1; grid-row: auto; min-height: 500px; }
    .archive-layout, .single-story__grid, .footer-main { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    body { font-size: 16px; }
    .site-width { width: min(calc(100% - 26px), var(--a45-wide)); }
    .masthead { grid-template-columns: 1fr; }
    .search-form { max-width: none; justify-self: stretch; }
    .homepage-intro { padding-top: 42px; }
    .homepage-intro h1 { max-width: 12ch; }
    .lead-grid, .story-card-grid, .story-card-grid--three { grid-template-columns: 1fr; }
    .lead-story, .lead-story:first-child { min-height: 360px; }
    .section-heading { flex-direction: column; align-items: flex-start; }
    .story-list-item { grid-template-columns: 1fr; }
    .jam45-promo { grid-template-columns: 1fr; }
    .footer-bottom { flex-direction: column; align-items: flex-start; padding: 22px 0; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Accessibility preferences and article audio */
:root[data-theme="dark"] {
    --a45-bg: #111010;
    --a45-surface: #1d1a19;
    --a45-surface-2: #2a2522;
    --a45-text: #f7efe9;
    --a45-muted: #c4b8b0;
    --a45-accent: #ee7587;
    --a45-accent-dark: #ff9baa;
    --a45-highlight: #f2b857;
    --a45-border: #433a35;
    --a45-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
}
:root[data-theme="dark"] body { color-scheme: dark; }
:root[data-theme="dark"] .site-header { background: rgba(17, 16, 16, .97); }
:root[data-theme="dark"] .utility-strip { background: #090808; }
:root[data-theme="dark"] .main-nav-wrap { background: var(--a45-surface); }
:root[data-theme="dark"] .jam45-promo {
    border-color: #5c4b30;
    background: linear-gradient(135deg, #241f18 0%, #302719 100%);
}
:root[data-theme="dark"] .jam45-promo__mark { background: #080707; }
:root[data-theme="dark"] .search-field,
:root[data-theme="dark"] .search-submit { background: var(--a45-surface); color: var(--a45-text); }
:root[data-theme="dark"] .image-placeholder { background: linear-gradient(135deg, #48352d, #6b4438); }

.utility-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.accessibility-tools { display: inline-flex; align-items: center; gap: 5px; }
.accessibility-button {
    min-width: 38px;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 8px;
    background: rgba(255,255,255,.06);
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}
.accessibility-button:hover,
.accessibility-button:focus-visible { background: rgba(255,255,255,.16); outline: 2px solid #ffd47c; outline-offset: 2px; }
.theme-toggle { min-width: 104px; }

.article-audio {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px 24px;
    align-items: center;
    margin-bottom: 28px;
    padding: 20px 22px;
    border: 2px solid var(--a45-accent);
    border-radius: var(--a45-radius);
    background: var(--a45-surface);
    box-shadow: var(--a45-shadow);
}
.article-audio__intro { display: grid; gap: 2px; }
.article-audio__intro strong { font-family: Georgia, 'Times New Roman', serif; font-size: 1.2rem; }
.article-audio__intro span, .article-audio__status { color: var(--a45-muted); }
.article-audio__controls { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.article-audio__button {
    min-height: 44px;
    padding: 10px 15px;
    border: 1px solid var(--a45-border);
    border-radius: 999px;
    background: var(--a45-text);
    color: var(--a45-bg);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}
.article-audio__button:hover:not(:disabled),
.article-audio__button:focus-visible:not(:disabled) { transform: translateY(-1px); outline: 3px solid var(--a45-highlight); outline-offset: 2px; }
.article-audio__button:disabled { opacity: .48; cursor: not-allowed; }
.article-audio__play { background: var(--a45-accent); color: #fff; border-color: var(--a45-accent); }
.article-audio__status { grid-column: 1 / -1; margin: 0; font-size: .88rem; }
.article-audio--unsupported .article-audio__controls { display: none; }
.jam45-promo__mark--logo { padding: 5px; background: transparent; }
.jam45-promo__logo { width: 88px; height: 88px; object-fit: contain; }
.footer-jam45 .jam45-promo { height: 100%; }

@media (max-width: 1120px) {
    .utility-strip__inner { grid-template-columns: 1fr; }
    .utility-actions { grid-column: auto; justify-content: space-between; padding-bottom: 8px; }
}

@media (max-width: 760px) {
    .utility-actions { align-items: flex-start; flex-direction: column; }
    .accessibility-tools { width: 100%; flex-wrap: wrap; }
    .accessibility-button { min-height: 44px; }
    .article-audio { grid-template-columns: 1fr; }
    .article-audio__controls { justify-content: flex-start; }
    .article-audio__button { flex: 1 1 auto; }
}


/* v0.4 mobile header rebuild */
:root { --a45-reader-scale: 1; }
.entry-content,
.article-deck,
.archive-description,
.story-card__body > p,
.story-list-item > div > p,
.homepage-intro > p:last-child,
.page-content {
    font-size: calc(1rem * var(--a45-reader-scale));
}

.utility-strip__desktop {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 22px;
    align-items: center;
    min-height: 42px;
}
.mobile-toolbar,
.mobile-accessibility-panel { display: none; }

@media (max-width: 760px) {
    .site-header {
        position: relative;
        top: auto;
        backdrop-filter: none;
    }

    .utility-strip__desktop { display: none; }
    .mobile-toolbar {
        display: flex;
        min-height: 44px;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }
    .mobile-toolbar__jam45 {
        display: inline-flex;
        align-items: center;
        color: #ffd47c;
        font-size: .88rem;
        font-weight: 900;
        letter-spacing: .04em;
    }
    .mobile-accessibility-toggle {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        min-height: 38px;
        padding: 6px 10px;
        border: 1px solid rgba(255,255,255,.3);
        border-radius: 9px;
        background: rgba(255,255,255,.08);
        color: #fff;
        font: inherit;
        font-size: .82rem;
        font-weight: 800;
    }
    .mobile-accessibility-toggle:focus-visible {
        outline: 3px solid #ffd47c;
        outline-offset: 2px;
    }
    .mobile-accessibility-panel {
        position: relative;
        z-index: 110;
        border-top: 1px solid rgba(255,255,255,.15);
        background: #151111;
        color: #fff;
    }
    .mobile-accessibility-panel[hidden] { display: none !important; }
    .mobile-accessibility-panel.is-open { display: block; }
    .mobile-accessibility-panel__inner {
        display: grid;
        gap: 16px;
        padding-block: 16px 18px;
    }
    .accessibility-tools--mobile {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
    }
    .accessibility-tools--mobile .theme-toggle {
        grid-column: 1 / -1;
        width: 100%;
    }
    .accessibility-tools--mobile .accessibility-button {
        min-height: 48px;
        width: 100%;
        padding: 8px 10px;
        font-size: 1rem;
    }
    .mobile-utility-navigation .menu {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px 16px;
    }
    .mobile-utility-navigation a {
        display: block;
        padding: 8px 0;
        color: #f7eee6;
        font-weight: 650;
    }

    .masthead {
        display: grid;
        grid-template-columns: minmax(82px, 118px) minmax(0, 1fr);
        gap: 14px;
        align-items: center;
        padding-block: 13px;
    }
    .site-branding { align-self: center; }
    .custom-logo-link {
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }
    .custom-logo-link img {
        width: auto;
        max-width: 118px;
        max-height: 74px;
        object-fit: contain;
    }
    .wordmark {
        font-size: 1.85rem;
        line-height: .9;
    }
    .wordmark__eyebrow { display: none; }
    .masthead-copy { display: none; }
    .masthead .search-form {
        grid-column: 2;
        width: 100%;
        max-width: none;
        margin: 0;
    }
    .search-field {
        min-height: 46px;
        padding: 10px 13px;
        font-size: 1rem;
    }
    .search-submit { min-width: 48px; min-height: 46px; }

    .main-nav-wrap__inner {
        min-height: 54px;
        grid-template-columns: 1fr;
    }
    .menu-toggle {
        display: flex;
        width: 100%;
        min-height: 54px;
        justify-content: space-between;
        padding: 0 2px;
        font-size: 1rem;
    }
    .menu-toggle__icon,
    .menu-toggle__icon::before,
    .menu-toggle__icon::after { width: 24px; }
    .primary-navigation {
        top: calc(100% + 1px);
        left: -1px;
        right: -1px;
        padding: 12px 16px 18px;
        border-radius: 0 0 18px 18px;
        max-height: calc(100vh - 170px);
        overflow-y: auto;
    }
    .primary-navigation a {
        min-height: 46px;
        display: flex;
        align-items: center;
        padding: 6px 4px;
    }
    .primary-navigation .sub-menu,
    .primary-navigation > .menu > .menu-item-has-children > .sub-menu {
        grid-template-columns: 1fr;
        gap: 2px;
        padding-left: 14px;
    }

    .homepage-intro {
        padding-top: 34px;
        padding-bottom: 22px;
    }
    .homepage-intro .eyebrow { margin-bottom: 8px; }
    .homepage-intro h1 {
        font-size: clamp(2.2rem, 12vw, 3.6rem);
        max-width: 11ch;
        margin-bottom: .35em;
    }
    .homepage-intro > p:last-child { line-height: 1.55; }

    .article-audio {
        padding: 16px;
        margin-bottom: 20px;
    }
    .article-audio__controls { display: grid; grid-template-columns: 1fr 1fr; }
    .article-audio__play { grid-column: 1 / -1; }

    .jam45-promo__logo { width: 72px; height: 72px; }

    /* The theme includes its own switch; suppress common duplicate floating dark-mode widgets. */
    .wp-dark-mode-switcher,
    #wp-dark-mode-switcher,
    .wp-dark-mode-floating-switch,
    .darkmode-layer + .darkmode-toggle { display: none !important; }
}

html, body { overflow-x: hidden; }
@media (max-width: 760px) {
    .site-shell, .site-header, .site-main { max-width: 100%; }
}

/* =========================================================
   v0.5 — 45Audio signature newsroom homepage and footer
   ========================================================= */

/* One Jam45 promotion only: the footer. */
.homepage-promo,
.jam45-promo--homepage,
.jam45-promo--inline,
.jam45-promo--article-footer { display: none !important; }

.mobile-toolbar__date {
    color: #e8ddd5;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.home-newsroom { padding-bottom: 0; }
.home-module { padding-top: clamp(68px, 8vw, 112px); }
.module-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--a45-border);
}
.module-heading h2 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.7rem); }
.module-heading--split > p {
    max-width: 42ch;
    margin: 0;
    color: var(--a45-muted);
    font-size: 1.04rem;
}

/* Signature opening stage */
.newsroom-stage {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(48px, 7vw, 92px) 0 clamp(44px, 6vw, 82px);
    background:
        radial-gradient(circle at 78% 8%, rgba(215, 157, 63, .24), transparent 28%),
        radial-gradient(circle at 13% 14%, rgba(143, 35, 51, .4), transparent 32%),
        linear-gradient(145deg, #120d0e 0%, #211416 52%, #0d0b0c 100%);
    color: #fff;
}
.newsroom-stage::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .28;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(to bottom, #000, transparent 84%);
}
.newsroom-stage::after {
    content: '45AUDIO';
    position: absolute;
    z-index: -1;
    right: -2vw;
    top: 2px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(255,255,255,.065);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(8rem, 20vw, 22rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.08em;
    white-space: nowrap;
    pointer-events: none;
}
.newsroom-stage__glow {
    position: absolute;
    z-index: -1;
    width: 430px;
    height: 430px;
    left: 44%;
    top: 25%;
    border-radius: 50%;
    background: rgba(143,35,51,.16);
    filter: blur(80px);
    animation: a45-stage-breathe 7s ease-in-out infinite alternate;
}
.newsroom-stage__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
    gap: clamp(28px, 6vw, 88px);
    align-items: end;
    margin-bottom: 36px;
}
.stage-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    color: #f6c875;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.stage-kicker__live {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #ff6377;
    box-shadow: 0 0 0 0 rgba(255,99,119,.55);
    animation: a45-live-pulse 1.8s ease-out infinite;
}
.newsroom-stage__copy h1 {
    max-width: 10.5ch;
    margin: 0;
    color: #fff;
    font-size: clamp(3.25rem, 7.4vw, 7.7rem);
    line-height: .88;
    letter-spacing: -.065em;
    text-wrap: balance;
}
.newsroom-stage__aside {
    padding: 22px 0 8px;
    border-top: 1px solid rgba(255,255,255,.22);
}
.newsroom-stage__aside p {
    max-width: 42ch;
    margin: 16px 0 0;
    color: rgba(255,255,255,.76);
    font-size: 1.05rem;
    line-height: 1.65;
}
.equalizer {
    display: flex;
    align-items: end;
    gap: 5px;
    height: 34px;
}
.equalizer span {
    width: 5px;
    min-height: 8px;
    border-radius: 999px;
    background: linear-gradient(to top, #9f273a, #f2bc5c);
    transform-origin: bottom;
    animation: a45-equalize 1.05s ease-in-out infinite alternate;
}
.equalizer span:nth-child(2) { animation-delay: -.7s; }
.equalizer span:nth-child(3) { animation-delay: -.35s; }
.equalizer span:nth-child(4) { animation-delay: -.9s; }
.equalizer span:nth-child(5) { animation-delay: -.15s; }
.equalizer span:nth-child(6) { animation-delay: -.55s; }

.news-ticker {
    margin-bottom: 28px;
    border-block: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.045);
    backdrop-filter: blur(8px);
}
.news-ticker__frame {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    min-height: 48px;
    overflow: hidden;
}
.news-ticker__label {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding-right: 22px;
    border-right: 1px solid rgba(255,255,255,.18);
    color: #f6c875;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    white-space: nowrap;
}
.news-ticker__viewport { min-width: 0; overflow: hidden; }
.news-ticker__track {
    display: flex;
    width: max-content;
    animation: a45-ticker 42s linear infinite;
}
.news-ticker__viewport:hover .news-ticker__track,
.news-ticker__viewport:focus-within .news-ticker__track { animation-play-state: paused; }
.news-ticker__group { display: flex; align-items: center; }
.news-ticker__group a {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    padding-right: 34px;
    color: rgba(255,255,255,.88);
    font-size: .88rem;
    font-weight: 700;
    white-space: nowrap;
}
.news-ticker__group a:hover { color: #fff; }
.news-ticker__group a span { color: #b63a4d; font-size: .52rem; }
.news-ticker__empty { margin: 0; color: rgba(255,255,255,.75); font-size: .88rem; }

.hero-deck {
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(245px, .63fr) minmax(255px, .62fr);
    gap: 20px;
    align-items: stretch;
}
.hero-showcase,
.hero-stack-card,
.headline-board {
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 26px 70px rgba(0,0,0,.31);
}
.hero-showcase {
    position: relative;
    min-height: 655px;
    background: #2c2021;
}
.hero-showcase__media,
.hero-showcase__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-showcase__media img { transition: transform .7s cubic-bezier(.2,.75,.25,1); }
.hero-showcase:hover .hero-showcase__media img { transform: scale(1.035); }
.hero-showcase__scrim {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(5,4,4,.04) 10%, rgba(8,5,6,.2) 38%, rgba(8,5,6,.96) 100%),
        linear-gradient(90deg, rgba(8,5,6,.45), transparent 62%);
}
.hero-showcase__content {
    position: absolute;
    z-index: 2;
    inset: auto 0 0;
    padding: clamp(26px, 4vw, 48px);
}
.hero-showcase__badge {
    display: inline-flex;
    margin-bottom: 15px;
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;
    background: rgba(0,0,0,.22);
    color: #fff;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
    backdrop-filter: blur(9px);
}
.hero-showcase .story-kicker { color: #f3bd62; }
.hero-showcase h2 { max-width: 13ch; margin-bottom: 14px; font-size: clamp(2.25rem, 4.3vw, 4.8rem); line-height: .96; }
.hero-showcase h2 a { color: #fff; }
.hero-showcase__content > p { max-width: 55ch; color: rgba(255,255,255,.78); }
.story-meta--light { color: rgba(255,255,255,.66); }
.hero-showcase--empty {
    background:
        radial-gradient(circle at 80% 20%, rgba(242,188,92,.24), transparent 25%),
        linear-gradient(145deg, #421c25, #171011 72%);
}
.hero-showcase--empty .hero-showcase__content { position: absolute; }

.hero-stack { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 20px; }
.hero-stack-card { position: relative; min-height: 316px; background: #211718; }
.hero-stack-card__media,
.hero-stack-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-stack-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 20%, rgba(10,7,8,.93) 100%);
}
.hero-stack-card__content { position: absolute; z-index: 2; inset: auto 0 0; padding: 22px; }
.hero-stack-card .story-kicker { color: #f2bd66; margin-bottom: 8px; }
.hero-stack-card h3 { margin: 0 0 10px; font-size: clamp(1.35rem, 2vw, 1.8rem); }
.hero-stack-card h3 a { color: #fff; }
.hero-stack-card .story-meta { color: rgba(255,255,255,.66); }
.hero-stack-card--placeholder { background: linear-gradient(145deg, #37272a, #1e1517); }
.hero-stack-card--placeholder::after { display: none; }
.hero-stack-card--placeholder p { color: rgba(255,255,255,.68); }

.headline-board {
    display: flex;
    flex-direction: column;
    padding: 25px;
    background: rgba(255,255,255,.965);
    color: #1a1818;
}
.headline-board__header { display: flex; justify-content: space-between; gap: 18px; align-items: start; padding-bottom: 17px; border-bottom: 1px solid #ded2c7; }
.headline-board__eyebrow { display: block; color: #8f2333; font-size: .68rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.headline-board h2 { margin: 5px 0 0; color: #1a1818; font-size: 1.75rem; }
.headline-board__signal { width: 12px; height: 12px; margin-top: 5px; border-radius: 50%; background: #8f2333; box-shadow: 0 0 0 7px rgba(143,35,51,.12); }
.headline-board__list { display: grid; margin: 4px 0 0; }
.headline-board__list li { display: grid; grid-template-columns: 31px minmax(0,1fr); gap: 12px; padding: 17px 0; border-bottom: 1px solid #e5dbd1; }
.headline-board__number { color: #b5a59a; font-family: Georgia, 'Times New Roman', serif; font-size: 1rem; font-weight: 700; }
.headline-board .story-kicker { margin: 0 0 4px; color: #8f2333; font-size: .62rem; }
.headline-board__title { display: block; color: #1a1818; font-family: Georgia, 'Times New Roman', serif; font-size: 1.03rem; font-weight: 700; line-height: 1.25; }
.headline-board__title:hover { color: #8f2333; }
.headline-board__all { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 18px; color: #1a1818; font-weight: 850; }
.headline-board__all span { color: #8f2333; font-size: 1.4rem; }

/* Genre ribbon */
.genre-ribbon {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    margin-top: -24px;
    padding: 19px 22px;
    border: 1px solid var(--a45-border);
    border-radius: 20px;
    background: var(--a45-surface);
    box-shadow: var(--a45-shadow);
}
.genre-ribbon__label { color: var(--a45-accent); font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.genre-ribbon__links { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-width: 0; }
.genre-ribbon__links a { display: inline-flex; align-items: center; gap: 7px; color: var(--a45-text); font-weight: 750; white-space: nowrap; }
.genre-ribbon__links a:hover { color: var(--a45-accent); }
.genre-ribbon__links a span { color: var(--a45-muted); font-family: Georgia, 'Times New Roman', serif; font-size: .72rem; }

/* Radar */
.radar-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--a45-border); border-radius: 26px; background: var(--a45-border); box-shadow: var(--a45-shadow); }
.radar-item {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 17px;
    align-items: start;
    min-height: 245px;
    padding: 27px;
    background: var(--a45-surface);
    transition: background .22s ease, transform .22s ease;
}
.radar-item:hover { z-index: 2; background: var(--a45-surface-2); }
.radar-item__number { color: var(--a45-accent); font-family: Georgia, 'Times New Roman', serif; font-size: 2.55rem; font-weight: 700; line-height: 1; opacity: .45; }
.radar-item__content h3 { margin: 3px 0 11px; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.radar-item__content h3 a { color: var(--a45-text); }
.radar-item__content p { color: var(--a45-muted); }
.radar-item__arrow { color: var(--a45-accent); font-size: 1.4rem; font-weight: 700; }

/* Full-width editorial statement */
.editorial-break {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin-top: clamp(76px, 9vw, 128px);
    padding: clamp(62px, 9vw, 120px) 0;
    background: linear-gradient(112deg, #8b2232 0%, #511722 46%, #171012 100%);
    color: #fff;
}
.editorial-break::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.055), transparent);
    transform: translateX(-100%);
    animation: a45-shine 8s ease-in-out infinite;
}
.editorial-break__rings {
    position: absolute;
    right: -130px;
    top: 50%;
    width: 470px;
    height: 470px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
    transform: translateY(-50%);
}
.editorial-break__rings::before,
.editorial-break__rings::after { content: ''; position: absolute; inset: 54px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.editorial-break__rings::after { inset: 116px; }
.editorial-break__inner { display: grid; grid-template-columns: auto minmax(0,1fr) minmax(240px,.55fr); gap: clamp(24px, 5vw, 68px); align-items: center; }
.editorial-break__mark { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.38); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(6rem, 13vw, 12rem); font-weight: 800; line-height: .75; letter-spacing: -.09em; }
.editorial-break .eyebrow { color: #ffd88c; }
.editorial-break h2 { max-width: 13ch; margin: 0; color: #fff; font-size: clamp(2.35rem, 5.2vw, 5.25rem); line-height: .98; }
.editorial-break__inner > p { margin: 0; color: rgba(255,255,255,.75); font-size: 1.08rem; }

/* Category spotlight */
.spotlight-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(330px,.7fr); gap: 28px; align-items: stretch; }
.spotlight-feature { position: relative; min-height: 610px; overflow: hidden; border-radius: 28px; background: #211819; box-shadow: var(--a45-shadow); }
.spotlight-feature__media,
.spotlight-feature__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.spotlight-feature::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 28%, rgba(8,5,6,.94) 100%); }
.spotlight-feature__content { position: absolute; z-index: 2; inset: auto 0 0; padding: clamp(28px,5vw,52px); }
.spotlight-feature__label { display: inline-flex; margin-bottom: 12px; padding: 6px 10px; border-radius: 999px; background: #f2bc5c; color: #261a15; font-size: .68rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.spotlight-feature h3 { max-width: 14ch; font-size: clamp(2rem,4vw,4rem); }
.spotlight-feature h3 a { color: #fff; }
.spotlight-feature p { max-width: 50ch; color: rgba(255,255,255,.75); }
.spotlight-list { display: grid; grid-template-rows: repeat(4, minmax(0,1fr)); border-block: 1px solid var(--a45-border); }
.spotlight-list-item { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 20px; align-items: center; padding: 22px 8px; border-bottom: 1px solid var(--a45-border); }
.spotlight-list-item:last-child { border-bottom: 0; }
.spotlight-list-item__number { color: var(--a45-accent); font-family: Georgia, 'Times New Roman', serif; font-size: 1.3rem; font-weight: 700; opacity: .6; }
.spotlight-list-item h3 { margin: 0 0 9px; font-size: clamp(1.25rem,2vw,1.65rem); }
.spotlight-list-item h3 a { color: var(--a45-text); }

/* Bento-style fresh stories */
.fresh-grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); grid-auto-rows: 258px; gap: 18px; }
.fresh-card { position: relative; grid-column: span 4; overflow: hidden; border-radius: 24px; background: #211718; box-shadow: var(--a45-shadow); }
.fresh-card--1 { grid-column: span 7; grid-row: span 2; }
.fresh-card--2,
.fresh-card--3 { grid-column: span 5; }
.fresh-card__media,
.fresh-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fresh-card__media img { transition: transform .55s cubic-bezier(.2,.75,.25,1); }
.fresh-card:hover .fresh-card__media img { transform: scale(1.045); }
.fresh-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,5,6,.02) 12%, rgba(8,5,6,.91) 100%); }
.fresh-card__content { position: absolute; z-index: 2; inset: auto 0 0; padding: 23px; }
.fresh-card .story-kicker { color: #f3bd62; margin-bottom: 7px; }
.fresh-card h3 { margin: 0 0 8px; font-size: clamp(1.3rem,2.2vw,2rem); }
.fresh-card--1 h3 { max-width: 13ch; font-size: clamp(2.15rem,4vw,4rem); }
.fresh-card h3 a { color: #fff; }
.fresh-card .story-meta { color: rgba(255,255,255,.66); }

/* Genre universe */
.genre-universe__grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.genre-tile {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    min-height: 270px;
    padding: 25px;
    overflow: hidden;
    border-radius: 24px;
    color: #fff;
    box-shadow: var(--a45-shadow);
    transition: transform .25s ease, box-shadow .25s ease;
}
.genre-tile::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 180px;
    height: 180px;
    right: -64px;
    bottom: -64px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
    box-shadow: 0 0 0 26px rgba(255,255,255,.04), 0 0 0 54px rgba(255,255,255,.025);
}
.genre-tile:hover { transform: translateY(-5px); color: #fff; box-shadow: 0 24px 55px rgba(53,38,30,.18); }
.genre-tile--1 { background: linear-gradient(145deg, #9a2437, #39131c); }
.genre-tile--2 { background: linear-gradient(145deg, #b67423, #463018); }
.genre-tile--3 { background: linear-gradient(145deg, #315b72, #162b37); }
.genre-tile--4 { background: linear-gradient(145deg, #55407e, #231b35); }
.genre-tile__number { color: rgba(255,255,255,.55); font-family: Georgia, 'Times New Roman', serif; font-size: .88rem; }
.genre-tile__name { max-width: 9ch; margin-top: auto; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.65rem,3vw,2.55rem); font-weight: 700; line-height: .95; }
.genre-tile__count { margin-top: 9px; color: rgba(255,255,255,.68); font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.genre-tile__latest { margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.82); font-size: .86rem; line-height: 1.35; }
.genre-tile__arrow { position: absolute; right: 22px; top: 19px; color: rgba(255,255,255,.8); font-size: 1.5rem; }

/* Internal newsroom CTA */
.story-callout {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: clamp(22px,4vw,52px);
    align-items: center;
    margin-top: clamp(74px,9vw,124px);
    margin-bottom: clamp(70px,8vw,105px);
    padding: clamp(28px,5vw,50px);
    border: 1px solid var(--a45-border);
    border-radius: 28px;
    background:
        radial-gradient(circle at 88% 15%, rgba(215,157,63,.18), transparent 22%),
        var(--a45-surface);
    box-shadow: var(--a45-shadow);
}
.story-callout__mark { color: transparent; -webkit-text-stroke: 1px var(--a45-accent); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(4rem,8vw,7rem); font-weight: 800; line-height: .8; letter-spacing: -.08em; }
.story-callout h2 { max-width: 20ch; margin: 0; font-size: clamp(1.8rem,3.3vw,3.1rem); }

/* Footer menu and the single Jam45 promotion */
.site-footer { margin-top: 0; }
.footer-main { padding-top: 6px; }
.footer-jam45 .jam45-promo {
    height: 100%;
    grid-template-columns: 112px minmax(0,1fr) auto;
    padding: 26px;
    border-color: rgba(255,255,255,.16);
    background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(215,157,63,.12));
    box-shadow: none;
}
.footer-jam45 .jam45-promo__logo-link { display: grid; place-items: center; min-height: 96px; padding: 6px; border-radius: 18px; background: rgba(255,255,255,.96); }
.footer-jam45 .jam45-promo__logo { width: 96px; height: 82px; object-fit: contain; }
.footer-jam45 .jam45-promo__copy strong { color: #fff; }
.footer-jam45 .jam45-promo__copy p { color: #d7c9bf; }
.footer-jam45 .button--jam45 { background: #f1aa3d; color: #201717; }
.footer-jam45 .button--jam45:hover { background: #ffc267; color: #201717; }
.footer-menu-panel {
    display: grid;
    grid-template-columns: minmax(170px,.35fr) minmax(0,1fr);
    gap: 34px;
    align-items: center;
    margin-top: 10px;
    padding: 27px 0;
    border-top: 1px solid rgba(255,255,255,.13);
    border-bottom: 1px solid rgba(255,255,255,.13);
}
.footer-menu-panel__intro { display: grid; gap: 3px; }
.footer-menu-panel__eyebrow { color: #d6a34e; font-size: .7rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.footer-menu-panel__intro strong { color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: 1.2rem; }
.footer-navigation .menu { justify-content: flex-end; gap: 11px 24px; }
.footer-navigation a { display: inline-flex; padding: 7px 0; color: #eee2d9; font-size: .9rem; font-weight: 700; }
.footer-navigation a:hover { color: #ffd487; }
.footer-bottom { border-top: 0; }
.footer-bottom p { margin: 0; }
.footer-bottom p:last-child { text-align: right; }

/* Dark-mode refinements for the new light sections. */
:root[data-theme="dark"] .headline-board { background: #f6f0ea; color: #1a1818; }
:root[data-theme="dark"] .headline-board h2,
:root[data-theme="dark"] .headline-board__title,
:root[data-theme="dark"] .headline-board__all { color: #1a1818; }
:root[data-theme="dark"] .genre-ribbon { background: #1d1a19; }
:root[data-theme="dark"] .story-callout { background: radial-gradient(circle at 88% 15%, rgba(242,184,87,.16), transparent 22%), #1d1a19; }

@keyframes a45-stage-breathe {
    from { transform: translate3d(-4%, -2%, 0) scale(.92); opacity: .62; }
    to { transform: translate3d(6%, 5%, 0) scale(1.12); opacity: 1; }
}
@keyframes a45-live-pulse {
    0% { box-shadow: 0 0 0 0 rgba(255,99,119,.55); }
    70%, 100% { box-shadow: 0 0 0 9px rgba(255,99,119,0); }
}
@keyframes a45-equalize {
    from { height: 9px; }
    to { height: 33px; }
}
@keyframes a45-ticker {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
@keyframes a45-shine {
    0%, 25% { transform: translateX(-100%); }
    60%, 100% { transform: translateX(100%); }
}

@media (max-width: 1180px) {
    .hero-deck { grid-template-columns: minmax(0,1.4fr) minmax(290px,.6fr); }
    .headline-board { grid-column: 1 / -1; }
    .headline-board__list { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 1px; background: #e5dbd1; }
    .headline-board__list li { grid-template-columns: 1fr; gap: 7px; padding: 18px; border-bottom: 0; background: #fff; }
    .headline-board__all { margin-top: 16px; }
    .radar-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .genre-universe__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 920px) {
    .newsroom-stage__intro { grid-template-columns: 1fr; }
    .newsroom-stage__copy h1 { max-width: 12ch; }
    .newsroom-stage__aside { max-width: 620px; }
    .hero-deck { grid-template-columns: 1fr; }
    .hero-showcase { min-height: 590px; }
    .hero-stack { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; }
    .headline-board__list { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .genre-ribbon { grid-template-columns: 1fr; gap: 10px; }
    .genre-ribbon__links { justify-content: flex-start; overflow-x: auto; padding-bottom: 5px; scrollbar-width: thin; }
    .editorial-break__inner { grid-template-columns: auto minmax(0,1fr); }
    .editorial-break__inner > p { grid-column: 2; }
    .spotlight-layout { grid-template-columns: 1fr; }
    .spotlight-list { grid-template-rows: none; }
    .fresh-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: 320px; }
    .fresh-card,
    .fresh-card--1,
    .fresh-card--2,
    .fresh-card--3 { grid-column: auto; grid-row: auto; }
    .story-callout { grid-template-columns: auto minmax(0,1fr); }
    .story-callout .button { grid-column: 2; justify-self: start; }
    .footer-jam45 .jam45-promo { grid-template-columns: 96px minmax(0,1fr); }
    .footer-jam45 .button--jam45 { grid-column: 2; justify-self: start; }
    .footer-menu-panel { grid-template-columns: 1fr; gap: 14px; }
    .footer-navigation .menu { justify-content: flex-start; }
}

@media (max-width: 760px) {
    .home-module { padding-top: 66px; }
    .module-heading,
    .module-heading--split { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 22px; }
    .module-heading h2 { font-size: clamp(2.15rem,11vw,3.6rem); }
    .newsroom-stage { padding-top: 38px; }
    .newsroom-stage::after { top: 90px; font-size: 10rem; }
    .newsroom-stage__intro { gap: 21px; margin-bottom: 24px; }
    .newsroom-stage__copy h1 { font-size: clamp(3rem,16vw,5.25rem); line-height: .9; }
    .newsroom-stage__aside { padding-top: 16px; }
    .newsroom-stage__aside p { font-size: .98rem; }
    .news-ticker { margin-bottom: 18px; }
    .news-ticker__frame { grid-template-columns: 1fr; gap: 0; padding-block: 7px; }
    .news-ticker__label { min-height: 30px; padding-right: 0; border-right: 0; }
    .news-ticker__track { animation-duration: 35s; }
    .hero-showcase { min-height: 485px; border-radius: 22px; }
    .hero-showcase__content { padding: 24px; }
    .hero-showcase h2 { font-size: clamp(2.15rem,10vw,3.35rem); }
    .hero-showcase__content > p { display: none; }
    .hero-stack { grid-template-columns: 1fr; }
    .hero-stack-card { min-height: 290px; }
    .headline-board { padding: 22px; }
    .headline-board__list { grid-template-columns: 1fr; background: transparent; }
    .headline-board__list li { grid-template-columns: 31px minmax(0,1fr); padding: 15px 0; border-bottom: 1px solid #e5dbd1; }
    .genre-ribbon { margin-top: -15px; padding: 16px; border-radius: 17px; }
    .genre-ribbon__links { gap: 18px; }
    .radar-list { grid-template-columns: 1fr; }
    .radar-item { min-height: 0; padding: 22px; }
    .radar-item__number { font-size: 2rem; }
    .editorial-break { margin-top: 72px; padding: 70px 0; }
    .editorial-break__inner { grid-template-columns: 1fr; gap: 18px; }
    .editorial-break__mark { font-size: 6.5rem; }
    .editorial-break h2 { font-size: clamp(2.4rem,11vw,3.8rem); }
    .editorial-break__inner > p { grid-column: auto; }
    .editorial-break__rings { right: -290px; }
    .spotlight-feature { min-height: 485px; }
    .spotlight-feature__content { padding: 25px; }
    .spotlight-feature h3 { font-size: clamp(2rem,10vw,3.2rem); }
    .spotlight-feature p { display: none; }
    .spotlight-list-item { grid-template-columns: 38px minmax(0,1fr); gap: 13px; padding: 19px 4px; }
    .fresh-grid { grid-template-columns: 1fr; grid-auto-rows: 330px; }
    .fresh-card--1 { min-height: 430px; }
    .fresh-card--1 h3 { font-size: clamp(2rem,10vw,3.1rem); }
    .genre-universe__grid { grid-template-columns: 1fr; }
    .genre-tile { min-height: 230px; }
    .story-callout { grid-template-columns: 1fr; margin-top: 72px; margin-bottom: 72px; }
    .story-callout__mark { font-size: 5rem; }
    .story-callout .button { grid-column: auto; }
    .footer-jam45 .jam45-promo { grid-template-columns: 1fr; text-align: left; }
    .footer-jam45 .jam45-promo__logo-link { justify-self: start; width: 120px; }
    .footer-jam45 .button--jam45 { grid-column: auto; }
    .footer-navigation .menu { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 18px; }
    .footer-bottom p:last-child { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
    .newsroom-stage__glow,
    .stage-kicker__live,
    .equalizer span,
    .news-ticker__track,
    .editorial-break::before { animation: none !important; }
    .news-ticker__viewport { overflow-x: auto; }
}


/* =========================================================
   v0.6 — page/footer cleanup and Contact page correction
   ========================================================= */

/* Static pages should meet the footer cleanly; the footer navigation already exists. */
.page-main {
    padding-bottom: 0;
}

/* The supplied Jam45 PNG is transparent. Let the footer itself show through it. */
.footer-jam45 .jam45-promo__logo-link,
:root[data-theme="dark"] .footer-jam45 .jam45-promo__logo-link {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
}
.footer-jam45 .jam45-promo__logo {
    width: 108px;
    height: 108px;
    object-fit: contain;
}

/* Contact is a designed two-column page, not a narrow article. */
.page-main--contact {
    width: min(calc(100% - 36px), 1240px);
    max-width: 1240px;
}
.page-main--contact > article,
.page-main--contact .entry-content,
.page-main--contact .entry-content > *,
.page-main--contact .wp-block-group__inner-container,
.page-main--contact .et_pb_row,
.page-main--contact .elementor-section .elementor-container {
    width: 100%;
    max-width: none;
}
.page-main--contact .wp-block-columns {
    gap: clamp(36px, 6vw, 88px);
    align-items: flex-start;
}
.page-main--contact .wp-block-column {
    min-width: 0;
}
.page-main--contact .wp-block-column:last-child {
    flex-basis: 48% !important;
}

/* Cover the common WordPress form plugins as well as ordinary forms. */
.page-main--contact form,
.page-main--contact .wpcf7,
.page-main--contact .wpforms-container,
.page-main--contact .srfm-form-container,
.page-main--contact .sureforms-block,
.page-main--contact .everest-forms,
.page-main--contact .fluentform,
.page-main--contact .forminator-ui {
    width: 100% !important;
    max-width: 590px !important;
}
.page-main--contact form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.page-main--contact form textarea,
.page-main--contact form select,
.page-main--contact .wpcf7-form-control-wrap,
.page-main--contact .wpforms-field,
.page-main--contact .srfm-form-container .srfm-block-wrap {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
}
.page-main--contact form textarea {
    min-height: 170px;
}

@media (max-width: 760px) {
    .page-main--contact {
        width: min(calc(100% - 26px), 1240px);
    }
    .page-main--contact .wp-block-columns {
        gap: 28px;
    }
    .footer-jam45 .jam45-promo__logo {
        width: 96px;
        height: 96px;
    }
}


/* =========================================================
   v0.7 — streamlined navigation and sitewide editorial ticker
   ========================================================= */

/* The old date/utility strip and separate menu row are intentionally retired. */
.utility-strip,
.main-nav-wrap,
.mobile-toolbar {
    display: none !important;
}

.site-header {
    overflow: visible;
}

.masthead--streamlined {
    display: grid;
    grid-template-columns: minmax(150px, 205px) minmax(390px, 1fr) minmax(430px, auto);
    gap: clamp(18px, 2.2vw, 34px);
    align-items: center;
    min-height: 104px;
    padding-block: 16px;
}

.masthead--streamlined .custom-logo-link img {
    max-height: 72px;
    width: auto;
}

.masthead-navigation {
    min-width: 0;
    align-self: stretch;
    display: flex;
    align-items: center;
}

.masthead-navigation .primary-navigation {
    display: block;
    width: 100%;
}

.masthead-navigation .primary-navigation > .menu {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3px clamp(12px, 1.4vw, 23px);
}

.masthead-navigation .primary-navigation > .menu > li > a {
    min-height: 48px;
    padding: 8px 0;
    font-size: clamp(.86rem, .9vw, .98rem);
    letter-spacing: .01em;
}

.masthead-navigation .primary-navigation > .menu > li.current-menu-item > a,
.masthead-navigation .primary-navigation > .menu > li.current-menu-ancestor > a {
    color: var(--a45-accent);
}

.masthead-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
}

.masthead-tools .search-form {
    order: 1;
    flex: 1 1 230px;
    width: min(270px, 24vw);
    min-width: 190px;
    max-width: 270px;
}

.masthead-tools .search-field {
    min-height: 44px;
    padding-block: 10px;
}

.masthead-tools .search-submit {
    min-width: 48px;
}

.accessibility-tools--desktop {
    order: 2;
    flex: 0 0 auto;
    gap: 5px;
}

.masthead-tools .accessibility-button {
    min-width: 38px;
    min-height: 42px;
    padding: 7px 10px;
    border-color: var(--a45-border);
    background: var(--a45-surface-2);
    color: var(--a45-text);
}

.masthead-tools .accessibility-button:hover,
.masthead-tools .accessibility-button:focus-visible {
    background: var(--a45-surface);
    color: var(--a45-accent);
}

.masthead-tools .theme-toggle {
    min-width: 94px;
}

.masthead-tools .mobile-accessibility-toggle {
    display: none;
}

/* Editorial identity at left; featured headlines move continuously beside it. */
.editorial-ticker {
    border-top: 1px solid var(--a45-border);
    border-bottom: 1px solid rgba(255,255,255,.13);
    background: #24191a;
    color: #fff;
    overflow: hidden;
}

.editorial-ticker__frame {
    display: grid;
    grid-template-columns: minmax(290px, 390px) minmax(0, 1fr);
    align-items: center;
    min-height: 48px;
    overflow: hidden;
}

.editorial-ticker__identity {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 13px;
    align-self: stretch;
    padding-right: 22px;
    border-right: 1px solid rgba(255,255,255,.18);
    background: #24191a;
    white-space: nowrap;
}

.editorial-ticker__identity strong {
    color: #f1bb5b;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.editorial-ticker__identity span {
    overflow: hidden;
    color: rgba(255,255,255,.74);
    font-size: .78rem;
    text-overflow: ellipsis;
}

.editorial-ticker__viewport {
    min-width: 0;
    overflow: hidden;
}

.editorial-ticker__track {
    display: flex;
    width: max-content;
    animation: a45-ticker 38s linear infinite;
}

.editorial-ticker__viewport:hover .editorial-ticker__track,
.editorial-ticker__viewport:focus-within .editorial-ticker__track {
    animation-play-state: paused;
}

.editorial-ticker__group {
    display: flex;
    align-items: center;
}

.editorial-ticker__group a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 0 34px 0 24px;
    color: rgba(255,255,255,.91);
    font-size: .86rem;
    font-weight: 750;
    white-space: nowrap;
}

.editorial-ticker__group a:hover {
    color: #fff;
}

.editorial-ticker__group a span {
    color: #d95669;
    font-size: .5rem;
}

.editorial-ticker__empty {
    margin: 0;
    padding-left: 22px;
    color: rgba(255,255,255,.76);
    font-size: .86rem;
}

/* The redesigned header owns the headline ticker, so the homepage stage begins cleanly. */
.home-newsroom .newsroom-stage {
    padding-top: clamp(42px, 6vw, 82px);
}

@media (max-width: 1220px) {
    .masthead--streamlined {
        grid-template-columns: minmax(145px, 190px) minmax(330px, 1fr) minmax(390px, auto);
        gap: 18px;
    }

    .masthead-tools .search-form {
        width: 220px;
        min-width: 175px;
    }

    .masthead-tools .theme-toggle {
        min-width: 82px;
        font-size: .82rem;
    }

    .masthead-navigation .primary-navigation > .menu {
        gap: 2px 13px;
    }
}

@media (max-width: 1040px) {
    .masthead--streamlined {
        grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
        grid-template-areas:
            "brand tools"
            "navigation navigation";
        min-height: 0;
        padding-block: 13px 10px;
    }

    .masthead--streamlined .site-branding { grid-area: brand; }
    .masthead-navigation { grid-area: navigation; justify-content: center; }
    .masthead-tools { grid-area: tools; }
    .masthead-navigation .primary-navigation > .menu > li > a { min-height: 40px; }

    .editorial-ticker__frame {
        grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
    }

    .editorial-ticker__identity span {
        display: none;
    }
}

@media (max-width: 980px) {
    .masthead--streamlined {
        position: relative;
        grid-template-columns: minmax(120px, 1fr) auto;
        grid-template-areas:
            "brand navigation"
            "tools tools";
        gap: 10px 14px;
        padding-block: 11px;
    }

    .masthead--streamlined .custom-logo-link img {
        max-height: 58px;
    }

    .masthead-navigation {
        justify-content: flex-end;
    }

    .masthead-navigation .menu-toggle {
        display: inline-flex;
        min-height: 44px;
        padding: 8px 12px;
        border: 1px solid var(--a45-border);
        border-radius: 999px;
        background: var(--a45-surface-2);
    }

    .masthead-navigation .primary-navigation {
        display: none;
        position: absolute;
        z-index: 100;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        width: auto;
        max-height: min(72vh, 620px);
        overflow-y: auto;
        padding: 18px;
        border: 1px solid var(--a45-border);
        border-radius: 18px;
        background: var(--a45-surface);
        box-shadow: var(--a45-shadow);
    }

    .masthead-navigation .primary-navigation.is-open {
        display: block;
    }

    .masthead-navigation .primary-navigation > .menu {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
    }

    .masthead-navigation .primary-navigation > .menu > li > a {
        min-height: 44px;
        padding: 9px 6px;
    }

    .masthead-tools {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 9px;
    }

    .masthead-tools .search-form {
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .accessibility-tools--desktop {
        display: none !important;
    }

    .masthead-tools .mobile-accessibility-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-height: 44px;
        padding: 8px 13px;
        border: 1px solid var(--a45-border);
        border-radius: 999px;
        background: var(--a45-surface-2);
        color: var(--a45-text);
        font: inherit;
        font-weight: 800;
    }

    .mobile-accessibility-panel {
        border-top: 1px solid var(--a45-border);
        background: var(--a45-surface);
    }

    .mobile-accessibility-panel__inner {
        padding-block: 12px;
    }

    .accessibility-tools--mobile {
        display: grid;
        grid-template-columns: repeat(3, minmax(54px, 1fr)) minmax(112px, 1.5fr);
        gap: 8px;
    }

    .accessibility-tools--mobile .accessibility-button {
        min-height: 46px;
        border-color: var(--a45-border);
        background: var(--a45-surface-2);
        color: var(--a45-text);
    }

    .editorial-ticker__frame {
        grid-template-columns: auto minmax(0, 1fr);
        min-height: 42px;
    }

    .editorial-ticker__identity {
        padding-right: 14px;
    }

    .editorial-ticker__identity strong::after {
        content: ' today';
    }

    .editorial-ticker__group a {
        padding-left: 17px;
        padding-right: 26px;
        font-size: .82rem;
    }
}

@media (max-width: 560px) {
    .masthead--streamlined {
        width: min(calc(100% - 22px), var(--a45-wide));
    }

    .masthead-navigation .menu-toggle__label {
        display: none;
    }

    .masthead-navigation .menu-toggle {
        min-width: 46px;
        padding-inline: 13px;
    }

    .masthead-tools .mobile-accessibility-toggle span:last-child {
        display: none;
    }

    .masthead-tools .mobile-accessibility-toggle {
        min-width: 48px;
        padding-inline: 12px;
    }

    .editorial-ticker__identity span {
        display: none;
    }

    .editorial-ticker__identity {
        padding-right: 10px;
    }

    .editorial-ticker__identity strong {
        font-size: .66rem;
    }

    .accessibility-tools--mobile {
        grid-template-columns: repeat(3, 1fr);
    }

    .accessibility-tools--mobile .theme-toggle {
        grid-column: 1 / -1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .editorial-ticker__track {
        animation: none !important;
    }

    .editorial-ticker__viewport {
        overflow-x: auto;
    }
}


/* =========================================================
   v0.8 — compact single-line desktop header and clean footer
   ========================================================= */

/* The old Footer Widgets sidebar produced an empty logo panel. Its markup is
   no longer rendered; these safeguards also prevent stale cached widget CSS. */
.site-footer > .site-width > .footer-widgets {
    display: none !important;
}

/* Give the news menu priority and keep the utility tools pushed to the right. */
@media (min-width: 1041px) {
    .masthead--streamlined {
        grid-template-columns: 102px minmax(0, 1fr) 448px;
        gap: 14px;
        min-height: 82px;
        padding-block: 8px;
    }

    .masthead--streamlined .site-branding {
        display: flex;
        align-items: center;
        width: 102px;
        min-width: 0;
    }

    .masthead--streamlined .custom-logo-link {
        display: inline-flex;
        align-items: center;
    }

    .masthead--streamlined .custom-logo-link img {
        max-width: 94px;
        max-height: 58px;
        object-fit: contain;
    }

    .masthead-navigation {
        min-width: 0;
        overflow: visible;
    }

    .masthead-navigation .primary-navigation > .menu {
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: clamp(9px, .85vw, 16px);
        white-space: nowrap;
    }

    .masthead-navigation .primary-navigation > .menu > li {
        flex: 0 0 auto;
    }

    .masthead-navigation .primary-navigation > .menu > li > a {
        min-height: 42px;
        padding: 5px 0;
        font-size: clamp(.79rem, .78vw, .9rem);
    }

    .masthead-tools {
        justify-self: end;
        width: 448px;
        gap: 6px;
    }

    .masthead-tools .search-form {
        flex: 0 0 202px;
        width: 202px;
        min-width: 202px;
        max-width: 202px;
    }

    .masthead-tools .search-field {
        min-height: 38px;
        padding: 8px 12px;
        font-size: .84rem;
    }

    .masthead-tools .search-submit {
        min-width: 40px;
        min-height: 38px;
    }

    .accessibility-tools--desktop {
        gap: 4px;
    }

    .masthead-tools .accessibility-button {
        min-width: 34px;
        min-height: 38px;
        padding: 5px 8px;
        font-size: .82rem;
        border-radius: 9px;
    }

    .masthead-tools .theme-toggle {
        min-width: 86px;
        padding-inline: 9px;
    }
}

/* Keep a graceful two-row layout only when the viewport truly becomes tight. */
@media (min-width: 1041px) and (max-width: 1180px) {
    .masthead--streamlined {
        grid-template-columns: 88px minmax(0, 1fr) 400px;
        gap: 10px;
    }

    .masthead--streamlined .site-branding {
        width: 88px;
    }

    .masthead--streamlined .custom-logo-link img {
        max-width: 82px;
        max-height: 52px;
    }

    .masthead-tools {
        width: 400px;
    }

    .masthead-tools .search-form {
        flex-basis: 170px;
        width: 170px;
        min-width: 170px;
        max-width: 170px;
    }

    .masthead-navigation .primary-navigation > .menu {
        gap: 8px;
    }

    .masthead-navigation .primary-navigation > .menu > li > a {
        font-size: .77rem;
    }
}


/* =========================================================
   v0.9 — mobile accessibility controls live inside menu
   ========================================================= */
.mobile-menu-accessibility {
    display: none;
}

@media (max-width: 980px) {
    /* Search gets the full tools row; the separate Aa button is gone. */
    .masthead-tools {
        grid-template-columns: minmax(0, 1fr);
    }

    .masthead-tools .mobile-accessibility-toggle,
    .mobile-accessibility-panel {
        display: none !important;
    }

    .masthead-navigation .primary-navigation .mobile-menu-accessibility {
        display: block;
        margin-top: 14px;
        padding-top: 16px;
        border-top: 1px solid var(--a45-border);
    }

    .mobile-menu-accessibility__title {
        margin: 0 0 10px;
        color: var(--a45-muted);
        font-size: .78rem;
        font-weight: 850;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

    .masthead-navigation .primary-navigation .accessibility-tools--mobile {
        display: grid;
        grid-template-columns: repeat(3, minmax(54px, 1fr)) minmax(118px, 1.5fr);
        gap: 8px;
        width: 100%;
    }

    .masthead-navigation .primary-navigation .accessibility-tools--mobile .accessibility-button {
        width: 100%;
        min-height: 46px;
        padding: 8px 10px;
        border-color: var(--a45-border);
        background: var(--a45-surface-2);
        color: var(--a45-text);
    }
}

@media (max-width: 560px) {
    .masthead-navigation .primary-navigation .accessibility-tools--mobile {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .masthead-navigation .primary-navigation .accessibility-tools--mobile .theme-toggle {
        grid-column: 1 / -1;
    }
}

/* =========================================================
   v0.10 — professional music-inspired reader controls
   ========================================================= */
.reader-toolbar,
.reader-panel {
    --reader-control-border: color-mix(in srgb, var(--a45-border) 86%, transparent);
    --reader-control-surface: var(--a45-surface);
    --reader-control-recess: var(--a45-surface-2);
}

.reader-meter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 22px;
    height: 20px;
    color: var(--a45-accent);
}

.reader-meter > span {
    display: block;
    width: 2px;
    border-radius: 999px;
    background: currentColor;
    transform-origin: center;
}

.reader-meter > span:nth-child(1) { height: 7px; }
.reader-meter > span:nth-child(2) { height: 14px; }
.reader-meter > span:nth-child(3) { height: 10px; }
.reader-meter > span:nth-child(4) { height: 17px; }

/* Desktop: one refined control surface, similar to a compact studio console. */
.accessibility-tools--desktop.reader-toolbar {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 38px;
    padding: 3px;
    border: 1px solid var(--reader-control-border);
    border-radius: 12px;
    background: linear-gradient(180deg, var(--reader-control-surface), var(--reader-control-recess));
    box-shadow: 0 5px 14px rgba(35, 24, 20, .07), inset 0 1px 0 rgba(255,255,255,.45);
}

.reader-toolbar__identity {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 6px 0 5px;
    color: var(--a45-muted);
}

.reader-toolbar__name {
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.text-scale-control {
    display: inline-flex;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid var(--reader-control-border);
    border-radius: 8px;
    background: var(--reader-control-surface);
}

.reader-toolbar .accessibility-button,
.reader-panel .accessibility-button {
    appearance: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--a45-text);
    font: inherit;
    font-weight: 780;
    cursor: pointer;
    transition: background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.reader-toolbar .text-size-button {
    min-width: 31px;
    min-height: 30px;
    padding: 4px 6px;
    font-size: .74rem;
    line-height: 1;
}

.reader-toolbar .text-size-button + .text-size-button,
.reader-panel .text-size-button + .text-size-button {
    border-left: 1px solid var(--reader-control-border);
}

.reader-toolbar .text-size-button--reset {
    color: var(--a45-accent);
    font-weight: 900;
}

.reader-toolbar .text-size-button:hover,
.reader-toolbar .text-size-button:focus-visible,
.reader-panel .text-size-button:hover,
.reader-panel .text-size-button:focus-visible {
    background: var(--a45-surface-2);
    color: var(--a45-accent);
    outline: 0;
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--a45-accent) 32%, transparent);
}

.theme-toggle__icons {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
}

.theme-toggle__icons svg {
    grid-area: 1 / 1;
    width: 17px;
    height: 17px;
    transition: opacity .18s ease, transform .18s ease;
}

.theme-toggle__sun { opacity: 0; transform: rotate(-30deg) scale(.75); }
.theme-toggle__moon { opacity: 1; transform: rotate(0) scale(1); }
.theme-toggle[aria-pressed="true"] .theme-toggle__sun { opacity: 1; transform: rotate(0) scale(1); }
.theme-toggle[aria-pressed="true"] .theme-toggle__moon { opacity: 0; transform: rotate(30deg) scale(.75); }

.reader-toolbar .theme-toggle--toolbar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 70px;
    min-height: 32px;
    padding: 5px 9px;
    border-radius: 8px;
    background: #2b2220;
    color: #fff8f2;
    font-size: .72rem;
    letter-spacing: .01em;
}

.reader-toolbar .theme-toggle--toolbar:hover,
.reader-toolbar .theme-toggle--toolbar:focus-visible {
    background: #171211;
    color: #fff;
    outline: 0;
    box-shadow: 0 0 0 2px var(--a45-surface), 0 0 0 4px var(--a45-accent);
}

:root[data-theme="dark"] .accessibility-tools--desktop.reader-toolbar {
    box-shadow: 0 5px 16px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
}

:root[data-theme="dark"] .reader-toolbar .theme-toggle--toolbar {
    background: #f1e9e2;
    color: #211a18;
}

:root[data-theme="dark"] .reader-toolbar .theme-toggle--toolbar:hover,
:root[data-theme="dark"] .reader-toolbar .theme-toggle--toolbar:focus-visible {
    background: #fff;
    color: #111;
}

/* Mobile: a calm, clearly labeled reader panel inside Browse News. */
@media (max-width: 980px) {
    .masthead-navigation .primary-navigation .mobile-menu-accessibility.reader-panel {
        display: grid;
        gap: 13px;
        margin-top: 15px;
        padding: 15px;
        border: 1px solid var(--a45-border);
        border-radius: 14px;
        background:
            linear-gradient(135deg, color-mix(in srgb, var(--a45-surface) 96%, var(--a45-accent) 4%), var(--a45-surface-2));
        box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
    }

    .reader-panel__heading {
        display: flex;
        align-items: center;
        gap: 10px;
        padding-bottom: 11px;
        border-bottom: 1px solid var(--a45-border);
    }

    .reader-panel__heading .reader-meter {
        width: 34px;
        height: 34px;
        border: 1px solid var(--a45-border);
        border-radius: 9px;
        background: var(--a45-surface);
    }

    .mobile-menu-accessibility__title {
        margin: 0;
        color: var(--a45-text);
        font-size: .8rem;
        font-weight: 880;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .reader-panel__subtitle {
        margin: 2px 0 0;
        color: var(--a45-muted);
        font-size: .75rem;
        line-height: 1.35;
    }

    .reader-panel__row {
        display: grid;
        grid-template-columns: minmax(95px, 1fr) auto;
        gap: 12px;
        align-items: center;
    }

    .reader-panel__label {
        color: var(--a45-text);
        font-size: .78rem;
        font-weight: 780;
    }

    .reader-panel .text-scale-control {
        justify-self: end;
        min-width: 174px;
        border-radius: 10px;
    }

    .reader-panel .text-size-button {
        flex: 1 1 0;
        min-width: 56px;
        min-height: 42px;
        padding: 8px 10px;
        font-size: .86rem;
    }

    .reader-panel .text-size-button--reset {
        color: var(--a45-accent);
        font-weight: 900;
    }

    .reader-panel .theme-toggle--panel {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        justify-self: end;
        min-width: 112px;
        min-height: 42px;
        padding: 8px 14px;
        border: 1px solid var(--a45-border);
        border-radius: 10px;
        background: #2b2220;
        color: #fff8f2;
        font-size: .8rem;
    }

    .reader-panel .theme-toggle--panel:hover,
    .reader-panel .theme-toggle--panel:focus-visible {
        background: #171211;
        color: #fff;
        outline: 0;
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--a45-accent) 38%, transparent);
    }

    :root[data-theme="dark"] .reader-panel .theme-toggle--panel {
        background: #f1e9e2;
        color: #211a18;
    }
}

@media (max-width: 560px) {
    .reader-panel__row {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .reader-panel .text-scale-control,
    .reader-panel .theme-toggle--panel {
        justify-self: stretch;
        width: 100%;
    }

    .reader-panel .theme-toggle--panel {
        min-height: 44px;
    }
}

@media (min-width: 1041px) and (max-width: 1240px) {
    .reader-toolbar__name {
        display: none;
    }

    .reader-toolbar__identity {
        padding-right: 2px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .reader-toolbar .accessibility-button,
    .reader-panel .accessibility-button,
    .theme-toggle__icons svg {
        transition: none !important;
    }
}
