/* Palette adapted from NemoStaging's css/landing-page.css. */
.dh-page,
.dh-route-loader {
    --dh-navy: #212529;
    --dh-ink: #212529;
    --dh-green: #4361ee;
    --dh-cedar: #7209b7;
    --dh-sky: #eef2ff;
    --dh-cloud: #f8f9fa;
    --dh-saffron: #f72585;
    --dh-gold: #8b5cf6;
    --dh-line: #e2e8f0;
    --dh-soft-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    --dh-strong-shadow: 0 28px 80px rgba(15, 23, 42, .18);
    --nemo-primary: #4361ee;
    --nemo-primary-dark: #3a56d4;
    --nemo-gradient: linear-gradient(135deg, #4361ee, #7209b7);
}

.dh-page .dh-navbar {
    background: rgba(255, 255, 255, .94);
    border-bottom-color: #e2e8f0;
    box-shadow: 0 14px 35px rgba(15, 23, 42, .06);
}

.dh-page .dh-brand-title { color: #07356f; }
.dh-page .dh-nav-link { color: #212529; }
.dh-page .dh-nav-link:hover,
.dh-page .dh-nav-link:focus-visible {
    color: #3a56d4;
    background: #eef2ff;
}

.dh-page .dh-button-primary {
    background: var(--nemo-gradient);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 12px 28px rgba(67, 97, 238, .22);
}

.dh-page .dh-button-primary:hover,
.dh-page .dh-button-primary:focus-visible {
    background: linear-gradient(135deg, #3a56d4, #60089a);
    color: #fff;
    box-shadow: 0 16px 36px rgba(67, 97, 238, .3);
}

.dh-page .dh-button-secondary {
    color: #3a56d4;
    background: #fff;
    border-color: #c7d2fe;
}

.dh-page .dh-button-secondary:hover,
.dh-page .dh-button-secondary:focus-visible {
    color: #3730a3;
    background: #eef2ff;
    border-color: #818cf8;
}

.dh-page .dh-hero {
    background:
        radial-gradient(circle at 20% 80%, rgba(99, 102, 241, .15), transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(236, 72, 153, .15), transparent 50%),
        linear-gradient(135deg, #0f172a, #1e293b);
    color: #f8fafc;
}

.dh-page .dh-hero h1 { color: #f8fafc; }
.dh-page .dh-hero-copy { color: #cbd5e1; }
.dh-page .dh-hero .dh-button-primary {
    background: linear-gradient(135deg, #4f46e5, #7c3aed);
}
.dh-page .dh-hero .dh-button-primary:hover {
    background: linear-gradient(135deg, #4338ca, #6d28d9);
}
.dh-page .dh-hero .dh-button-secondary {
    background: rgba(255, 255, 255, .14);
    border-color: rgba(255, 255, 255, .3);
    color: #f8fafc;
}
.dh-page .dh-hero .dh-button-secondary:hover {
    background: rgba(255, 255, 255, .22);
    color: #fff;
}
.dh-page .nemo-badges li {
    color: #e2e8f0;
    background: rgba(255, 255, 255, .08);
    border-color: rgba(165, 180, 252, .25);
}

/* Keep the existing full-colour logo legible against the dark hero. */
.dh-page .dh-logo-stage {
    background: linear-gradient(135deg, #f8fafc, #eef2ff);
    border-color: rgba(165, 180, 252, .4);
    box-shadow: 0 24px 70px rgba(99, 102, 241, .18);
}
.dh-page .dh-logo-stage::before {
    background: linear-gradient(180deg, transparent, rgba(139, 92, 246, .08));
}
.dh-page .dh-logo-main img {
    filter: drop-shadow(0 16px 28px rgba(67, 97, 238, .12));
}

.dh-page .dh-section { background: #fff; }
.dh-page .dh-section:nth-of-type(even),
.dh-page .dh-section-alt { background: #f8f9fa; }
.dh-page .dh-section-heading h2,
.dh-page .dh-card h3,
.dh-page .dh-card h4 { color: #212529; }
.dh-page .dh-section-heading p,
.dh-page .dh-card p,
.dh-page .dh-card blockquote,
.dh-page .dh-card li { color: #475569; }
.dh-page .dh-card {
    background: #fff;
    border-color: #e2e8f0;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}
.dh-page .dh-card a { color: #3a56d4; }
.dh-page .dh-card a:hover { color: #7209b7; }

.dh-page .dh-contact-aside {
    background: var(--nemo-gradient);
    color: #fff;
}
.dh-page .dh-contact-aside img {
    filter: none;
    background: #fff;
    border-radius: 8px;
}
.dh-page .dh-contact-form {
    border-color: #e2e8f0;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
}
.dh-page .dh-input,
.dh-page .dh-select { border-color: #cbd5e1; }
.dh-page .dh-input:focus,
.dh-page .dh-select:focus {
    border-color: #4361ee;
    box-shadow: 0 0 0 4px rgba(67, 97, 238, .14);
}
.dh-page .dh-option {
    background: #f8f9fa;
    border-color: #e2e8f0;
}
.dh-page .dh-option input { accent-color: #4361ee; }
.dh-page .dh-option:has(input:checked) {
    background: #eef2ff;
    border-color: #818cf8;
}
.dh-page .dh-small-note { color: #475569; }
.dh-page .dh-button:disabled { opacity: .55; box-shadow: none; }

.dh-page .dh-footer { background: #0f172a; color: #cbd5e1; }
.dh-page .dh-footer a { color: #e2e8f0; }
.dh-page .dh-footer a:hover { color: #c4b5fd; }
.dh-page .chat-overlay { background: rgba(15, 23, 42, .72); }
.dh-page a:focus-visible,
.dh-page button:focus-visible {
    outline: 3px solid #818cf8;
    outline-offset: 4px;
}
.dh-page ::selection { background: #c7d2fe; color: #1e1b4b; }
/* App-wide span rules must not hide text on light action buttons. */ .dh-page .dh-button > span { color: inherit !important; }
