/* ══════════════════════════════════════════════════════════════
   RegulaCore Inc — Canonical Brand Mark
   Single source of truth for the RC logo badge across all pages.
   Link this file in every marketing HTML page.
   ══════════════════════════════════════════════════════════════ */

.nav-mark {
    width: 2.25rem !important;
    height: 2.25rem !important;
    border-radius: .42rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: url('RC.png') center / contain no-repeat !important;
    color: transparent !important;
    font-size: 0;
    line-height: 1;
    flex: 0 0 auto;
    overflow: hidden;
}

.nav-mark .mark-c {
    color: transparent !important;
}

.nav-logo-source,
.brand-logo-img {
    width: 2.25rem !important;
    height: 2.25rem !important;
    object-fit: contain !important;
    border-radius: .42rem !important;
    flex: 0 0 auto;
    overflow: hidden;
}

/* C in badge + "Core" in brand text — accent green */
.mark-c,
[data-brand="core"] {
    color: #35b4b6;
}

/* ══════════════════════════════════════════════════════════════
   Enterprise Typography Standard
   IBM/SAP-inspired scale: restrained headings, calmer weights,
   readable body copy, and compact card titles across marketing.
   ══════════════════════════════════════════════════════════════ */

:root {
    --rc-font-sans: "Inter", "Avenir Next", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    --rc-type-heading: #07111f;
    --rc-type-body: #43546b;
    --rc-type-muted: #66768c;
}

html,
body {
    font-family: var(--rc-font-sans) !important;
    font-weight: 400;
    letter-spacing: 0;
    text-rendering: optimizeLegibility;
}

:where(h1, h2, h3, h4, h5, h6) {
    color: var(--rc-type-heading);
    font-weight: 600 !important;
    letter-spacing: -0.018em !important;
}

:where(p, li, dd, dt, td, th, label, input, textarea, select, button, a, span) {
    letter-spacing: 0 !important;
}

:where(p, li, dd, td) {
    color: var(--rc-type-body);
    font-weight: 400;
}

:where(.hero, .banking-hero, .mobile-hero, .industry-hero, .pricing-hero) h1,
:where(.hero-left, .hero-copy, .pricing-hero-copy, .mobile-hero-copy, .industry-hero-copy) h1 {
    font-size: clamp(2.15rem, 3vw, 3.15rem) !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    letter-spacing: -0.026em !important;
    max-width: 26ch !important;
}

:where(.hero-sub, .hero-copy p, .pricing-hero-copy p, .hero-left p, .section-copy, .iso-copy) {
    font-size: clamp(.98rem, 1vw, 1.08rem) !important;
    line-height: 1.68 !important;
    font-weight: 400 !important;
    color: var(--rc-type-body) !important;
}

:where(.sec-head h2, .section-head h2, .section-title, .cta h2, .cta-dark h2, .final-cta h2) {
    font-size: clamp(1.75rem, 2.45vw, 2.45rem) !important;
    line-height: 1.16 !important;
    font-weight: 600 !important;
    letter-spacing: -0.022em !important;
}

:where(.card h3, .sap-card h3, .use-card h3, .pillar h3, .value-card h3, .hw-body h3, .std-name, .ims-head h3, .feat-card h4, .adv-card h4, .cmp-card-name, .snapshot-row strong) {
    font-size: clamp(.98rem, 1.1vw, 1.18rem) !important;
    line-height: 1.34 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
}

:where(.btn, .cta-btn, .hero-link, .nav-center a, .nav-right .btn, .footer-col a) {
    font-weight: 550 !important;
}

:where(.nav-center a, .nav-links a, .nav-cta .btn, .nav-right .btn) {
    white-space: nowrap !important;
    line-height: 1.2 !important;
    flex: 0 0 auto !important;
}

:where(.sec-label, .section-kicker, .hw-label, .step-tag, .footer-heading, .footer-col h5, .stat-lbl, .verdict-label) {
    font-size: .72rem !important;
    font-weight: 600 !important;
    letter-spacing: .055em !important;
}

:where(.stat-val, .verdict-num, .hw-price-val, .std-price, .ims-price-now, .snapshot-price, .banking-price strong) {
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
}

.enterprise-typography-standard,
:where(.feature-body h4, .solve-content h3, .industry-benefit-content h3, .module-card h3, .mod-card h3, .compact-card h3, .resilience-card h3, .timeline-card h4, .compliance-card h3, .ecosystem-node, .product-list li, .device-list li, .ecosystem-list li, .participation-list li, .agency-action-btn) {
    font-weight: 560 !important;
    letter-spacing: -0.004em !important;
}

:where(.section-badge, .hero-badge, .kicker, .explorer-kicker, .solve-tag, .proof-pill, .sync-status, .offline-proof-badge) {
    font-weight: 600 !important;
    letter-spacing: .04em !important;
}

:where(.card, .module-card, .mod-card, .feature-card, .solve-card, .industry-benefit-card, .compliance-card, .compact-card, .resilience-card, .timeline-card, .implementation-copy, .dark-panel, .audit-pack, .workflow-map, .explorer-brief, .site-risk-hud, .ehs-hero-preview, .hero-card, .field-ready-panel, .pdf-preview) {
    border-radius: 8px !important;
}

/* Global anti-bulk typography and geometry guardrail. */
:where(.module-icon, .industry-icon, .wf-card-icon, .rb-icon, .outcome span, .metric-icon, .step-icon, .mod-card-icon, .quality-module-icon, .mobile-phone-screen .mp-icon, .mf-icon) {
    border-radius: 6px !important;
    font-weight: 560 !important;
}

:where(.module-card h3, .industry-card h3, .foundation-card h3, .wf-card-name, .arch-node strong, .module-hub-core strong, .hub-node, .roi-panel h3, .roi-field label, .roi-result-card .roi-metric-label, .incident-step b, .migration-box strong, .proof-pill, .mobile-stat-label, .ind-stat-label, .metric-label, .stat-lbl, .footer-heading, .footer-col h5) {
    font-weight: 560 !important;
    letter-spacing: .01em !important;
}

:where(.metric, .mobile-stat-num, .ind-stat-num, .roi-result-card .roi-metric-value, .incident-kpi strong, .stat-val, .verdict-num, .hw-price-val, .std-price, .ims-price-now, .snapshot-price, .banking-price strong) {
    font-weight: 600 !important;
    letter-spacing: -0.018em !important;
}

:where(.roi-panel, .roi-result-card, .architecture-map, .module-hub-card, .incident-demo-card, .migration-console, .competency-card, .foundation-card, .industry-card, .wf-card) {
    border-radius: 6px !important;
}

/* ══════════════════════════════════════════════════════════════
   RegulaCore Geometry Standard
   Precise, enterprise-grade shapes across marketing. Keep only
   functional indicators circular; controls and cards stay squared
   with a slight softening.
   ══════════════════════════════════════════════════════════════ */

:root {
    --rc-radius-panel: 6px;
    --rc-radius-control: 6px;
    --rc-radius-chip: 4px;
}

:where(
    .btn,
    .cta-btn,
    .nav-btn,
    .hero-link,
    .wf-btn,
    .overview-btn,
    .agency-action-btn,
    .roi-modal-submit,
    button:not(.hero-card-close):not(.carousel-btn)
) {
    border-radius: var(--rc-radius-control) !important;
    font-weight: 560 !important;
}

:where(
    .card,
    .module-card,
    .mod-card,
    .feature-card,
    .solve-card,
    .industry-card,
    .industry-benefit-card,
    .compliance-card,
    .compact-card,
    .resilience-card,
    .timeline-card,
    .foundation-card,
    .value-card,
    .use-card,
    .pillar,
    .sap-card,
    .hw-card,
    .std-card,
    .ims-card,
    .pricing-card,
    .banking-pricing-card,
    .quality-module-card,
    .workflow-map,
    .workflow-step,
    .step,
    .outcome,
    .dark-panel,
    .audit-pack,
    .explorer-brief,
    .site-risk-hud,
    .ehs-hero-preview,
    .hero-card,
    .field-ready-panel,
    .pdf-preview,
    .implementation-copy,
    .migration-console,
    .competency-card,
    .architecture-map,
    .module-hub-card,
    .incident-demo-card,
    .roi-panel,
    .roi-result-card,
    .roi-modal,
    .agency-submission-panel,
    .ehs-expertise-strip,
    .solves-command,
    .solves-metric,
    .wf-panel,
    .wf-card,
    .wf-check,
    .wf-input,
    .wf-textarea,
    .nav-menu,
    .nav-mega-panel,
    .dropdown-menu
) {
    border-radius: var(--rc-radius-panel) !important;
}

:where(
    .pill,
    .proof-pill,
    .sync-status,
    .offline-proof-badge,
    .section-badge,
    .hero-badge,
    .kicker,
    .explorer-kicker,
    .solve-tag,
    .industry-chip,
    .footer-badge,
    .badge,
    .tag,
    .mp-tag,
    .banking-price-badge,
    .quality-tag,
    .wf-eyebrow,
    .wf-tab,
    .wf-step-num,
    .nav-center a,
    .nav-links a,
    .nav-cta .btn,
    .roi-bullets li,
    .rb-icon,
    .module-icon,
    .industry-icon,
    .metric-icon,
    .step-icon,
    .mod-card-icon,
    .quality-module-icon,
    .mobile-phone-screen .mp-icon,
    .mf-icon
) {
    border-radius: var(--rc-radius-chip) !important;
}

:where(input, select, textarea) {
    border-radius: var(--rc-radius-control) !important;
}

:where(
    .card h3,
    .module-card h3,
    .mod-card h3,
    .feature-card h3,
    .feature-card h4,
    .solve-card h3,
    .industry-card h3,
    .industry-benefit-card h3,
    .compliance-card h3,
    .compact-card h3,
    .resilience-card h3,
    .timeline-card h4,
    .foundation-card h3,
    .value-card h3,
    .use-card h3,
    .pillar h3,
    .wf-card-name,
    .wf-step-label,
    .wf-field-label,
    .wf-content h3
) {
    font-weight: 560 !important;
}

.pricing-hero-copy h1 {
    max-width: 16ch !important;
}

.two-col .hw-card {
    border-width: 1px !important;
}

.hw-body {
    padding: 1.85rem 1.65rem !important;
}

.hw-body p,
.hw-tip,
.hw-price-note,
.cmp-card-sub,
.cmp-line-label,
.cmp-line-val,
.adv-card p,
.step-content p {
    color: var(--rc-type-body) !important;
}

/* ══════════════════════════════════════════════════════════════
   Global Contrast Guardrail
   Prevent low-contrast labels/copy from blending into dark panels,
   photo overlays, graphite sections, and light enterprise cards.
   ══════════════════════════════════════════════════════════════ */

:root {
    --rc-on-dark-heading: #f8fafc;
    --rc-on-dark-body: #d8e0e8;
    --rc-on-dark-muted: #c2ceda;
    --rc-on-light-heading: #07111f;
    --rc-on-light-body: #33455c;
    --rc-on-light-muted: #51637a;
}

:where(
    .mobile-hero,
    .industry-hero,
    .banking-hero,
    .modules-dark,
    .field-proof,
    .field-module-detail,
    .modules,
    .cta-dark,
    .dark-section,
    .dark-panel,
    .site-risk-hud,
    .ehs-hero-preview,
    .hero-card,
    .field-ready-panel,
    .workflow-map,
    .audit-pack,
    .explorer-section,
    .solves-section,
    .implementation-map-section,
    .resilience-section,
    .industry-benefits-section,
    .compact-info-section,
    .why-section,
    .industries-section,
    .footer-cta,
    footer,
    .site-footer
) :where(h1, h2, h3, h4, h5, h6, strong, b) {
    color: var(--rc-on-dark-heading) !important;
}

:where(
    .mobile-hero,
    .industry-hero,
    .banking-hero,
    .modules-dark,
    .field-proof,
    .field-module-detail,
    .modules,
    .cta-dark,
    .dark-section,
    .dark-panel,
    .site-risk-hud,
    .ehs-hero-preview,
    .hero-card,
    .field-ready-panel,
    .workflow-map,
    .audit-pack,
    .explorer-section,
    .solves-section,
    .implementation-map-section,
    .resilience-section,
    .industry-benefits-section,
    .compact-info-section,
    .why-section,
    .industries-section,
    .footer-cta,
    footer,
    .site-footer
) :where(p, li, dd, td, span:not(.nav-mark):not(.mark-c):not([data-brand="core"]):not([data-brand="regula"]), small, label, time) {
    color: var(--rc-on-dark-body) !important;
}

:where(
    .mobile-hero,
    .industry-hero,
    .banking-hero,
    .modules-dark,
    .field-proof,
    .field-module-detail,
    .dark-section,
    .dark-panel,
    footer,
    .site-footer
) :where(.muted, .sub, .caption, .label, .metric-label, .stat-label, .card-sub, .mod-desc, .ind-desc, .footer-bottom, .footer-badge) {
    color: var(--rc-on-dark-muted) !important;
}

:where(
    .card,
    .cap-card,
    .ind-card,
    .quality-module-group,
    .quality-module-item,
    .pricing-card,
    .banking-pricing-card,
    .roi-panel,
    .roi-result-card,
    .field-workflow-inner,
    .wf-card,
    .wf-panel,
    .std-card,
    .sap-card,
    .value-card,
    .use-card,
    .pillar
) :where(h1, h2, h3, h4, h5, h6, strong, b) {
    color: var(--rc-on-light-heading) !important;
}

:where(
    .card,
    .cap-card,
    .ind-card,
    .quality-module-group,
    .quality-module-item,
    .pricing-card,
    .banking-pricing-card,
    .roi-panel,
    .roi-result-card,
    .field-workflow-inner,
    .wf-card,
    .wf-panel,
    .std-card,
    .sap-card,
    .value-card,
    .use-card,
    .pillar
) :where(p, li, dd, td, span:not(.nav-mark):not(.mark-c):not([data-brand="core"]):not([data-brand="regula"]), small, label) {
    color: var(--rc-on-light-body) !important;
}

:where(
    .photo-card,
    .field-proof-card,
    .feature-card,
    .solve-card,
    .industry-benefit-card,
    .quality-industry,
    .ind-card-photo,
    .hero-visual
) :where(h1, h2, h3, h4, h5, h6, p, span:not(.nav-mark):not(.mark-c), a, strong, b) {
    color: #ffffff !important;
    text-shadow: 0 1px 14px rgba(0, 0, 0, .42);
}

:where(.kicker, .hero-badge, .section-badge, .field-kicker, .section-kicker, .proof-pill, .sync-status, .offline-proof-badge, .badge, .tag) {
    color: #e9feff !important;
}

::selection {
    background: rgba(53, 180, 182, .32);
    color: #06111a;
}

@media (max-width: 768px) {
    html,
    body {
        overflow-x: hidden !important;
    }

    body * {
        min-width: 0 !important;
    }

    :where(.hero, .banking-hero, .mobile-hero, .industry-hero, .pricing-hero) h1,
    :where(.hero-left, .hero-copy, .pricing-hero-copy, .mobile-hero-copy, .industry-hero-copy) h1 {
        font-size: clamp(1.9rem, 8vw, 2.55rem) !important;
        line-height: 1.13 !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
    }

    :where(.shell, .shell-wide, .hero-grid, .hero-text, .hero-copy, .hero-left, .hero-visual, .landing-motion, .finance-visual, .dashboard-preview, .architecture-map, .module-hub-card) {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    :where(.hero p, .hero-sub, .hero-meta, .pill) {
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }

    :where(.module-grid, .modules-grid, .outcome-grid, .workflow, .wf-cards, .foundation-grid, .compact-grid, .values-grid, .use-grid, .standards-grid, .pillars, .dashboard-preview, .roi-layout, .roi-results-grid, .proof-layout, .path-grid, .pillar-grid, .security-trust-grid, .implementation-grid, .incident-demo-flow, .incident-dashboard, .competency-layout) {
        grid-template-columns: 1fr !important;
    }

    :where(.card, .module-card, .industry-card, .foundation-card, .wf-card, .roi-panel, .roi-result-card, .architecture-map, .module-hub-card, .incident-demo-card, .migration-console, .competency-card) {
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   Enterprise Footer Standard
   Canonical ISO footer color system applied across marketing.
   ══════════════════════════════════════════════════════════════ */

:root {
    --rc-footer-bg: #26323d;
    --rc-footer-border: #3b4a58;
    --rc-footer-rule: #465565;
    --rc-footer-text: #cbd5e1;
    --rc-footer-muted: #9fb0c2;
    --rc-footer-link: #d8e0e8;
}

:where(footer, .site-footer) {
    background: var(--rc-footer-bg) !important;
    color: var(--rc-footer-text) !important;
    border-top: 1px solid var(--rc-footer-border) !important;
}

:where(footer p, .footer-desc, .footer-brand p) {
    color: var(--rc-footer-text) !important;
}

:where(.footer-heading, .footer-col h5, footer h5, footer h4) {
    color: var(--rc-footer-muted) !important;
}

:where(.footer-col a, .footer-links a, footer a) {
    color: var(--rc-footer-link) !important;
}

:where(.footer-col a:hover, .footer-links a:hover, footer a:hover) {
    color: #33b1ff !important;
}

:where(.footer-bottom) {
    color: var(--rc-footer-text) !important;
    border-top-color: var(--rc-footer-rule) !important;
}

:where(.footer-badge) {
    color: var(--rc-footer-muted) !important;
    border-color: rgba(216, 224, 232, .18) !important;
    background: rgba(255, 255, 255, .04) !important;
}

:where(footer .brand-wordmark, footer [data-brand="regula"], footer .footer-brand) {
    color: #f8fafc !important;
}

:where(footer .brand-core, footer [data-brand="core"]) {
    color: #35b4b6 !important;
}

/* ══════════════════════════════════════════════════════════════
   Light Hero Contrast Guard
   ISO and Quality heroes use bright photo fields. Keep their text
   dark even when shared dark-section rules load after page CSS.
   ══════════════════════════════════════════════════════════════ */

:where(.iso-banking-page, .quality-page) :where(.banking-hero, .quality-hero) :where(.hero-left, .hero-copy) h1,
:where(.iso-banking-page, .quality-page) :where(.banking-hero, .quality-hero) h1 {
    color: #020817 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

:where(.iso-banking-page, .quality-page) :where(.banking-hero, .quality-hero) :where(.hero-sub, .hero-left p, .hero-copy p) {
    color: #26364d !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

:where(.iso-banking-page, .quality-page) :where(.banking-hero, .quality-hero) :where(.section-kicker, .hero-badge, .kicker) {
    color: #0f62fe !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.iso-banking-page .banking-hero .reveal,
.quality-page .quality-hero .reveal {
    opacity: 1 !important;
    transform: none !important;
}

.iso-banking-page .banking-hero .section-kicker::before,
.quality-page .quality-hero .section-kicker::before {
    background: #0f62fe !important;
}

.iso-banking-page .banking-hero::after {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .68) 0%, rgba(255, 255, 255, .46) 36%, rgba(255, 255, 255, .15) 62%, rgba(255, 255, 255, 0) 88%),
        radial-gradient(circle at 76% 20%, rgba(15, 98, 254, .1), transparent 30%) !important;
}

.iso-banking-page .banking-hero::before {
    opacity: .48 !important;
}

:where(.iso-banking-page) .finance-visual :where(.banking-graph-card, .market-panel) :where(h1, h2, h3, h4, h5, h6, strong, b, .graph-title) {
    color: #07111f !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

:where(.iso-banking-page) .finance-visual :where(.banking-graph-card, .market-panel) :where(p, span, small, label) {
    color: #334155 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

:where(.iso-banking-page) .finance-visual :where(.graph-title span) {
    color: #0f62fe !important;
}

:where(.iso-banking-page) .finance-visual :where(.graph-score) {
    color: #15803d !important;
}

/* ══════════════════════════════════════════════════════════════
   Graphite EHS Contrast Guard
   EHS and Mobile pages use a charcoal workstation surface. Keep all
   copy, logo text, controls, and HUD labels readable on that surface.
   ══════════════════════════════════════════════════════════════ */

:where(.ehs-page, .mobile-page) {
    background: #26323d !important;
    color: #f8fafc !important;
}

:where(.ehs-page, .mobile-page) :where(.nav-wrap, .main-nav, .mobile-hero, .stats-bar, .field-proof, .field-workflow, .field-workflow-inner, .field-module-detail, .modules-dark, .discipline-section, .explorer-section, .solves-section, .workflow-section, .implementation-map-section, .resilience-section, .industry-benefits-section, .compact-info-section, .cta-section, .footer-cta, .site-footer, footer) {
    color: #f8fafc !important;
}

:where(.ehs-page, .mobile-page) :where(.nav-wrap, .main-nav, .mobile-hero, .stats-bar, .field-proof, .field-workflow, .field-workflow-inner, .field-module-detail, .modules-dark, .discipline-section, .explorer-section, .solves-section, .workflow-section, .implementation-map-section, .resilience-section, .industry-benefits-section, .compact-info-section, .cta-section, .footer-cta, .site-footer, footer) :where(h1, h2, h3, h4, h5, h6, strong, b, .section-title, .eyebrow, .kicker, .section-badge, .nav-logo, .nav-logo span, [data-brand="regula"], [data-brand="name"]) {
    color: #f8fafc !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

:where(.ehs-page, .mobile-page) :where(.nav-wrap, .main-nav, .mobile-hero, .stats-bar, .field-proof, .field-workflow, .field-workflow-inner, .field-module-detail, .modules-dark, .discipline-section, .explorer-section, .solves-section, .workflow-section, .implementation-map-section, .resilience-section, .industry-benefits-section, .compact-info-section, .cta-section, .footer-cta, .site-footer, footer) :where(p, li, small, label, .muted, .copy, .hero-desc, .card-copy, .feature-copy, .metric-label, .hud-label, .phone-note) {
    color: #d8e0e8 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

:where(.ehs-page, .mobile-page) :where([data-brand="core"], .brand-core, .mark-c) {
    color: #35b4b6 !important;
    opacity: 1 !important;
}

:where(.ehs-page, .mobile-page) :where(.nav-mark, .rc-mark, [data-brand="mark"]) {
    color: #26323d !important;
    background: #f8fafc !important;
    opacity: 1 !important;
}

:where(.ehs-page, .mobile-page) :where(.btn-primary, .btn-blue, .btn-cta, .nav-cta .btn-primary) {
    background: linear-gradient(135deg, #258f90, #35b4b6) !important;
    border-color: rgba(168, 230, 231, .36) !important;
    color: #ffffff !important;
    box-shadow: 0 18px 44px rgba(10, 34, 39, .22) !important;
}

:where(.ehs-page, .mobile-page) :where(.btn-secondary, .btn-ghost, .nav-cta .btn-secondary) {
    background: rgba(255, 255, 255, .045) !important;
    border-color: rgba(216, 224, 232, .28) !important;
    color: #f8fafc !important;
}

:where(.ehs-page, .mobile-page) :where(.cta-section, .footer-cta, .final-cta) {
    background:
        radial-gradient(circle at 18% 0%, rgba(53, 180, 182, .13), transparent 32%),
        linear-gradient(135deg, #26323d 0%, #2b3945 48%, #22303a 100%) !important;
    border-color: #465565 !important;
}

:where(.ehs-page, .mobile-page) :where(.cta-section, .footer-cta, .final-cta) :where(h1, h2, h3, p, a, span) {
    opacity: 1 !important;
    text-shadow: none !important;
}

/* ══════════════════════════════════════════════════════════════
   Industries Dark Surface Contrast Guard
   Keeps technical profile cards, proof cards, and CTA panels readable
   when the shared stylesheet loads after the page-level dark UI.
   ══════════════════════════════════════════════════════════════ */

.industries-page :where(.hero, .ind-section, .why-section, .cta-section, .site-footer) {
    background:
        radial-gradient(circle at 18% 0%, rgba(53, 180, 182, .12), transparent 34%),
        linear-gradient(135deg, #111517 0%, #202a33 52%, #26323d 100%) !important;
    color: #f8fafc !important;
}

.industries-page :where(.hero, .ind-section, .why-section, .cta-section, .site-footer) :where(h1, h2, h3, h4, strong, b, .num, .card-stat-num, .metric-cell strong, .pack-link, .footer-copy) {
    color: #f8fafc !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.industries-page :where(.hero, .ind-section, .why-section, .cta-section, .site-footer) :where(p, li, small, label, .hero-sub, .sec-sub, .card-sub, .card-desc, .profile-sub, .profile-summary, .focus-item, .metric-cell span, .tech-topline, .lbl, .footer-inner a) {
    color: #d8e0e8 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.industries-page :where(.industry-profile-card, .why-card, .cta-card) {
    background:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .038)),
        #202a33 !important;
    background-size: 40px 40px, 40px 40px, auto, auto !important;
    border-color: rgba(216, 224, 232, .22) !important;
    color: #f8fafc !important;
}

.industries-page .industry-profile-card :where(.industry-code, .card-tag, .pack-link span:last-child) {
    color: color-mix(in srgb, var(--card-accent, #35b4b6) 88%, #ffffff) !important;
    opacity: 1 !important;
}

.industries-page .industry-profile-card :where(.metric-panel, .intel-block) {
    background: rgba(4, 9, 14, .32) !important;
    border-color: rgba(216, 224, 232, .16) !important;
}

.industries-page .btn-ghost {
    color: #f8fafc !important;
    border-color: rgba(216, 224, 232, .3) !important;
    background: rgba(255, 255, 255, .045) !important;
}

/* ══════════════════════════════════════════════════════════════
   RegulaCore Global Production Contrast Lock v8
   Final-load safety layer for deployed pages. This removes stale blue
   CTA surfaces, restores the graphite grid system, and prevents any
   dark-on-dark or white-on-white copy from leaking through page CSS.
   ══════════════════════════════════════════════════════════════ */

:root {
    --rc-graphite: #26323d;
    --rc-graphite-mid: #2b3945;
    --rc-graphite-deep: #22303a;
    --rc-graphite-dark: #1f2a33;
    --rc-grid-line: rgba(216, 224, 232, .055);
    --rc-ink-on-dark: #f8fafc;
    --rc-copy-on-dark: #d8e0e8;
    --rc-muted-on-dark: #aebdca;
    --rc-teal: #35b4b6;
    --rc-teal-strong: #258f90;
}

body :where(.nav-center a, .nav-links a, .main-nav a) {
    white-space: nowrap !important;
    line-height: 1.15 !important;
}

body :where(.brand-lockup, .nav-logo) {
    opacity: 1 !important;
}

body :where(.brand-core, [data-brand="core"]) {
    color: var(--rc-teal) !important;
    opacity: 1 !important;
}

body :where(.site-footer, footer) {
    background: var(--rc-footer-bg, #26323d) !important;
    color: var(--rc-footer-text, #cbd5e1) !important;
    border-top: 1px solid var(--rc-footer-border, #3b4a58) !important;
}

body :where(.site-footer, footer) :where(h1, h2, h3, h4, h5, h6, strong, b, a, .footer-brand, .brand-wordmark) {
    color: var(--rc-footer-link, #d8e0e8) !important;
    opacity: 1 !important;
}

body :where(.site-footer, footer) :where(p, li, span, small, .footer-desc, .footer-copy, .footer-bottom, .footer-bottom-links a) {
    color: var(--rc-footer-text, #cbd5e1) !important;
    opacity: 1 !important;
}

body :where(.site-footer, footer) :where(.brand-core) {
    color: var(--rc-teal) !important;
}

body :where(.site-footer, footer) :where(.footer-bottom, .footer-legal) {
    border-top-color: var(--rc-footer-rule, #465565) !important;
}

:where(.ehs-page, .mobile-page, .industries-page) {
    background: var(--rc-graphite) !important;
}

:where(.ehs-page, .mobile-page, .industries-page) :where(.main-nav, .nav-wrap) {
    background: var(--rc-graphite) !important;
    border-bottom: 1px solid #465565 !important;
    box-shadow: 0 1px 18px rgba(0, 0, 0, .18) !important;
}

:where(.ehs-page, .mobile-page, .industries-page) :where(.hero, .industry-hero, .ind-section, .why-section, .cta-section, .footer-cta, .final-cta, .modules-dark, .field-workflow, .field-workflow-inner, .field-module-detail, .stats-bar, .security, .how-it-works, .capabilities, .discipline-section, .explorer-section, .solves-section, .workflow-section, .implementation-map-section, .resilience-section, .industry-benefits-section, .compact-info-section) {
    background-color: var(--rc-graphite) !important;
    background-image:
        linear-gradient(var(--rc-grid-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--rc-grid-line) 1px, transparent 1px),
        radial-gradient(circle at 18% 0%, rgba(53, 180, 182, .09), transparent 34%),
        linear-gradient(135deg, var(--rc-graphite) 0%, var(--rc-graphite-mid) 52%, var(--rc-graphite-deep) 100%) !important;
    background-size: 48px 48px, 48px 48px, auto, auto !important;
    color: var(--rc-ink-on-dark) !important;
}

:where(.ehs-page, .mobile-page, .industries-page) :where(.hero, .industry-hero, .ind-section, .why-section, .cta-section, .footer-cta, .final-cta, .modules-dark, .field-workflow, .field-module-detail, .stats-bar, .security, .how-it-works, .capabilities, .discipline-section, .explorer-section, .solves-section, .workflow-section, .implementation-map-section, .resilience-section, .industry-benefits-section, .compact-info-section) :where(h1, h2, h3, h4, h5, h6, strong, b, .section-title, .card-title, .profile-title, .metric-value, .num, .stat-num, .card-stat-num, .metric-cell strong, .pack-link, .btn, button) {
    color: var(--rc-ink-on-dark) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

:where(.ehs-page, .mobile-page, .industries-page) :where(.hero, .industry-hero, .ind-section, .why-section, .cta-section, .footer-cta, .final-cta, .modules-dark, .field-workflow, .field-module-detail, .stats-bar, .security, .how-it-works, .capabilities, .discipline-section, .explorer-section, .solves-section, .workflow-section, .implementation-map-section, .resilience-section, .industry-benefits-section, .compact-info-section) :where(p, li, small, label, span, .copy, .muted, .hero-sub, .section-copy, .sec-sub, .card-sub, .card-desc, .profile-sub, .profile-summary, .focus-item, .metric-cell span, .tech-topline, .lbl, .phone-note) {
    color: var(--rc-copy-on-dark) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

:where(.ehs-page, .mobile-page, .industries-page) :where(.section-kicker, .eyebrow, .kicker, .section-badge, .hero-badge, .pill, .status, .tech-topline, .industry-code, .card-tag) {
    color: #9fe7e8 !important;
    border-color: rgba(159, 231, 232, .42) !important;
    background: rgba(53, 180, 182, .1) !important;
    opacity: 1 !important;
}

:where(.ehs-page, .mobile-page, .industries-page) :where(.btn-primary, .btn-blue, .btn-cta, .nav-cta .btn-primary, .cta-primary) {
    background: linear-gradient(135deg, var(--rc-teal-strong), var(--rc-teal)) !important;
    border: 1px solid rgba(159, 231, 232, .42) !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    box-shadow: 0 18px 42px rgba(6, 34, 37, .24) !important;
}

:where(.ehs-page, .mobile-page, .industries-page) :where(.btn-secondary, .btn-ghost, .nav-cta .btn-secondary, .cta-secondary) {
    background: rgba(255, 255, 255, .045) !important;
    border: 1px solid rgba(216, 224, 232, .28) !important;
    color: var(--rc-ink-on-dark) !important;
    border-radius: 6px !important;
}

:where(.ehs-page, .mobile-page, .industries-page) :where(.card, .card-panel, .mod-card, .cap-card, .step-card, .sec-card, .ind-card, .why-card, .compact-card, .solve-card, .field-module-card, .field-list span, .workflow-step, .explorer-tab, .discipline-card, .quality-card, .industry-profile-card, .cta-card) {
    background:
        linear-gradient(rgba(216, 224, 232, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(216, 224, 232, .045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .068), rgba(255, 255, 255, .032)),
        var(--rc-graphite-dark) !important;
    background-size: 42px 42px, 42px 42px, auto, auto !important;
    border: 1px solid rgba(216, 224, 232, .22) !important;
    border-radius: 6px !important;
    color: var(--rc-ink-on-dark) !important;
    box-shadow: 0 18px 52px rgba(4, 10, 15, .18) !important;
}

:where(.ehs-page, .mobile-page, .industries-page) :where(.card, .card-panel, .mod-card, .cap-card, .step-card, .sec-card, .ind-card, .why-card, .compact-card, .solve-card, .field-module-card, .workflow-step, .explorer-tab, .discipline-card, .quality-card, .industry-profile-card, .cta-card) :where(h1, h2, h3, h4, strong, b, .metric-value, .card-stat-num, .metric-cell strong, .pack-link) {
    color: var(--rc-ink-on-dark) !important;
    opacity: 1 !important;
}

:where(.ehs-page, .mobile-page, .industries-page) :where(.card, .card-panel, .mod-card, .cap-card, .step-card, .sec-card, .ind-card, .why-card, .compact-card, .solve-card, .field-module-card, .workflow-step, .explorer-tab, .discipline-card, .quality-card, .industry-profile-card, .cta-card) :where(p, li, small, span, label, .card-desc, .card-sub, .profile-sub, .profile-summary, .focus-item, .metric-cell span) {
    color: var(--rc-copy-on-dark) !important;
    opacity: 1 !important;
}

.industries-page .industry-profile-card,
.industries-page .industry-profile-card * {
    opacity: 1 !important;
    text-shadow: none !important;
}

.industries-page .industry-profile-card :where(.metric-panel, .intel-block) {
    background: rgba(4, 9, 14, .56) !important;
    border-color: rgba(216, 224, 232, .2) !important;
}

.industries-page .industry-profile-card :where(.industry-code, .card-tag, .pack-link span:last-child, .live-dot) {
    color: color-mix(in srgb, var(--card-accent, #35b4b6) 84%, #ffffff) !important;
    opacity: 1 !important;
}

.industries-page .industry-profile-card :where(.focus-item)::before,
.industries-page .industry-profile-card :where(.bullet, .live-dot) {
    opacity: 1 !important;
}

.industries-page :where(.cta-section, .final-cta) {
    background-image:
        linear-gradient(var(--rc-grid-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--rc-grid-line) 1px, transparent 1px),
        linear-gradient(135deg, var(--rc-graphite) 0%, var(--rc-graphite-mid) 54%, var(--rc-graphite-deep) 100%) !important;
    background-color: var(--rc-graphite) !important;
}

:where(.pricing-page) :where(.hero-badge, .section-badge, .eyebrow, .kicker) {
    color: #273746 !important;
    background: #edf4f7 !important;
    border: 1px solid #aebdca !important;
    opacity: 1 !important;
    border-radius: 6px !important;
}

:where(.pricing-page) :where(.cta-section, .footer-cta, .final-cta) {
    background:
        linear-gradient(var(--rc-grid-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--rc-grid-line) 1px, transparent 1px),
        radial-gradient(circle at 18% 0%, rgba(53, 180, 182, .11), transparent 34%),
        linear-gradient(135deg, var(--rc-graphite) 0%, var(--rc-graphite-mid) 52%, var(--rc-graphite-deep) 100%) !important;
    background-size: 48px 48px, 48px 48px, auto, auto !important;
    color: var(--rc-ink-on-dark) !important;
}

:where(.pricing-page) :where(.cta-section, .footer-cta, .final-cta) :where(h1, h2, h3, strong, b) {
    color: var(--rc-ink-on-dark) !important;
    opacity: 1 !important;
}

:where(.pricing-page) :where(.cta-section, .footer-cta, .final-cta) :where(p, span, small, a) {
    color: var(--rc-copy-on-dark) !important;
    opacity: 1 !important;
}

:where(.pricing-page) :where(.btn, button, .card, .pricing-card, .roi-card, .summary-card) {
    border-radius: 6px !important;
}

:where(.pricing-page) :where(h1, h2, h3, .price, .amount, .metric-value) {
    font-weight: 650 !important;
    letter-spacing: -.025em !important;
}

:where(.iso-banking-page) .banking-hero .hero-left {
    background: linear-gradient(90deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .44) 72%, transparent) !important;
}

:where(.iso-banking-page) .banking-hero .hero-left :where(h1, h2, h3) {
    color: #020817 !important;
    opacity: 1 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .5) !important;
}

:where(.iso-banking-page) .banking-hero .hero-left :where(p, .hero-sub) {
    color: #243247 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

:where(.iso-banking-page) .banking-hero .hero-left :where(.section-kicker, .eyebrow) {
    color: #0b5ed7 !important;
    opacity: 1 !important;
}

:where(.iso-banking-page) .banking-hero::after {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .58) 0%, rgba(255, 255, 255, .32) 40%, rgba(255, 255, 255, .08) 72%, transparent 100%),
        linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, .08) 100%) !important;
}

:where(.iso-banking-page) .finance-visual :where(.banking-graph-card, .market-panel) :where(h1, h2, h3, h4, strong, b, span, p, small) {
    opacity: 1 !important;
    text-shadow: none !important;
}

:where(.iso-banking-page) .finance-visual :where(.market-panel strong, .graph-title, .graph-score) {
    color: #07111f !important;
}

:where(.iso-banking-page) .finance-visual :where(.market-panel span, .graph-title span) {
    color: #334155 !important;
}

:where(.ehs-page, .mobile-page, .industries-page) :where(h1, h2, h3, h4, .num, .stat-num, .metric-value, .card-stat-num, .metric-cell strong) {
    font-weight: 620 !important;
    letter-spacing: -.025em !important;
}

:where(.ehs-page, .mobile-page, .industries-page) :where(.initial, .module-initial, .icon-badge, .card-icon) {
    font-weight: 650 !important;
    color: var(--rc-ink-on-dark) !important;
}

@media (max-width: 760px) {
    :where(.ehs-page, .mobile-page, .industries-page) :where(h1) {
        font-size: clamp(2rem, 10vw, 3rem) !important;
        line-height: 1.05 !important;
    }

    body :where(.nav-center a, .nav-links a, .main-nav a) {
        white-space: normal !important;
        min-width: max-content !important;
    }
}

/* Industries card readability lock v9: no dark hover curtains, no overlap. */
.industries-page .industry-profile-card .tech-topline {
    color: #d8e0e8 !important;
    background: rgba(216, 224, 232, .07) !important;
    border: 1px solid rgba(216, 224, 232, .2) !important;
    border-radius: 4px !important;
}

.industries-page .industry-profile-card .tech-topline :where(span) {
    color: #d8e0e8 !important;
    opacity: 1 !important;
}

.industries-page .industry-profile-card .intelligence-overlay {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .58rem !important;
    margin: .15rem 0 .9rem !important;
    padding: .72rem !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    z-index: 1 !important;
    background:
        linear-gradient(rgba(216, 224, 232, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(216, 224, 232, .035) 1px, transparent 1px),
        linear-gradient(180deg, rgba(5, 10, 15, .72), rgba(5, 10, 15, .56)) !important;
    background-size: 34px 34px, 34px 34px, auto !important;
    border: 1px solid color-mix(in srgb, var(--card-accent, #35b4b6) 32%, rgba(216, 224, 232, .18)) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07) !important;
}

.industries-page .industry-profile-card .intel-block {
    padding: .72rem !important;
    background: rgba(216, 224, 232, .05) !important;
    border: 1px solid rgba(216, 224, 232, .16) !important;
    border-radius: 4px !important;
}

.industries-page .industry-profile-card .intel-label {
    color: color-mix(in srgb, var(--card-accent, #35b4b6) 82%, #ffffff) !important;
    opacity: 1 !important;
}

.industries-page .industry-profile-card .intel-block p {
    color: #f1f5f9 !important;
    opacity: 1 !important;
}
