/**
 * Copyright (c) 2026 DNA Genics, S.L. All rights reserved.
 *
 * Editorial catalog compatibility layer for established public product and service views.
 */

.catalog-page {
    --g25-bg-primary: var(--catalog-bg);
    --g25-bg-secondary: var(--catalog-bg-alt);
    --g25-bg-tertiary: var(--catalog-surface);
    --g25-text-primary: var(--catalog-text);
    --g25-text-secondary: var(--catalog-muted);
    --g25-gold: var(--catalog-gold);
    --asw-bg-deep: var(--catalog-bg);
    --asw-bg-dark: var(--catalog-bg-alt);
    --asw-bg-card: var(--catalog-surface);
    --asw-text-primary: var(--catalog-text);
    --asw-text-secondary: var(--catalog-muted);
    --asw-gold: var(--catalog-gold);
    --asw-dark: var(--catalog-bg);
    --asw-dark-alt: var(--catalog-bg-alt);
    --asw-navy: var(--catalog-surface-soft);
    --asw-gray-50: var(--catalog-surface);
    --asw-gray-100: var(--catalog-surface-raised);
    --asw-gray-200: var(--catalog-border);
    --asw-gray-300: var(--catalog-border-strong);
    --asw-gray-400: var(--catalog-soft);
    --asw-gray-500: var(--catalog-soft);
    --asw-gray-600: var(--catalog-muted);
    --asw-gray-700: var(--catalog-muted);
    --asw-gray-800: var(--catalog-cream);
    --asw-gray-900: var(--catalog-cream);
    --cib-navy: var(--catalog-bg);
    --cib-navy-light: var(--catalog-bg-alt);
    --cib-deep: var(--catalog-bg-alt);
    --cib-deep-soft: var(--catalog-surface-raised);
    --cib-slate: var(--catalog-surface-soft);
    --cib-off-white: var(--catalog-bg);
    --cib-cream: var(--catalog-bg-alt);
    --cib-white: var(--catalog-surface);
    --cib-gray-100: var(--catalog-surface-raised);
    --cib-gray-200: var(--catalog-border);
    --cib-gray-300: var(--catalog-border-strong);
    --cib-gray-400: var(--catalog-soft);
    --cib-gray-500: var(--catalog-soft);
    --cib-gray-900: var(--catalog-text);
    --cib-gray-700: var(--catalog-muted);
    --cib-gray-600: var(--catalog-soft);
    --cib-text-dark: var(--catalog-cream);
    --cib-text-body: var(--catalog-muted);
    --cib-text-muted: var(--catalog-soft);
    --cib-text-light: var(--catalog-text);
    --cib-text-light-muted: var(--catalog-muted);
    --cib-border-light: var(--catalog-border);
    --cib-border-dark: var(--catalog-border);
    --cib-border-gold: rgba(216, 176, 122, 0.48);
    --cib-gold: var(--catalog-gold);
    --cib-gold-light: var(--catalog-gold-hover);
    --cib-gold-subtle: rgba(216, 176, 122, 0.1);
    --pkg-bg-primary: var(--catalog-bg);
    --pkg-bg-secondary: var(--catalog-bg-alt);
    --pkg-bg-card: var(--catalog-surface);
    --pkg-text-primary: var(--catalog-text);
    --pkg-text-secondary: var(--catalog-muted);
    --pkg-gold: var(--catalog-gold);
    isolation: isolate;
    overflow: clip;
}

.catalog-section-nav {
    --catalog-bg: #0d1117;
    --catalog-border: #35404d;
    --catalog-border-strong: #546273;
    --catalog-gold: #d8b07a;
    --catalog-cream: #f5f1e9;
    --catalog-muted: #c2cad4;
    --catalog-surface-raised: #1b232d;
}

.catalog-section-nav > ul {
    display: flex;
    gap: 0.35rem;
    list-style: none;
    margin: 0 auto;
    max-width: 1240px;
    overflow-x: auto;
    padding: 0.65rem clamp(1rem, 3vw, 2rem);
    scrollbar-color: var(--catalog-border-strong) transparent;
    scrollbar-width: thin;
}

.catalog-page *,
.catalog-page *::before,
.catalog-page *::after {
    animation: none !important;
    background-image: none !important;
    scroll-behavior: auto !important;
}

.catalog-page :is(.g25-hero-bg, .g25-hero-scroll, .asw-hero-bg, .asw-scroll-indicator, .pkg-hero-bg, .pkg-hero-scroll, .ai-scroll-indicator) {
    display: none !important;
}

.catalog-page :is(.container, .g25-section-content, .g25-hero-content, .asw-section-inner, .asw-section-container, .pkg-section-inner, .pkg-section-content, .cib-container) {
    margin-inline: auto;
    max-width: 1240px;
    padding-inline: clamp(1rem, 3vw, 2rem);
    width: 100%;
}

.catalog-page :is(.g25-hero, .asw-hero, .hero-ai, .pkg-hero, .cib-hero) {
    background: var(--catalog-bg-alt) !important;
    border-bottom: 5px solid var(--catalog-gold);
    color: var(--catalog-text);
    min-height: 0 !important;
    padding-block: clamp(3.5rem, 7vw, 6.5rem) !important;
    position: relative;
}

.catalog-page :is(.asw-hero .row, .hero-ai > .container, .cib-hero-inner) {
    align-items: center;
    display: grid !important;
    gap: clamp(2rem, 5vw, 5rem);
    grid-template-columns: minmax(0, 1.04fr) minmax(300px, 0.96fr);
    min-height: 0 !important;
}

.catalog-page :is(.g25-hero, .pkg-hero) {
    align-items: center;
    display: grid !important;
    gap: clamp(2rem, 5vw, 5rem);
    grid-template-columns: minmax(0, 1.04fr) minmax(300px, 0.96fr);
    padding-inline: max(clamp(1rem, 3vw, 2rem), calc((100vw - 1240px) / 2)) !important;
}

.catalog-page .hero-ai > .container > .hero-content {
    max-width: 720px;
}

.catalog-page :is(.g25-hero-content, .g25adv-hero .g25-section-content, .pkg-hero-content) {
    margin-inline: 0;
    max-width: 720px;
    padding-inline: 0;
    position: relative;
    text-align: left !important;
    width: 100%;
}

.catalog-migration-hero-media {
    background: var(--catalog-surface);
    border: 1px solid var(--catalog-border);
    border-radius: 1rem;
    box-shadow: var(--catalog-shadow);
    margin: 0;
    overflow: hidden;
    position: relative;
}

.catalog-migration-hero-media::after {
    background: var(--catalog-gold);
    bottom: 0;
    content: "";
    height: 5px;
    left: 0;
    position: absolute;
    right: 0;
}

.catalog-migration-hero-media img {
    aspect-ratio: 4 / 3;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.catalog-page :is(.g25-hero-label, .g25adv-hero-badge, .asw-hero-badge, .hero-badge, .pkg-hero-badge, .cib-hero-badge, .cib-section-label, .asw-section-kicker, .pkg-section-label, .g25-section-label) {
    color: var(--catalog-gold) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
}

.catalog-page :is(.g25-hero-title, .g25-heading-1, .asw-hero-title, .hero-product-name, .pkg-hero-title, .cib-hero-title) {
    color: var(--catalog-cream) !important;
    font-family: var(--dng-font-serif, Georgia, "Times New Roman", serif) !important;
    font-size: clamp(2.65rem, 5.4vw, 5rem) !important;
    font-weight: 650 !important;
    letter-spacing: -0.025em !important;
    line-height: 1 !important;
    margin-block: 1rem 1.5rem !important;
    max-width: 14ch;
}

.catalog-page :is(.pkg-title-prelude, .pkg-title-accent) {
    color: inherit !important;
    display: block;
}

.catalog-page :is(.g25-hero-subtitle, .g25-lead, .asw-hero-lead, .asw-hero-tagline, .hero-lead, .pkg-hero-lead, .cib-hero-lead) {
    color: var(--catalog-muted) !important;
    font-size: clamp(1rem, 1.5vw, 1.18rem) !important;
    line-height: 1.75 !important;
    max-width: 68ch;
}

.catalog-page :is(.g25-hero-cta, .g25-cta-primary, .g25adv-pricing-cta, .asw-btn-primary, .asw-btn-upgrade, .asw-pricing-btn-primary, .btn-primary-cta, .ai-pricing-cta, .pkg-btn-primary, .pkg-table-cta, .pkg-btn-final, .cib-btn--primary) {
    align-items: center;
    background: var(--catalog-gold) !important;
    border: 1px solid var(--catalog-gold) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: #14191f !important;
    display: inline-flex;
    font-weight: 800 !important;
    gap: 0.5rem;
    justify-content: center;
    min-height: 48px;
    padding: 0.75rem 1.35rem !important;
    text-decoration: none !important;
    transform: none !important;
}

.catalog-page :is(.g25-cta-secondary, .asw-btn-secondary, .asw-btn-store, .btn-secondary-cta, .pkg-btn-secondary, .cib-btn--outline-light, .cib-btn--outline) {
    align-items: center;
    background: var(--catalog-surface-raised) !important;
    border: 1px solid var(--catalog-border-strong) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: var(--catalog-text) !important;
    display: inline-flex;
    font-weight: 750 !important;
    gap: 0.5rem;
    justify-content: center;
    min-height: 48px;
    padding: 0.75rem 1.35rem !important;
    text-decoration: none !important;
    transform: none !important;
}

.catalog-page :is(.g25-hero-cta, .g25adv-hero-cta, .asw-hero-ctas, .hero-cta-group, .pkg-hero-cta, .cib-hero-cta) {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 2rem;
}

.catalog-page :is(.g25-section, .asw-section, .ai-section, .pkg-section, .cib-section) {
    background: var(--catalog-bg) !important;
    border-bottom: 1px solid var(--catalog-border);
    color: var(--catalog-text) !important;
    counter-increment: editorial-chapter;
    min-height: 0 !important;
    padding-block: clamp(3.5rem, 7vw, 6rem) !important;
    position: relative;
}

.catalog-page {
    counter-reset: editorial-chapter;
}

.catalog-page :is(.g25-section, .asw-section, .ai-section, .pkg-section, .cib-section):nth-of-type(even) {
    background: var(--catalog-bg-alt) !important;
}

.catalog-page :is(.g25-section, .asw-section, .ai-section, .pkg-section, .cib-section) :is(h2, .g25-heading-2, .asw-section-title, .section-title, .pkg-section-title, .cib-section-title)::before {
    color: var(--catalog-gold);
    content: "0" counter(editorial-chapter) "  /  ";
    display: block;
    font-family: var(--dng-font-sans, Inter, sans-serif);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    margin-bottom: 0.8rem;
}

.catalog-page :is(.g25-heading-2, .asw-section-title, .section-title, .pkg-section-title, .cib-section-title, .g25-finale-heading, .pkg-final-title, .cib-display-1) {
    color: var(--catalog-cream) !important;
    font-family: var(--dng-font-serif, Georgia, "Times New Roman", serif) !important;
    font-size: clamp(2rem, 4vw, 3.4rem) !important;
    font-weight: 650 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.08 !important;
}

.catalog-page :is(p, li, .g25-prose, .asw-section-lead, .section-description, .pkg-section-lead, .cib-section-lead) {
    color: var(--catalog-muted);
}

.catalog-page :is(h3, h4, strong) {
    color: var(--catalog-cream);
}

.catalog-page :is(.g25-definition-pillars, .g25-audience-grid, .g25-capability-list, .g25-ecosystem-grid, .g25-ai-features-grid, .g25adv-tools-grid, .g25adv-comparison-grid, .asw-gallery-grid, .asw-tools-grid, .asw-trust-grid, .asw-pricing-grid, .asa-features-grid, .aci-surfaces-grid, .aci-tones-grid, .pricing-grid, .faq-grid, .pkg-packages-grid, .pkg-features-grid, .pkg-trust-grid, .cib-benefits-grid, .cib-tech-grid, .cib-path-grid, .cib-pricing-grid, .cib-provider-grid) {
    display: grid !important;
    gap: clamp(1rem, 2vw, 1.5rem) !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
}

.catalog-page :is(.g25-pillar, .g25-audience-card, .g25-capability-item, .g25-ecosystem-card, .g25-ai-feature-card, .g25adv-tool-card, .asw-gallery-card, .asw-tool-card, .asw-trust-card, .asw-pricing-card, .asw-quickstart-card, .asa-feature-card, .aci-surface-card, .aci-tone-card, .pricing-card, .faq-item, .pkg-package-card, .pkg-feature-card, .pkg-trust-card, .pkg-family-card, .cib-benefit-card, .cib-tech-spec, .cib-path-card, .cib-pricing-card, .cib-hero-card) {
    background: var(--catalog-surface) !important;
    border: 1px solid var(--catalog-border) !important;
    border-radius: 1rem !important;
    box-shadow: none !important;
    color: var(--catalog-muted) !important;
    transform: none !important;
}

.catalog-page :is(.g25-pillar, .g25-audience-card, .g25-capability-item, .g25-ecosystem-card, .g25-ai-feature-card, .g25adv-tool-card, .asw-tool-card, .asw-trust-card, .asa-feature-card, .aci-surface-card, .aci-tone-card, .pricing-card, .faq-item, .pkg-package-card, .pkg-trust-card, .pkg-family-card, .cib-benefit-card, .cib-tech-spec, .cib-path-card, .cib-pricing-card, .cib-hero-card) {
    padding: clamp(1.15rem, 2.5vw, 1.75rem) !important;
}

.catalog-page :is(.g25adv-tool-pill, .asw-card-label, .asw-store-new, .cib-expandable-badge, .pkg-package-badge) {
    background: var(--catalog-surface-raised) !important;
    border: 1px solid var(--catalog-border) !important;
    border-radius: 999px;
    color: var(--catalog-gold) !important;
}

.catalog-page .cib-expandable {
    background: var(--catalog-surface) !important;
    border: 1px solid var(--catalog-border) !important;
    border-radius: 0.85rem !important;
    box-shadow: none !important;
    margin-bottom: 0.8rem;
    overflow: hidden;
}

.catalog-page .cib-expandable-header {
    border-bottom: 1px solid var(--catalog-border);
    color: var(--catalog-cream);
    cursor: default !important;
    padding: 1rem 1.15rem !important;
}

.catalog-page .cib-expandable-toggle {
    display: none !important;
}

.catalog-page .cib-expandable-content {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
}

.catalog-page .cib-expandable-body {
    padding: 1rem 1.15rem !important;
}

.catalog-page :is(.g25adv-visual, .g25-workflow-visual, .g25-interface-mockup, .g25-science-visual, .asw-gallery-stage, .asw-prologue-visual, .asa-phone-frame, .cib-process-visual, .cib-comparison-visual) {
    background: var(--catalog-surface) !important;
    border: 1px solid var(--catalog-border) !important;
    border-radius: 1rem;
    box-shadow: none !important;
    overflow: hidden;
}

.catalog-page :is(.g25-toolkit-tabs, .g25adv-tablist) {
    display: none !important;
}

.catalog-page :is(.g25-toolkit-panel, .g25adv-tool-panel)[hidden] {
    display: block !important;
}

.catalog-page :is(.g25-toolkit-panel, .g25adv-tool-panel) + :is(.g25-toolkit-panel, .g25adv-tool-panel) {
    border-top: 1px solid var(--catalog-border);
    margin-top: 2rem;
    padding-top: 2rem;
}

.catalog-page :is(table, .pkg-comparison-table) {
    border-collapse: collapse;
    color: var(--catalog-muted) !important;
    width: 100%;
}

.catalog-page :is(th, td) {
    background: var(--catalog-surface) !important;
    border: 1px solid var(--catalog-border) !important;
    color: inherit !important;
    padding: 0.85rem;
}

.catalog-page th {
    color: var(--catalog-cream) !important;
}

.catalog-page .editorial-disclosure {
    background: var(--catalog-surface) !important;
    border: 1px solid var(--catalog-border);
    border-radius: 0.85rem;
    color: var(--catalog-muted);
    margin-bottom: 0.8rem;
    overflow: hidden;
}

.catalog-page .editorial-disclosure summary {
    color: var(--catalog-cream);
    cursor: pointer;
    font-weight: 800;
    list-style: none;
    padding: 1rem 1.15rem;
}

.catalog-page .editorial-disclosure summary::-webkit-details-marker {
    display: none;
}

.catalog-page .editorial-disclosure summary::after {
    color: var(--catalog-gold);
    content: "+";
    float: right;
    font-size: 1.2rem;
}

.catalog-page .editorial-disclosure[open] summary::after {
    content: "−";
}

.catalog-page .editorial-disclosure > :not(summary) {
    border-top: 1px solid var(--catalog-border);
    margin: 0;
    padding: 1rem 1.15rem;
}

/* Bioinformatics service family: normalize legacy light components to the catalog theme. */
.catalog-page.cib-page :is(
    .cib-value-card,
    .cib-expandable,
    .cib-tech-spec,
    .cib-pipeline,
    .cib-comparison-box,
    .cib-process-step,
    .cib-stat-item,
    .cib-spec-card,
    .cib-faq-item,
    .cib-path-card,
    .cib-feature-card,
    .cib-tier-card,
    .cib-limitation-card,
    .cib-note-card,
    .cib-pricing-card,
    .cib-legal-card
) {
    background: var(--catalog-surface) !important;
    border-color: var(--catalog-border) !important;
    box-shadow: none !important;
    color: var(--catalog-muted) !important;
}

.catalog-page.cib-page .cib-pricing-card {
    padding: 0 !important;
}

.catalog-page.cib-page .cib-hero-card {
    padding: clamp(1.5rem, 4vw, 2.5rem) !important;
}

.catalog-page.cib-page :is(
    .cib-value-content h3,
    .cib-expandable-title,
    .cib-tech-spec-title,
    .cib-pipeline-title,
    .cib-pipeline-label,
    .cib-process-step h3,
    .cib-spec-header h3,
    .cib-faq-question h4,
    .cib-path-title,
    .cib-feature-card h3,
    .cib-tier-snp-count,
    .cib-limitation-content h4,
    .cib-note-header h4,
    .cib-pricing-header h3,
    .cib-legal-card h5
) {
    color: var(--catalog-cream) !important;
}

.catalog-page.cib-page :is(
    .cib-value-content p,
    .cib-tech-spec-desc,
    .cib-pipeline-sublabel,
    .cib-comparison-desc,
    .cib-process-step p,
    .cib-stat-label,
    .cib-spec-card p,
    .cib-faq-answer-content,
    .cib-limitation-content p,
    .cib-note-body,
    .cib-pricing-period,
    .cib-pricing-features li,
    .cib-legal-list li,
    .cib-legal-footer
) {
    color: var(--catalog-muted) !important;
}

.catalog-page.cib-page :is(
    .cib-value-icon,
    .cib-tech-spec-icon,
    .cib-pipeline-icon,
    .cib-step-icon,
    .cib-faq-icon,
    .cib-path-icon,
    .cib-feature-icon,
    .cib-limitation-icon
) {
    background: var(--catalog-surface-soft) !important;
    border: 1px solid var(--catalog-border-strong) !important;
    box-shadow: none !important;
    color: var(--catalog-gold) !important;
}

.catalog-page.cib-page :is(
    .cib-value-icon,
    .cib-tech-spec-icon,
    .cib-pipeline-icon,
    .cib-step-icon,
    .cib-faq-icon,
    .cib-path-icon,
    .cib-feature-icon,
    .cib-limitation-icon,
    .cib-note-header,
    .cib-pricing-features,
    .cib-tech-spec-list,
    .cib-feature-list
) :is(i, .dna-icon) {
    color: inherit !important;
}

.catalog-page.cib-page :is(.cib-pipeline-icon.accent, .cib-pipeline-icon.success) {
    background: var(--catalog-surface-soft) !important;
    border-color: var(--catalog-gold) !important;
    color: var(--catalog-gold) !important;
}

.catalog-page.cib-page .cib-pipeline-arrow {
    color: var(--catalog-gold) !important;
}

.catalog-page.cib-page .cib-pipeline-arrow :is(i, .dna-icon) {
    color: inherit !important;
}

.catalog-page.cib-page .cib-pipeline-value {
    background: var(--catalog-surface-raised) !important;
    border-color: var(--catalog-border-strong) !important;
    color: var(--catalog-gold) !important;
}

.catalog-page.cib-page .cib-code-snippet {
    background: #090d12 !important;
    border: 1px solid var(--catalog-border) !important;
    color: var(--catalog-muted) !important;
}

.catalog-page.cib-page :is(.cib-comparison-box.before, .cib-comparison-box.after) {
    background: var(--catalog-surface-raised) !important;
    border-color: var(--catalog-border-strong) !important;
}

.catalog-page.cib-page .cib-coverage-bar {
    background: var(--catalog-surface-soft) !important;
}

.catalog-page.cib-page .cib-note-header {
    background: var(--catalog-surface-raised) !important;
    border-bottom: 1px solid var(--catalog-border);
}

.catalog-page.cib-page .cib-note-header :is(i, .dna-icon) {
    color: var(--catalog-gold) !important;
}

.catalog-page.cib-page .cib-tier-header,
.catalog-page.cib-page .cib-tier-card.tier-optimal .cib-tier-header,
.catalog-page.cib-page .cib-tier-card.tier-good .cib-tier-header,
.catalog-page.cib-page .cib-tier-card.tier-standard .cib-tier-header {
    background: var(--catalog-surface-raised) !important;
    border-bottom: 1px solid var(--catalog-border);
    color: var(--catalog-cream) !important;
}

.catalog-page.cib-page .cib-tier-card.tier-optimal {
    border-color: rgba(67, 211, 158, 0.62) !important;
}

.catalog-page.cib-page .cib-tier-card.tier-good {
    border-color: var(--catalog-gold) !important;
}

.catalog-page.cib-page .cib-tier-card.tier-standard {
    border-color: var(--catalog-border-strong) !important;
}

.catalog-page.cib-page .cib-tier-badge,
.catalog-page.cib-page .cib-tier-card.tier-optimal .cib-tier-badge,
.catalog-page.cib-page .cib-tier-card.tier-good .cib-tier-badge,
.catalog-page.cib-page .cib-tier-card.tier-standard .cib-tier-badge {
    background: var(--catalog-surface-soft) !important;
    border: 1px solid var(--catalog-border-strong);
    color: var(--catalog-muted) !important;
}

.catalog-page.cib-page .cib-tier-card.tier-optimal .cib-tier-badge {
    background: #12382f !important;
    border-color: rgba(67, 211, 158, 0.62);
    color: #8ce5c4 !important;
}

.catalog-page.cib-page .cib-tier-card.tier-good .cib-tier-badge {
    background: #3a2e20 !important;
    border-color: var(--catalog-gold);
    color: var(--catalog-gold-hover) !important;
}

.catalog-page.cib-page .cib-tier-provider {
    background: var(--catalog-surface-soft) !important;
    border: 1px solid var(--catalog-border) !important;
    color: var(--catalog-muted) !important;
}

.catalog-page.cib-page .cib-tier-provider:hover {
    background: var(--catalog-surface-raised) !important;
    border-color: var(--catalog-gold) !important;
    color: var(--catalog-cream) !important;
}

.catalog-page.cib-page .cib-pricing-header {
    background: var(--catalog-bg-alt) !important;
    border-bottom: 1px solid var(--catalog-border);
    color: var(--catalog-cream) !important;
}

.catalog-page.cib-page .cib-pricing-body {
    background: var(--catalog-surface) !important;
}

.catalog-page.cib-page .cib-pricing-features li {
    border-color: var(--catalog-border) !important;
}

.catalog-page.cib-page .cib-pricing-features li :is(i, .dna-icon),
.catalog-page.cib-page .cib-tech-spec-list li :is(i, .dna-icon),
.catalog-page.cib-page .cib-feature-list li :is(i, .dna-icon) {
    color: var(--catalog-gold) !important;
}

.catalog-page.cib-page .cib-pricing-cta {
    background: var(--catalog-gold) !important;
    border: 1px solid var(--catalog-gold) !important;
    color: #14191f !important;
    font-weight: 800 !important;
}

.catalog-page.cib-page .cib-pricing-cta:hover {
    background: var(--catalog-gold-hover) !important;
    border-color: var(--catalog-gold-hover) !important;
    color: #14191f !important;
}

.catalog-page.cib-page .cib-payment-methods {
    border-color: var(--catalog-border) !important;
}

.catalog-page.cib-page .cib-payment-methods i {
    color: var(--catalog-soft) !important;
}

.catalog-page.cib-page :is(.cib-btn, .cib-pricing-cta):focus-visible {
    outline: 3px solid var(--catalog-cream);
    outline-offset: 3px;
}

/* Admixture Studio family: remove residual light panels from the legacy layouts. */
.catalog-page.asw-main :is(
    .asw-discount-banner,
    .asw-microcopy,
    .asw-result-preview,
    .asw-step-card,
    .asw-gallery-panel,
    .asw-gallery-btn,
    .asw-developer,
    .asw-install-guide,
    .asw-install-step,
    .asa-disclaimer
) {
    background: var(--catalog-surface) !important;
    border: 1px solid var(--catalog-border) !important;
    box-shadow: none !important;
    color: var(--catalog-muted) !important;
}

.catalog-page.asw-main :is(.asw-step-card, .asw-install-guide, .asa-disclaimer) {
    background: var(--catalog-surface-raised) !important;
}

.catalog-page.asw-main :is(
    .asw-narrative-lead,
    .asw-step-card h3,
    .asw-tool-title,
    .asw-developer-name,
    .asw-install-guide h3,
    .asw-faq-title,
    .asw-faq-question span
) {
    color: var(--catalog-cream) !important;
}

.catalog-page.asw-main :is(
    .asw-narrative p,
    .asw-microcopy span,
    .asw-tool-desc,
    .asw-tool-detail,
    .asw-trust-card > p,
    .asw-trust-list li,
    .asw-developer-desc,
    .asw-install-step,
    .asw-faq-answer p,
    .asa-disclaimer
) {
    color: var(--catalog-muted) !important;
}

.catalog-page.asw-main .asw-gallery-panel {
    background: var(--catalog-surface-raised) !important;
}

.catalog-page.asw-main .asw-gallery-btn {
    color: var(--catalog-cream) !important;
}

.catalog-page.asw-main :is(.asw-format-badge, .asw-tool-badge) {
    background: var(--catalog-surface-soft) !important;
    border: 1px solid var(--catalog-border-strong);
    color: var(--catalog-gold) !important;
}

.catalog-page.asw-main .asw-pricing-btn-secondary {
    background: var(--catalog-surface-soft) !important;
    border: 1px solid var(--catalog-border-strong);
    color: var(--catalog-cream) !important;
}

.catalog-page.asw-main .asw-pricing-btn-secondary:hover {
    background: var(--catalog-surface-raised) !important;
    border-color: var(--catalog-gold) !important;
    color: var(--catalog-cream) !important;
}

.catalog-page.asw-main :is(.asw-pricing-btn, .asw-btn-primary, .asw-btn-secondary, .asw-btn-store):focus-visible {
    outline: 3px solid var(--catalog-cream);
    outline-offset: 3px;
}

.catalog-page :is(.g25-finale, .asw-finale, .final-cta-section, .pkg-final-section, .cib-final-cta) {
    background: var(--catalog-bg-alt) !important;
    border-block: 1px solid var(--catalog-border);
    text-align: center;
}

.catalog-page :is(.g25-finale, .asw-finale, .final-cta-section, .pkg-final-section, .cib-final-cta) :is(h2, .g25-finale-heading, .pkg-final-title, .cib-display-1) {
    margin-inline: auto;
}

.catalog-page :is(
    .product-related-products,
    .g25v6-related-products,
    .admixwin-related-products,
    .g25adv-related-products,
    .aci-related-products,
    .asa-related-products,
    .pkg-related-products,
    .imputation-related-products,
    .phasing-related-products,
    .merging-related-products,
    .g25v6-related-section,
    .admixwin-related-section,
    .g25adv-related-section,
    .aci-related-section,
    .pkg-related-section,
    .imputation-related-section,
    .phasing-related-section,
    .merging-related-section
) {
    --catalog-bg-alt: #11171f;
    --catalog-border: #35404d;
    --catalog-text: #f5f7fa;
    background: var(--catalog-bg-alt) !important;
    color: var(--catalog-text) !important;
}

:where(.catalog-page) .product-related-products,
:is(
    .g25v6-related-products,
    .admixwin-related-products,
    .g25adv-related-products,
    .aci-related-products,
    .asa-related-products,
    .pkg-related-products,
    .imputation-related-products,
    .phasing-related-products,
    .merging-related-products,
    .g25v6-related-section,
    .admixwin-related-section,
    .g25adv-related-section,
    .aci-related-section,
    .asa-related-section,
    .pkg-related-section,
    .imputation-related-section,
    .phasing-related-section,
    .merging-related-section
) {
    --catalog-bg-alt: #11171f;
    --catalog-border: #35404d;
    --catalog-cream: #f5f1e9;
    --catalog-muted: #c2cad4;
    --catalog-surface: #151b23;
    background: var(--catalog-bg-alt) !important;
    border-top: 1px solid var(--catalog-border);
    color: var(--catalog-muted) !important;
    padding-block: clamp(3rem, 6vw, 5rem) !important;
}

:where(.catalog-page) .product-related-grid,
:is(.g25v6-related-grid, .admixwin-related-grid, .g25adv-related-grid, .aci-related-grid, .asa-related-grid, .pkg-related-grid, .imputation-related-grid, .phasing-related-grid, .merging-related-grid) {
    display: grid !important;
    gap: 1.25rem !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
    margin-inline: auto !important;
    max-width: 1240px;
    padding-inline: clamp(1rem, 3vw, 2rem);
}

:where(.catalog-page) .product-related-card,
:is(.g25v6-related-card, .admixwin-related-card, .g25adv-related-card, .aci-related-card, .asa-related-card, .pkg-related-card, .imputation-related-card, .phasing-related-card, .merging-related-card) {
    background: var(--catalog-surface) !important;
    border: 1px solid var(--catalog-border) !important;
    border-radius: 1rem !important;
    box-shadow: none !important;
    color: var(--catalog-muted) !important;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    transform: none !important;
}

:where(.catalog-page) .product-related-title,
:is(.g25v6-related-title, .admixwin-related-title, .g25adv-related-title, .aci-related-title, .asa-related-title, .pkg-related-title, .imputation-related-title, .phasing-related-title, .merging-related-title) {
    color: var(--catalog-cream) !important;
    font-family: var(--dng-font-serif, Georgia, "Times New Roman", serif) !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    margin: 0 auto 2rem !important;
    max-width: 1240px;
    padding-inline: clamp(1rem, 3vw, 2rem);
    text-align: center;
}

:where(.catalog-page) .product-related-img,
:is(.g25v6-related-img, .admixwin-related-img, .g25adv-related-img, .aci-related-img, .asa-related-img, .pkg-related-img, .imputation-related-img, .phasing-related-img, .merging-related-img) {
    aspect-ratio: 16 / 9;
    border-bottom: 1px solid var(--catalog-border) !important;
    height: auto !important;
    object-fit: cover;
    width: 100%;
}

:where(.catalog-page) .product-related-content,
:is(.g25v6-related-content, .admixwin-related-content, .g25adv-related-content, .aci-related-content, .asa-related-content, .pkg-related-content, .imputation-related-content, .phasing-related-content, .merging-related-content) {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.2rem !important;
}

:where(.catalog-page) .product-related-card :is(h3, h4),
:is(.g25v6-related-card, .admixwin-related-card, .g25adv-related-card, .aci-related-card, .asa-related-card, .pkg-related-card, .imputation-related-card, .phasing-related-card, .merging-related-card) :is(h3, h4) {
    color: var(--catalog-cream) !important;
}

:where(.catalog-page) .product-related-card p,
:is(.g25v6-related-card, .admixwin-related-card, .g25adv-related-card, .aci-related-card, .asa-related-card, .pkg-related-card, .imputation-related-card, .phasing-related-card, .merging-related-card) p {
    color: var(--catalog-muted) !important;
}

:where(.catalog-page) .product-related-link,
:is(.g25v6-related-link, .admixwin-related-link, .g25adv-related-link, .aci-related-link, .asa-related-link, .pkg-related-link, .imputation-related-link, .phasing-related-link, .merging-related-link) {
    color: var(--catalog-gold) !important;
    font-weight: 800;
    margin-top: auto;
    text-decoration: none !important;
}

:where(.catalog-page) .product-related-link:hover,
:is(.g25v6-related-link, .admixwin-related-link, .g25adv-related-link, .aci-related-link, .asa-related-link, .pkg-related-link, .imputation-related-link, .phasing-related-link, .merging-related-link):hover {
    color: var(--catalog-gold-hover) !important;
    text-decoration: underline !important;
}

@media (max-width: 900px) {
    .catalog-page :is(.g25-hero, .pkg-hero, .asw-hero .row, .hero-ai > .container, .cib-hero-inner) {
        grid-template-columns: 1fr;
    }

    .catalog-page :is(.asw-hero .row > *, .hero-ai > .container > *, .cib-hero-inner > *) {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 640px) {
    .catalog-page :is(.g25-hero-title, .g25-heading-1, .asw-hero-title, .hero-product-name, .pkg-hero-title, .cib-hero-title) {
        font-size: clamp(2.35rem, 12vw, 3.4rem) !important;
    }

    .catalog-page :is(.g25-hero-cta, .g25adv-hero-cta, .asw-hero-ctas, .hero-cta-group, .pkg-hero-cta, .cib-hero-cta) > * {
        width: 100%;
    }

    .catalog-page :is(.g25-definition-pillars, .g25-audience-grid, .g25-capability-list, .g25-ecosystem-grid, .g25-ai-features-grid, .asw-gallery-grid, .asw-tools-grid, .asw-trust-grid, .asw-pricing-grid, .aci-surfaces-grid, .aci-tones-grid, .pricing-grid, .faq-grid, .pkg-packages-grid, .pkg-features-grid, .pkg-trust-grid, .cib-benefits-grid, .cib-tech-grid, .cib-path-grid, .cib-pricing-grid, .cib-provider-grid) {
        grid-template-columns: 1fr !important;
    }
}

@media print {
    .catalog-section-nav,
    .catalog-page :is(.g25-hero-cta, .g25adv-hero-cta, .asw-hero-ctas, .hero-cta-group, .pkg-hero-cta, .cib-hero-cta),
    .catalog-page :is(.g25-hero-bg, .asw-hero-bg, .pkg-hero-bg) {
        display: none !important;
    }

    .catalog-page,
    .catalog-page :is(.g25-hero, .asw-hero, .hero-ai, .pkg-hero, .cib-hero, .g25-section, .asw-section, .ai-section, .pkg-section, .cib-section) {
        background: #fff !important;
        border-color: #999 !important;
        color: #111 !important;
    }

    .catalog-page :is(h1, h2, h3, h4, p, li, strong, span) {
        color: #111 !important;
    }
}
