@import url("./dt-mobile-system-20260715b.css?ver=20260715b") screen and (max-width: 1023px);

/*
 * Dispense Times premium refinement.
 * Reduces dark-surface repetition and card noise without changing layout geometry.
 */

:root {
    /* Shared publication system: one source of truth for every template. */
    --dt-color-brand-blue: #174f82;
    --dt-color-brand-red: #b9283c;
    --dt-color-ink: #111820;
    --dt-color-copy: #313942;
    --dt-color-muted: #5f6872;
    --dt-color-paper: #f7f5f0;
    --dt-color-surface: #fffefa;
    --dt-space-card-x: clamp(24px, 3vw, 36px);
    --dt-space-card-y: clamp(22px, 2.5vw, 32px);
    --dt-space-card-gap: 24px;
    --dt-type-page-title: clamp(2.75rem, 3.75vw, 3.5rem);
    --dt-type-page-subtitle: clamp(1.125rem, 1.55vw, 1.375rem);

    --dt-p-ink: #111820;
    --dt-p-navy: var(--dt-color-ink);
    --dt-p-red: var(--dt-color-brand-red);
    --dt-p-red-hover: #982033;
    --dt-p-paper: var(--dt-color-paper);
    --dt-p-paper-deep: #eeeae2;
    --dt-p-white: var(--dt-color-surface);
    --dt-p-copy: var(--dt-color-copy);
    --dt-p-muted: var(--dt-color-muted);
    --dt-p-line: rgba(17, 24, 32, 0.14);
    --dt-p-line-soft: rgba(17, 24, 32, 0.085);
    --dt-p-shadow: 0 12px 32px rgba(17, 24, 32, 0.075);
    --dt-p-serif: Georgia, "Times New Roman", serif;
}

body {
    background: var(--dt-p-paper) !important;
    color: var(--dt-p-copy);
}

/* Light, confident masthead. Navy is reserved for the footer and selected conversions. */
.dt-shell-header,
.dt-masthead,
.dt-home .dt-shell-header,
.dt-home .dt-masthead {
    background: rgba(255, 254, 250, 0.98) !important;
    border-bottom: 1px solid var(--dt-p-line) !important;
    box-shadow: 0 8px 24px rgba(17, 24, 32, 0.055) !important;
}

.dt-shell-header .dt-brand__name,
.dt-masthead .dt-brand__name,
.dt-home .dt-brand__name {
    color: var(--dt-p-ink) !important;
    text-shadow: none !important;
}

.dt-shell-header .dt-brand__tagline,
.dt-masthead .dt-brand__tagline,
.dt-home .dt-brand__tagline,
.dt-home .dt-masthead .dt-brand__tagline {
    color: #59636d !important;
}

.dt-shell-header .dt-brand::before,
.dt-masthead .dt-brand::before,
.dt-home .dt-brand::before {
    background: var(--dt-p-red) !important;
    box-shadow: none !important;
}

.dt-shell-header__utility,
.dt-shell-header__main,
.dt-home .dt-utility,
.dt-home .dt-masthead {
    border-color: var(--dt-p-line-soft) !important;
}

.dt-shell-header__utility a,
.dt-shell-header nav a,
.dt-masthead nav a,
.dt-home .dt-utility a,
.dt-home .dt-masthead nav a {
    color: #303942 !important;
    font-weight: 650;
}

.dt-shell-header__utility a:hover,
.dt-shell-header nav a:hover,
.dt-masthead nav a:hover,
.dt-home .dt-utility a:hover,
.dt-home .dt-masthead nav a:hover {
    color: var(--dt-p-red) !important;
}

.dt-mobile-menu-toggle,
.dt-menu-toggle {
    border-color: rgba(17, 24, 32, 0.28) !important;
    background: transparent !important;
    color: var(--dt-p-ink) !important;
}

body:not(.home) .dt-shell-header .dt-brand__name {
    color: var(--dt-p-ink) !important;
    text-shadow: none !important;
}

body:not(.home) .dt-shell-header .dt-brand__tagline {
    color: #59636d !important;
}

body:not(.home) .dt-shell-header a.dt-brand .dt-brand__name,
.dt-home .dt-masthead a.dt-brand .dt-brand__name {
    color: var(--dt-p-ink) !important;
    text-shadow: none !important;
}

body:not(.home) .dt-shell-header a.dt-brand .dt-brand__tagline,
.dt-home .dt-masthead a.dt-brand .dt-brand__tagline {
    color: #59636d !important;
}

body:not(.home) .dt-shell-header__utility a,
body:not(.home) .dt-shell-header nav a {
    color: #303942 !important;
}

/* Editorial heroes become light feature spreads instead of repeated blue blocks. */
.dt-home .dt-hero,
.dt-article-hero,
.dt-advertise-hero,
.dt-about-hero,
.dt-archive-hero,
.dt-magazine-hero,
.dt-vendor-hero,
.dt-category-hero,
.dt-podcast-hero,
.dt-partner-hero,
.dt-editorial-team-hero,
.dt-trade-show-hero {
    background:
        radial-gradient(circle at 86% 8%, rgba(185, 40, 60, 0.055), transparent 31%),
        var(--dt-p-paper) !important;
    color: var(--dt-p-copy) !important;
    border-bottom: 1px solid var(--dt-p-line) !important;
    box-shadow: none !important;
}

.dt-home .dt-hero h1,
.dt-article-hero h1,
.dt-advertise-hero h1,
.dt-about-hero h1,
.dt-archive-hero h1,
.dt-magazine-hero h1,
.dt-vendor-hero h1,
.dt-category-hero h1,
.dt-podcast-hero h1,
.dt-partner-hero h1,
.dt-editorial-team-hero h1,
.dt-trade-show-hero h1 {
    color: var(--dt-p-ink) !important;
    text-shadow: none !important;
}

.dt-home .dt-hero p,
.dt-article-hero p,
.dt-advertise-hero p,
.dt-about-hero p,
.dt-archive-hero p,
.dt-magazine-hero p,
.dt-vendor-hero p,
.dt-category-hero p,
.dt-podcast-hero p,
.dt-partner-hero p,
.dt-editorial-team-hero p,
.dt-trade-show-hero p {
    color: #49535d !important;
}

.dt-home .dt-hero .dt-meta,
.dt-home .dt-hero .dt-meta span,
.dt-article-hero .dt-meta,
.dt-article-hero .dt-meta span,
.dt-archive-hero .dt-meta,
.dt-archive-hero .dt-meta span {
    color: #59636d !important;
}

.dt-article-hero .dt-article-meta,
.dt-article-hero .dt-article-meta span {
    color: #59636d !important;
}

.dt-home .dt-hero .dt-kicker,
.dt-home .dt-hero .dt-hero__category,
.dt-article-hero .dt-kicker,
.dt-advertise-hero .dt-kicker,
.dt-about-hero .dt-kicker,
.dt-archive-hero .dt-kicker,
.dt-magazine-hero .dt-kicker,
.dt-vendor-hero .dt-kicker,
.dt-category-hero .dt-kicker,
.dt-editorial-team-hero .dt-kicker {
    color: var(--dt-p-red) !important;
}

.dt-home .dt-hero-image,
.dt-article-featured-media,
.dt-magazine-hero__cover,
.dt-issue-hero-cover,
.dt-vendor-hero__card {
    border: 1px solid var(--dt-p-line) !important;
    box-shadow: 0 20px 50px rgba(17, 24, 32, 0.13) !important;
}

.dt-hero-panel,
.dt-advertise-hero__brief,
.dt-about-hero__note,
.dt-partner-hero__note,
.dt-editorial-team-hero__note,
.dt-vendor-hero__card,
.dt-podcast-hero__card {
    background: rgba(255, 254, 250, 0.88) !important;
    border-color: var(--dt-p-line) !important;
    color: var(--dt-p-copy) !important;
    box-shadow: none !important;
}

.dt-hero-panel h2,
.dt-hero-panel h3,
.dt-advertise-hero__brief h2,
.dt-advertise-hero__brief h3,
.dt-about-hero__note h2,
.dt-about-hero__note h3,
.dt-partner-hero__note h2,
.dt-partner-hero__note h3,
.dt-editorial-team-hero__note h2,
.dt-editorial-team-hero__note h3,
.dt-vendor-hero__card h2,
.dt-vendor-hero__card h3 {
    color: var(--dt-p-ink) !important;
}

.dt-advertise-hero__brief strong,
.dt-advertise-hero__brief b,
.dt-page-proof strong,
.dt-page-proof b {
    color: var(--dt-p-ink) !important;
}

.dt-marketplace-hero-cta,
.dt-page-proof {
    background: rgba(255, 254, 250, 0.9) !important;
    border: 1px solid var(--dt-p-line) !important;
    border-left: 3px solid var(--dt-p-red) !important;
    color: var(--dt-p-copy) !important;
    box-shadow: none !important;
}

.dt-marketplace-hero-cta h2,
.dt-marketplace-hero-cta h3,
.dt-marketplace-hero-cta strong,
.dt-marketplace-hero-cta p,
.dt-page-proof h2,
.dt-page-proof h3,
.dt-page-proof strong,
.dt-page-proof p {
    color: var(--dt-p-ink) !important;
}

/* Calm section rhythm: warm neutrals, not alternating navy walls. */
.dt-home .dt-featured,
.dt-home .dt-marketing,
.dt-home .dt-magazine,
.dt-home .dt-partner,
.dt-home .dt-insiders-promo,
.dt-home .dt-sponsor-architecture {
    background: var(--dt-p-white) !important;
    color: var(--dt-p-copy) !important;
}

.dt-home .dt-break-room,
.dt-home .dt-marketplace,
.dt-home .dt-signals,
.dt-home .dt-signal-board,
.dt-signals,
.dt-signal-board {
    background: var(--dt-p-paper-deep) !important;
    color: var(--dt-p-copy) !important;
}

.dt-signals h2,
.dt-signal-board h2,
.dt-insiders-promo h2,
.dt-partner h2,
.dt-sponsor-architecture h2,
.dt-magazine h2,
.dt-marketplace h2 {
    color: var(--dt-p-ink) !important;
}

.dt-signals p,
.dt-signal-board p,
.dt-insiders-promo p,
.dt-partner p,
.dt-sponsor-architecture p,
.dt-magazine p,
.dt-marketplace p {
    color: #4f5963 !important;
}

.dt-signal-row,
.dt-signal-strip,
.dt-signals [class*="signal"] {
    border-color: var(--dt-p-line) !important;
}

.dt-signals a,
.dt-signal-board a {
    color: var(--dt-p-ink) !important;
}

.dt-signals strong,
.dt-signal-board strong {
    color: var(--dt-p-ink) !important;
}

.dt-signals small,
.dt-signal-board small {
    color: #606a74 !important;
}

/* Keep one deliberate dark conversion moment near the end of the journey. */
.dt-site-newsletter,
.dt-newsletter-shell,
.dt-newsletter-component,
.dt-magazine-advertise,
.dt-partner-cta {
    background: var(--dt-p-navy) !important;
    color: #ffffff !important;
}

.dt-site-newsletter h2,
.dt-newsletter-shell h2,
.dt-newsletter-component h2,
.dt-magazine-advertise h2,
.dt-partner-cta h2 {
    color: #ffffff !important;
}

.dt-site-newsletter p,
.dt-newsletter-shell p,
.dt-newsletter-component p,
.dt-magazine-advertise p,
.dt-partner-cta p {
    color: rgba(255, 255, 255, 0.78) !important;
}

/* Replace stacked card chrome with quiet editorial surfaces. */
.dt-feature-grid .dt-story,
.dt-feature-grid .dt-list-media,
.dt-article-card,
.dt-related-stories article,
.dt-magazine .dt-issue-card,
.dt-issue-grid .dt-issue-card,
.dt-advertise-option,
.dt-advertise-pathways article,
.dt-about-coverage article,
.dt-partner-resource-grid article,
.dt-podcast-hero__card,
.dt-vendor-card,
.dt-vendor-profile-main,
.dt-vendor-profile-rail {
    background: var(--dt-p-white) !important;
    border: 1px solid var(--dt-p-line-soft) !important;
    border-radius: 10px !important;
    box-shadow: var(--dt-p-shadow) !important;
}

.dt-feature-grid .dt-story:hover,
.dt-feature-grid .dt-list-media:hover,
.dt-article-card:hover,
.dt-related-stories article:hover,
.dt-magazine .dt-issue-card:hover,
.dt-issue-grid .dt-issue-card:hover,
.dt-advertise-option:hover,
.dt-advertise-pathways article:hover,
.dt-about-coverage article:hover,
.dt-partner-resource-grid article:hover,
.dt-vendor-card:hover {
    transform: none !important;
    border-color: rgba(185, 40, 60, 0.26) !important;
    box-shadow: 0 15px 36px rgba(17, 24, 32, 0.1) !important;
}

.dt-story-media,
.dt-article-card__media,
.dt-issue-card__cover,
.dt-vendor-logo,
.dt-vendor-logo--home {
    border-radius: 7px !important;
}

/* Sponsor and ad treatment: clearly labeled, visually quiet. */
.dt-home-inline-sponsor,
.dt-article-sponsor,
.dt-article-rail,
.dt-archive-sponsor,
.dt-magazine-sponsor-note,
.dt-marketplace-sponsor-zone,
.dt-sponsor-showcase__feature {
    background: rgba(255, 254, 250, 0.82) !important;
    border: 1px solid var(--dt-p-line) !important;
    border-left: 3px solid var(--dt-p-red) !important;
    border-radius: 4px !important;
    color: var(--dt-p-copy) !important;
    box-shadow: none !important;
}

.dt-home-inline-sponsor h2,
.dt-home-inline-sponsor h3,
.dt-article-sponsor h2,
.dt-article-sponsor h3,
.dt-article-rail h2,
.dt-article-rail h3,
.dt-archive-sponsor h2,
.dt-archive-sponsor h3,
.dt-magazine-sponsor-note h2,
.dt-magazine-sponsor-note h3 {
    color: var(--dt-p-ink) !important;
}

/* Flat, confident actions with less glow. */
.dt-button,
.wp-block-button .wp-block-button__link,
.dt-rx-button,
.dt-resource-action-card__button,
button[type="submit"],
input[type="submit"] {
    background: var(--dt-p-red) !important;
    border-color: var(--dt-p-red) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
}

.dt-button:hover,
.wp-block-button .wp-block-button__link:hover,
.dt-rx-button:hover,
.dt-resource-action-card__button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
    background: var(--dt-p-red-hover) !important;
    border-color: var(--dt-p-red-hover) !important;
    box-shadow: none !important;
}

.dt-button--ghost,
.dt-button--ghost-light,
.dt-button--ink,
.dt-button--secondary,
.dt-button-secondary,
.dt-rx-button--ghost,
.dt-rx-button--text {
    background: transparent !important;
    border-color: currentColor !important;
    color: var(--dt-p-ink) !important;
}

.dt-site-newsletter .dt-button--ghost,
.dt-newsletter-shell .dt-button--ghost,
.dt-newsletter-component .dt-button--ghost,
.dt-magazine-advertise .dt-button--ghost,
.dt-partner-cta .dt-button--ghost,
.dt-site-newsletter .dt-button--ghost-light,
.dt-newsletter-shell .dt-button--ghost-light,
.dt-newsletter-component .dt-button--ghost-light,
.dt-magazine-advertise .dt-button--ghost-light,
.dt-partner-cta .dt-button--ghost-light {
    border-color: rgba(255, 255, 255, 0.72) !important;
    color: #ffffff !important;
}

.dt-read-link,
.dt-editorial-section-label,
.dt-about-section-label,
.dt-kicker {
    color: var(--dt-p-red) !important;
}

/* Reading pages stay quiet and legible. */
.dt-article-content,
.dt-page-body,
.dt-page-article,
.dt-page-layout,
.dt-article-layout {
    color: var(--dt-p-copy);
}

.dt-article-content blockquote,
.dt-page-body blockquote,
.dt-page-article blockquote {
    background: var(--dt-p-white) !important;
    border-left-color: var(--dt-p-red) !important;
    box-shadow: none !important;
}

.dt-article-topics a,
.dt-share a,
.dt-share button {
    background: transparent !important;
    border-color: var(--dt-p-line) !important;
    color: var(--dt-p-ink) !important;
    box-shadow: none !important;
}

/* Form surfaces */
.dt-conversion-form,
.fluentform,
.dt-intel-form-card {
    background: var(--dt-p-white);
    border-color: var(--dt-p-line);
    box-shadow: none;
}

.dt-conversion-form input:not([type="checkbox"]):not([type="radio"]),
.dt-conversion-form select,
.dt-conversion-form textarea,
.fluentform input:not([type="checkbox"]):not([type="radio"]),
.fluentform select,
.fluentform textarea {
    border-color: rgba(17, 24, 32, 0.24) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

/* Footer remains the sole full dark anchor. */
.dt-shell-footer {
    background: var(--dt-color-ink) !important;
    border-top: 3px solid var(--dt-p-red) !important;
}

@media (max-width: 768px) {
    .dt-shell-header,
    .dt-masthead,
    .dt-home .dt-shell-header,
    .dt-home .dt-masthead {
        background: #fffefa !important;
    }

    .dt-home .dt-hero,
    .dt-article-hero,
    .dt-advertise-hero,
    .dt-about-hero,
    .dt-archive-hero,
    .dt-magazine-hero,
    .dt-vendor-hero,
    .dt-category-hero,
    .dt-podcast-hero,
    .dt-partner-hero {
        background: var(--dt-p-paper) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dt-feature-grid .dt-story,
    .dt-feature-grid .dt-list-media,
    .dt-article-card,
    .dt-related-stories article,
    .dt-issue-card,
    .dt-vendor-card,
    .dt-button {
        transition: none !important;
        transform: none !important;
    }
}

/*
 * Hard contrast and spacing guarantees for legacy publication components.
 * These rules intentionally enumerate component families that previously
 * inherited white text from dark surfaces.
 */

body .dt-archive-sponsor,
body .dt-article-sponsor,
body .dt-article-rail,
body .dt-home-inline-sponsor,
body .dt-magazine-sponsor-note,
body .dt-marketplace-sponsor-zone,
body .dt-sponsor-showcase__feature,
body .dt-sponsor-placeholder,
body .dt-curated-ad,
body .dt-about-hero__note,
body .dt-editorial-team-hero__note,
body .dt-advertise-hero__brief,
body .dt-page-proof,
body .dt-marketplace-hero-cta {
    background: #fffefa !important;
    background-image: none !important;
    border-color: rgba(17, 24, 32, 0.16) !important;
    border-left: 3px solid #b9283c !important;
    color: #27313b !important;
    box-shadow: none !important;
}

body .dt-archive-sponsor :where(h2, h3, h4, p, strong, small, span),
body .dt-article-sponsor :where(h2, h3, h4, p, strong, small, span),
body .dt-article-rail :where(h2, h3, h4, p, strong, small, span),
body .dt-home-inline-sponsor :where(h2, h3, h4, p, strong, small, span),
body .dt-magazine-sponsor-note :where(h2, h3, h4, p, strong, small, span),
body .dt-marketplace-sponsor-zone :where(h2, h3, h4, p, strong, small, span),
body .dt-sponsor-showcase__feature :where(h2, h3, h4, p, strong, small, span),
body .dt-sponsor-placeholder :where(h2, h3, h4, p, strong, small, span),
body .dt-curated-ad :where(h2, h3, h4, p, strong, small, span),
body .dt-about-hero__note :where(h2, h3, h4, p, strong, small, span),
body .dt-editorial-team-hero__note :where(h2, h3, h4, p, strong, small, span),
body .dt-advertise-hero__brief :where(h2, h3, h4, p, strong, small, span),
body .dt-page-proof :where(h2, h3, h4, p, strong, small, span),
body .dt-marketplace-hero-cta :where(h2, h3, h4, p, strong, small, span) {
    color: #27313b !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

body .dt-archive-sponsor a:not(.dt-button),
body .dt-article-sponsor a:not(.dt-button),
body .dt-article-rail a:not(.dt-button),
body .dt-home-inline-sponsor a:not(.dt-button),
body .dt-magazine-sponsor-note a:not(.dt-button),
body .dt-marketplace-sponsor-zone a:not(.dt-button),
body .dt-sponsor-placeholder a:not(.dt-button),
body .dt-curated-ad a:not(.dt-button) {
    color: var(--dt-color-brand-blue) !important;
    text-decoration-color: currentColor !important;
}

body .dt-curated-ad__label,
body .dt-sponsor-label,
body .dt-sponsor-placeholder .dt-kicker,
body .dt-archive-sponsor .dt-kicker,
body .dt-article-sponsor .dt-kicker,
body .dt-magazine-sponsor-note .dt-kicker {
    color: #a82438 !important;
}

/* Light-hero text system with explicit exceptions for actions. */
body .dt-home .dt-hero :where(h1, h2, h3, h4, p, strong, small),
body .dt-archive-hero :where(h1, h2, h3, h4, p, strong, small),
body .dt-advertise-hero :where(h1, h2, h3, h4, p, strong, small),
body .dt-about-hero :where(h1, h2, h3, h4, p, strong, small),
body .dt-editorial-team-hero :where(h1, h2, h3, h4, p, strong, small),
body .dt-magazine-hero :where(h1, h2, h3, h4, p, strong, small),
body .dt-category-hero :where(h1, h2, h3, h4, p, strong, small),
body .dt-partner-hero :where(h1, h2, h3, h4, p, strong, small),
body .dt-trade-show-hero :where(h1, h2, h3, h4, p, strong, small),
body .dt-article-hero :where(h1, h2, h3, h4, p, strong, small) {
    color: #27313b !important;
    text-shadow: none !important;
}

body .dt-home .dt-hero :where(.dt-kicker, .dt-hero__category),
body .dt-archive-hero .dt-kicker,
body .dt-advertise-hero .dt-kicker,
body .dt-about-hero .dt-kicker,
body .dt-editorial-team-hero .dt-kicker,
body .dt-magazine-hero .dt-kicker,
body .dt-category-hero .dt-kicker,
body .dt-partner-hero .dt-kicker,
body .dt-trade-show-hero .dt-kicker,
body .dt-article-hero .dt-kicker {
    color: #a82438 !important;
}

body .dt-home .dt-hero .dt-meta,
body .dt-home .dt-hero .dt-meta span,
body .dt-article-hero .dt-article-meta,
body .dt-article-hero .dt-article-meta span,
body .dt-archive-hero .dt-meta,
body .dt-archive-hero .dt-meta span {
    color: #59636d !important;
}

/* Magazine text was authored for a dark panel; guarantee dark ink on paper. */
body .dt-magazine-current,
body .dt-magazine-current__content,
body .dt-issue-listing,
body .dt-magazine-value,
body .dt-magazine-archive {
    color: #313942 !important;
}

body .dt-magazine-current :where(h1, h2, h3, h4, p, strong, small, span),
body .dt-magazine-current__content :where(h1, h2, h3, h4, p, strong, small, span),
body .dt-issue-listing :where(h1, h2, h3, h4, p, strong, small, span),
body .dt-magazine-value :where(h1, h2, h3, h4, p, strong, small, span) {
    color: #27313b !important;
    opacity: 1 !important;
}

/* Newsletter form is a white card inside a dark conversion band. */
body .dt-newsletter-form {
    background: #fffefa !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 10px !important;
    color: #27313b !important;
    padding: clamp(20px, 3vw, 34px) !important;
}

body .dt-newsletter-form label,
body .dt-newsletter-form legend,
body .dt-newsletter-form .dt-form-help {
    color: #27313b !important;
    opacity: 1 !important;
}

body .dt-newsletter-form input:not([type="submit"]):not([type="button"]),
body .dt-newsletter-form select,
body .dt-newsletter-form textarea {
    background: #ffffff !important;
    border-color: rgba(17, 24, 32, 0.24) !important;
    color: #111820 !important;
}

body .dt-newsletter-form input::placeholder,
body .dt-newsletter-form textarea::placeholder {
    color: #68727c !important;
    opacity: 1 !important;
}

/* Media-kit and advertiser audience rows need real internal breathing room. */
body .dt-advertise-option-list {
    gap: 12px !important;
}

body .dt-advertise-option {
    background: #fffefa !important;
    border: 1px solid rgba(17, 24, 32, 0.12) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    gap: clamp(22px, 4vw, 56px) !important;
    padding: clamp(24px, 2.5vw, 34px) clamp(24px, 3vw, 42px) !important;
}

body .dt-advertise-option :where(h2, h3, h4, strong) {
    color: var(--dt-color-ink) !important;
    line-height: 1.18 !important;
}

body .dt-advertise-option :where(p, span, small) {
    color: #59636d !important;
    line-height: 1.55 !important;
}

body .dt-coverage-list,
body .dt-about-audience-list {
    gap: 12px !important;
}

body .dt-coverage-list > article,
body .dt-about-audience-list > p {
    background: #fffefa !important;
    border: 1px solid rgba(17, 24, 32, 0.12) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: clamp(22px, 2.4vw, 32px) clamp(22px, 3vw, 38px) !important;
}

body .dt-coverage-list > article :where(h2, h3, h4, strong),
body .dt-about-audience-list > p strong {
    color: var(--dt-color-ink) !important;
}

body .dt-coverage-list > article :where(p, span, small),
body .dt-about-audience-list > p {
    color: #59636d !important;
    line-height: 1.5 !important;
}

body .dt-magazine-current .dt-button--ghost-light,
body .dt-magazine-current .dt-button--ghost,
body .dt-magazine-hero .dt-button--ghost-light,
body .dt-magazine-hero .dt-button--ghost {
    background: transparent !important;
    border-color: #27313b !important;
    color: #27313b !important;
}

body .dt-hero-panel .dt-hero-sponsor-link,
body .dt-sponsor-showcase__copy .dt-sponsor-showcase__cta,
body .dt-issue-card > strong,
body .dt-issue-card strong,
body .dt-issue-ad-cta span,
body .dt-issue-ad-cta a:not(.dt-button) {
    color: var(--dt-color-brand-blue) !important;
    opacity: 1 !important;
    text-decoration-color: currentColor !important;
    text-shadow: none !important;
}

body .dt-issue-card > strong,
body .dt-issue-card strong,
body .dt-issue-ad-cta span {
    color: #27313b !important;
}

body .dt-shell-footer__sponsor span,
body .dt-shell-footer .dt-sponsor-label,
body .dt-shell-footer .dt-kicker {
    color: #ff8290 !important;
}

body .dt-site-newsletter .dt-newsletter-form,
body .dt-article-content + .dt-site-newsletter .dt-newsletter-form {
    background: #fffefa !important;
    color: #27313b !important;
}

body .dt-site-newsletter .dt-newsletter-form label,
body .dt-site-newsletter .dt-newsletter-form legend,
body .dt-article-content + .dt-site-newsletter .dt-newsletter-form label {
    color: #27313b !important;
    opacity: 1 !important;
}

/* Final contrast guards for light sponsor cards and editorial labels. */
body .dt-curated-ad em,
body .dt-curated-ad--navy em,
body .dt-curated-ad--blue em,
body .dt-curated-ad--teal em {
    color: var(--dt-color-brand-blue) !important;
    text-decoration-color: currentColor !important;
}

body .dt-about-page .dt-about-section-label,
body .dt-about-page .dt-about-section-label span,
body .dt-about-page .dt-about-proof span,
body .dt-about-page .dt-about-identity-grid span,
body .dt-about-page .dt-about-mission span {
    color: #a82438 !important;
}

body :where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid #fffefa !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 5px var(--dt-color-brand-blue) !important;
}

@media (max-width: 768px) {
    body .dt-advertise-option {
        gap: 10px !important;
        grid-template-columns: 1fr !important;
        padding: 22px 20px !important;
    }

    body .dt-newsletter-form {
        padding: 20px 16px !important;
    }

    body .dt-coverage-list > article,
    body .dt-about-audience-list > p {
        padding: 20px 18px !important;
    }
}

/* ========================================================================== 
   Uniform publication QA system — shared across every public template.
   ========================================================================== */

/* The homepage now uses the same header partial as every interior template. */
body.home .dt-home > .dt-shell-header {
    width: 100% !important;
    margin: 0 !important;
}

body.home .dt-home > .dt-shell-header + .dt-hero {
    margin-top: 0 !important;
}

html body.home main.dt-home > .dt-shell-header .dt-brand__name {
    color: var(--dt-color-ink) !important;
    text-shadow: none !important;
}

html body.home main.dt-home > .dt-shell-header .dt-brand__tagline {
    color: var(--dt-color-muted) !important;
    text-shadow: none !important;
}

html body.home main.dt-home > .dt-shell-header .dt-shell-header__utility,
html body.home main.dt-home > .dt-shell-header .dt-menu--utility {
    justify-content: flex-end !important;
    text-align: right !important;
}

html body.home main.dt-home > .dt-shell-header .dt-menu--utility {
    margin-left: auto !important;
}

@media (min-width: 769px) {
    html body .dt-shell-header {
        padding: 28px 42px !important;
    }

    html body .dt-shell-header__utility,
    html body .dt-shell-header__main {
        width: min(100%, 1220px) !important;
        margin-inline: auto !important;
    }

    html body .dt-shell-header__utility,
    html body .dt-shell-header .dt-menu--utility {
        font-size: 11.2px !important;
        line-height: 1 !important;
    }

    html body .dt-shell-header__utility a {
        font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
        font-size: 12.8px !important;
        line-height: 1.5 !important;
        text-transform: uppercase !important;
    }

    html body .dt-shell-header .dt-menu--primary {
        font-size: 12.8px !important;
        line-height: 1.5 !important;
    }


    html body .dt-shell-header .dt-menu--primary a {
        font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
        font-size: 12.8px !important;
        line-height: 1.5 !important;
        text-transform: none !important;
    }
}

/* One reusable title and subtitle scale across all hero templates. */
body :where(
    .dt-home .dt-hero,
    .dt-article-hero,
    .dt-advertise-hero,
    .dt-about-hero,
    .dt-archive-hero,
    .dt-magazine-hero,
    .dt-vendor-hero,
    .dt-category-hero,
    .dt-podcast-hero,
    .dt-partner-hero,
    .dt-editorial-team-hero,
    .dt-trade-show-hero,
    .dt-page-hero
) h1 {
    max-width: 18ch !important;
    margin-block: 0 20px !important;
    color: var(--dt-color-ink) !important;
    font-size: var(--dt-type-page-title) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.035em !important;
    text-wrap: balance;
}

html body main#primary .dt-hero h1,
html body main#primary .dt-article-hero h1,
html body main#primary .dt-advertise-hero h1,
html body main#primary .dt-about-hero h1,
html body main#primary .dt-archive-hero h1,
html body main#primary .dt-magazine-hero h1,
html body main#primary .dt-vendor-hero h1,
html body main#primary .dt-category-hero h1,
html body main#primary .dt-podcast-hero h1,
html body main#primary .dt-partner-hero h1,
html body main#primary .dt-editorial-team-hero h1,
html body main#primary .dt-trade-show-hero h1,
html body main#primary .dt-page-hero h1 {
    font-size: var(--dt-type-page-title) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.03em !important;
}

body .dt-home .dt-dek,
body .dt-about-hero h1 + p,
body .dt-advertise-hero h1 + p,
body .dt-archive-hero h1 + p,
body .dt-magazine-hero h1 + p,
body .dt-vendor-hero h1 + p,
body .dt-category-hero h1 + p,
body .dt-podcast-hero h1 + p,
body .dt-partner-hero h1 + p,
body .dt-editorial-team-hero h1 + p,
body .dt-trade-show-hero h1 + p,
body .dt-page-hero h1 + p {
    max-width: 64ch !important;
    color: var(--dt-color-copy) !important;
    font-size: var(--dt-type-page-subtitle) !important;
    line-height: 1.55 !important;
}

html body main#primary .dt-hero h1 + p,
html body main#primary .dt-article-hero h1 + p,
html body main#primary .dt-advertise-hero h1 + p,
html body main#primary .dt-about-hero h1 + p,
html body main#primary .dt-archive-hero h1 + p,
html body main#primary .dt-magazine-hero h1 + p,
html body main#primary .dt-vendor-hero h1 + p,
html body main#primary .dt-category-hero h1 + p,
html body main#primary .dt-podcast-hero h1 + p,
html body main#primary .dt-partner-hero h1 + p,
html body main#primary .dt-editorial-team-hero h1 + p,
html body main#primary .dt-trade-show-hero h1 + p,
html body main#primary .dt-page-hero h1 + p {
    font-size: var(--dt-type-page-subtitle) !important;
    line-height: 1.55 !important;
}

/* Shared box geometry: text never crowds a border and adjacent cards breathe. */
body :where(
    .dt-hero-panel,
    .dt-archive-sponsor,
    .dt-article-sponsor,
    .dt-article-inline-sponsor,
    .dt-magazine-sponsor-note,
    .dt-marketplace-sponsor-zone,
    .dt-sponsor-showcase__feature,
    .dt-sponsor-placeholder,
    .dt-about-hero__note,
    .dt-advertise-hero__brief,
    .dt-editorial-team-hero__note,
    .dt-page-proof,
    .dt-partner-hero__note,
    .dt-vendor-hero__card,
    .dt-podcast-hero__card
) {
    box-sizing: border-box !important;
    padding: var(--dt-space-card-y) var(--dt-space-card-x) !important;
}

body :where(
    .dt-advertise-option-list,
    .dt-coverage-list,
    .dt-about-audience-list,
    .dt-issue-grid,
    .dt-related-stories,
    .dt-partner-resource-grid,
    .dt-advertise-pathways
) {
    gap: var(--dt-space-card-gap) !important;
}

body .dt-advertise-option {
    min-width: 0 !important;
    padding: var(--dt-space-card-y) var(--dt-space-card-x) !important;
    border-color: rgba(17, 24, 32, 0.14) !important;
}

body .dt-advertise-option > * {
    min-width: 0 !important;
    margin-block: 0 !important;
}

/* Text/banner advertisements get an intentional, high-value presentation. */
body .dt-curated-ad,
body .dt-ad-placement .dt-curated-ad,
body a.dt-curated-ad {
    box-sizing: border-box !important;
    min-height: 180px !important;
    padding: var(--dt-space-card-y) var(--dt-space-card-x) !important;
    background: var(--dt-color-brand-blue) !important;
    border: 1px solid var(--dt-color-brand-blue) !important;
    border-left: 5px solid var(--dt-color-brand-red) !important;
    border-radius: 8px !important;
    box-shadow: 0 16px 34px rgba(17, 24, 32, 0.14) !important;
    color: #fff !important;
}

html body .dt-curated-ad,
html body .dt-ad-placement .dt-curated-ad,
html body .dt-ad-placement.dt-ad-placement--native .dt-curated-ad,
html body a.dt-curated-ad {
    padding: var(--dt-space-card-y) var(--dt-space-card-x) !important;
}

body .dt-curated-ad :where(h2, h3, h4, strong) {
    color: #fff !important;
    font-size: clamp(1.3rem, 2vw, 1.75rem) !important;
    line-height: 1.1 !important;
}

html body .dt-curated-ad h2,
html body .dt-curated-ad h3,
html body .dt-curated-ad h4,
html body .dt-curated-ad strong {
    color: #fff !important;
}

body .dt-curated-ad :where(p, small) {
    color: rgba(255, 255, 255, 0.88) !important;
    line-height: 1.5 !important;
}


html body .dt-curated-ad p,
html body .dt-curated-ad small {
    color: rgba(255, 255, 255, 0.88) !important;
}

body .dt-curated-ad :where(span, .dt-curated-ad__label) {
    color: rgba(255, 255, 255, 0.76) !important;
}

body .dt-curated-ad em,
body .dt-curated-ad a:not(.dt-button) {
    color: #fff !important;
    font-style: normal !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 5px !important;
}

/* Social icons retain their shape without an inherited white hover tile. */
body .dt-shell-footer__social a,
body .dt-shell-footer__social a:hover,
body .dt-shell-footer__social a:active,
body .dt-shell-footer__social a:focus {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    box-shadow: none !important;
}

body .dt-shell-footer__social a:hover,
body .dt-shell-footer__social a:active {
    border-color: var(--dt-color-brand-red) !important;
    color: #fff !important;
}

body .dt-shell-footer__social a span,
body .dt-shell-footer__social a:hover span,
body .dt-shell-footer__social a:active span {
    background: transparent !important;
    color: inherit !important;
}

/* All saturated blue component accents resolve to the single brand token. */
body :where(
    .dt-read-link,
    .dt-vendor-link,
    .dt-hero-sponsor-link,
    .dt-sponsor-showcase__cta,
    .dt-issue-ad-cta a,
    .dt-curated-ad + a
) {
    color: var(--dt-color-brand-blue) !important;
    text-decoration-color: currentColor !important;
}

@media (max-width: 768px) {
    :root {
        --dt-space-card-x: 16px;
        --dt-space-card-y: 18px;
        --dt-space-card-gap: 16px;
        --dt-type-page-title: clamp(2.25rem, 10.2vw, 2.65rem);
        --dt-type-page-subtitle: 1.0625rem;
    }

    body :where(
        .dt-home .dt-hero,
        .dt-article-hero,
        .dt-advertise-hero,
        .dt-about-hero,
        .dt-archive-hero,
        .dt-magazine-hero,
        .dt-vendor-hero,
        .dt-category-hero,
        .dt-podcast-hero,
        .dt-partner-hero,
        .dt-editorial-team-hero,
        .dt-trade-show-hero,
        .dt-page-hero
    ) h1 {
        max-width: 100% !important;
        margin-bottom: 16px !important;
        line-height: 1.02 !important;
        letter-spacing: -0.025em !important;
        overflow-wrap: anywhere !important;
    }

    body .dt-advertise-option {
        gap: 12px !important;
        padding: var(--dt-space-card-y) var(--dt-space-card-x) !important;
        text-align: left !important;
    }

    body :where(
        .dt-hero-panel,
        .dt-archive-sponsor,
        .dt-article-sponsor,
        .dt-magazine-sponsor-note,
        .dt-marketplace-sponsor-zone,
        .dt-sponsor-showcase__feature,
        .dt-sponsor-placeholder
    ) {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: auto !important;
        text-align: center !important;
    }

    html body main#primary .dt-archive-sponsor,
    html body main#primary .dt-article-sponsor,
    html body main#primary .dt-hero-panel {
        padding: var(--dt-space-card-y) var(--dt-space-card-x) !important;
    }

    body .dt-curated-ad,
    body .dt-ad-placement .dt-curated-ad,
    body a.dt-curated-ad {
        min-height: 0 !important;
        padding: 20px 18px !important;
        text-align: left !important;
    }


    html body .dt-curated-ad,
    html body .dt-ad-placement .dt-curated-ad,
    html body .dt-ad-placement.dt-ad-placement--native .dt-curated-ad,
    html body a.dt-curated-ad {
        padding: 20px 18px !important;
    }

    body .dt-shell-footer__social {
        justify-content: center !important;
        gap: 12px !important;
    }

    body .dt-shell-footer__social a {
        min-width: 44px !important;
        min-height: 44px !important;
    }
}

/* Marketplace partner cards use a navy interior: keep every title readable. */
body.post-type-archive-vendor_partner .dt-vendor-card .dt-vendor-card__inner :where(h2, h3),
body.tax-marketplace_category .dt-vendor-card .dt-vendor-card__inner :where(h2, h3) {
    color: #ffffff !important;
    text-shadow: none !important;
}

/* PBM resource actions: remove legacy minimum heights and oversized divider space. */
body .dt-resource-actions {
    padding-block: clamp(26px, 3vw, 36px) !important;
}

body .dt-resource-actions__inner {
    display: grid !important;
    gap: 16px !important;
}

body .dt-resource-action-card {
    box-sizing: border-box !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    min-height: 0 !important;
    padding: clamp(22px, 2.5vw, 26px) !important;
    align-items: center !important;
    gap: clamp(20px, 2.5vw, 28px) !important;
}

body .dt-resource-action-card__body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 8px !important;
}

body .dt-resource-action-card__body > * {
    margin-block: 0 !important;
}

body .dt-resource-divider {
    display: none !important;
}

body .dt-resource-action-card__button {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

@media (max-width: 768px) {
    body .dt-resource-actions {
        padding-block: 24px !important;
    }

    body .dt-resource-actions__inner {
        gap: 16px !important;
        padding-inline: 16px !important;
    }

    body .dt-resource-action-card {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 20px 18px !important;
        gap: 16px !important;
    }

    body .dt-resource-action-card__button {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* The magazine value band is intentionally dark; never inherit paper-surface ink. */
html body .dt-magazine-value,
html body .dt-magazine-value__grid {
    color: #ffffff !important;
}

html body .dt-magazine-value :where(h1, h2, h3, h4, strong) {
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html body .dt-magazine-value :where(p, small, span) {
    color: rgba(255, 255, 255, 0.84) !important;
    opacity: 1 !important;
}

html body .dt-magazine-value .dt-kicker {
    color: #ff9aad !important;
}

html body .dt-magazine-value a {
    color: #ffffff !important;
    text-decoration-color: #ff9aad !important;
}

/* Mobile publication pass: wider reading measure, tighter hierarchy, cleaner conversion UI. */
@media (max-width: 768px) {
    :root {
        --dt-type-page-title: clamp(2.18rem, 9vw, 2.45rem);
        --dt-type-page-subtitle: 1rem;
    }

    html body .dt-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin-inline: auto !important;
        padding-inline: 20px !important;
    }

    html body main#primary .dt-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin-inline: auto !important;
        padding-inline: 20px !important;
    }

    html body .dt-editorial-team-hero {
        padding-block: 32px !important;
    }

    html body .dt-editorial-team-hero__grid {
        gap: 20px !important;
    }

    html body .dt-editorial-team-hero h1 {
        margin-bottom: 12px !important;
    }

    html body .dt-editorial-team-hero h1 + p {
        margin-top: 0 !important;
        font-size: 1rem !important;
        line-height: 1.5 !important;
    }

    html body .dt-editorial-team-hero__note {
        padding: 16px !important;
    }

    html body .dt-editorial-team-hero__note strong {
        margin-top: 8px !important;
        font-size: 1.16rem !important;
        line-height: 1.24 !important;
    }

    html body .dt-editorial-cta {
        padding-block: 24px !important;
    }

    html body .dt-editorial-cta__inner {
        gap: 20px !important;
        padding-block: 0 !important;
    }

    html body .dt-editorial-cta .dt-kicker {
        margin-bottom: 10px !important;
    }

    html body .dt-editorial-cta h2 {
        font-size: 1.85rem !important;
        line-height: 1.08 !important;
    }

    html body .dt-editorial-cta h2 + p {
        margin-top: 10px !important;
        font-size: 1rem !important;
        line-height: 1.5 !important;
    }

    html body .dt-site-newsletter {
        padding-block: 26px !important;
    }

    html body .dt-newsletter-component {
        gap: 16px !important;
    }

    html body .dt-newsletter-component__copy h2 {
        margin-bottom: 8px !important;
        font-size: 1.62rem !important;
        line-height: 1.08 !important;
    }

    html body .dt-newsletter-component__copy > p:not(.dt-kicker) {
        font-size: 0.96rem !important;
        line-height: 1.45 !important;
    }

    html body .dt-site-newsletter .dt-newsletter-form {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    html body .dt-site-newsletter .dt-newsletter-form > label:not(.dt-form-hp) {
        display: block !important;
        margin-bottom: 6px !important;
        color: rgba(255, 255, 255, 0.88) !important;
        font-size: 0.9rem !important;
        line-height: 1.25 !important;
    }

    html body .dt-site-newsletter .dt-newsletter-form__row {
        gap: 8px !important;
    }

    html body .dt-site-newsletter .dt-newsletter-form input[type="email"],
    html body .dt-site-newsletter .dt-newsletter-form button[type="submit"] {
        min-height: 48px !important;
        height: 48px !important;
        border-radius: 5px !important;
    }

    html body .dt-site-newsletter .dt-newsletter-message {
        min-height: 0 !important;
        margin-top: 6px !important;
    }

    html body .dt-shell-footer {
        padding: 22px 0 14px !important;
    }

    html body .dt-shell-footer .dt-container {
        width: 100% !important;
        max-width: none !important;
        margin-inline: auto !important;
        padding-inline: 20px !important;
    }

    html body .dt-shell-footer__grid {
        gap: 12px !important;
        padding: 0 0 12px !important;
    }

    html body .dt-shell-footer__brand .dt-brand {
        gap: 4px !important;
    }

    html body .dt-shell-footer__brand .dt-brand__name {
        font-size: 1.9rem !important;
        line-height: 1 !important;
    }

    html body .dt-shell-footer__brand .dt-brand__tagline {
        font-size: 0.64rem !important;
        line-height: 1.25 !important;
    }

    html body .dt-shell-footer__brand > p:not(.dt-shell-footer__authority) {
        display: none !important;
    }

    html body .dt-shell-footer__authority {
        display: none !important;
    }

    html body .dt-shell-footer__links {
        gap: 6px 12px !important;
    }

    html body .dt-shell-footer__links a {
        font-size: 0.72rem !important;
        line-height: 1.25 !important;
    }

    html body .dt-shell-footer__sponsor {
        gap: 4px !important;
        padding: 12px 0 !important;
    }

    html body .dt-shell-footer__sponsor p {
        display: none !important;
    }

    html body .dt-shell-footer__sponsor h2,
    html body .dt-shell-footer__sponsor h3 {
        font-size: 1.2rem !important;
        line-height: 1.15 !important;
    }

    html body .dt-shell-footer__bottom {
        gap: 8px !important;
        padding: 12px 0 !important;
    }

    html body .dt-shell-footer__social {
        grid-template-columns: repeat(5, 44px) !important;
        justify-content: center !important;
        gap: 10px !important;
        height: 44px !important;
    }

    html body .dt-shell-footer__social a {
        box-sizing: border-box !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        justify-content: center !important;
    }

    html body .dt-shell-footer__social a small {
        display: none !important;
    }

    html body .dt-shell-footer__social a span {
        font-size: 0.82rem !important;
    }

    html body .dt-shell-footer__disclaimer {
        gap: 10px !important;
        margin: 0 !important;
        padding: 9px 0 !important;
        font-size: 0.68rem !important;
        line-height: 1.3 !important;
    }

    html body .dt-shell-footer__notice {
        gap: 6px !important;
        padding: 9px 0 2px !important;
        font-size: 0.67rem !important;
        line-height: 1.4 !important;
    }
}

/* Button system: white labels in every interaction state on every viewport. */
html body a.dt-button,
html body button.dt-button,
html body .wp-block-button .wp-block-button__link,
html body a.dt-rx-button,
html body button.dt-rx-button,
html body .dt-resource-action-card__button,
html body button[type="submit"],
html body input[type="submit"],
html body a.dt-button:link,
html body a.dt-button:visited,
html body a.dt-button:hover,
html body a.dt-button:focus,
html body a.dt-button:focus-visible,
html body a.dt-button:active,
html body .wp-block-button .wp-block-button__link:link,
html body .wp-block-button .wp-block-button__link:visited,
html body .wp-block-button .wp-block-button__link:hover,
html body .wp-block-button .wp-block-button__link:focus,
html body .wp-block-button .wp-block-button__link:active {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration-color: currentColor !important;
}

html body :where(
    a.dt-button,
    button.dt-button,
    .wp-block-button .wp-block-button__link,
    a.dt-rx-button,
    button.dt-rx-button,
    .dt-resource-action-card__button,
    button[type="submit"],
    input[type="submit"]
) :where(span, strong, small) {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

/* Secondary actions retain hierarchy with an ink fill rather than black text. */
html body .dt-button.dt-button--ink,
html body .dt-button.dt-button--ghost,
html body .dt-button.dt-button--ghost-light,
html body .dt-button.dt-button--secondary,
html body .dt-button-secondary,
html body .dt-rx-button.dt-rx-button--ghost,
html body .dt-rx-button.dt-rx-button--text {
    background: var(--dt-color-ink) !important;
    border-color: var(--dt-color-ink) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html body .dt-button.dt-button--ink:hover,
html body .dt-button.dt-button--ink:focus-visible,
html body .dt-button.dt-button--ink:active,
html body .dt-button.dt-button--ghost:hover,
html body .dt-button.dt-button--ghost:focus-visible,
html body .dt-button.dt-button--ghost:active,
html body .dt-button.dt-button--ghost-light:hover,
html body .dt-button.dt-button--ghost-light:focus-visible,
html body .dt-button.dt-button--ghost-light:active,
html body .dt-button.dt-button--secondary:hover,
html body .dt-button.dt-button--secondary:focus-visible,
html body .dt-button.dt-button--secondary:active,
html body .dt-button-secondary:hover,
html body .dt-button-secondary:focus-visible,
html body .dt-button-secondary:active,
html body .dt-rx-button.dt-rx-button--ghost:hover,
html body .dt-rx-button.dt-rx-button--ghost:focus-visible,
html body .dt-rx-button.dt-rx-button--ghost:active,
html body .dt-rx-button.dt-rx-button--text:hover,
html body .dt-rx-button.dt-rx-button--text:focus-visible,
html body .dt-rx-button.dt-rx-button--text:active {
    background: #303942 !important;
    border-color: #303942 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* On dark conversion bands, secondary buttons stay outlined but remain white. */
html body :where(
    .dt-site-newsletter,
    .dt-newsletter-shell,
    .dt-newsletter-component,
    .dt-magazine-advertise,
    .dt-partner-cta
) :where(
    .dt-button--ink,
    .dt-button--ghost,
    .dt-button--ghost-light,
    .dt-button--secondary,
    .dt-button-secondary
) {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.76) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html body :where(
    .dt-site-newsletter,
    .dt-newsletter-shell,
    .dt-newsletter-component,
    .dt-magazine-advertise,
    .dt-partner-cta
) :where(
    .dt-button--ink,
    .dt-button--ghost,
    .dt-button--ghost-light,
    .dt-button--secondary,
    .dt-button-secondary
):where(:hover, :focus-visible, :active) {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
