/* ══════════════════════════════════════════════════════════════
   Corvus Intelligence — Design Polish (tactical command-center)
   Last-in-cascade overlay. Link AFTER site.css / nav.css and
   after any per-page <style> block. Overrides base via
   specificity + !important so it never needs page edits.
   ══════════════════════════════════════════════════════════════ */

:root {
    --corvus-blue: #5db0f0;
    --corvus-blue-deep: rgba(5, 99, 161, 1);
    --corvus-blue-40: rgba(93, 176, 240, 0.4);
    --corvus-blue-30: rgba(93, 176, 240, 0.3);
    --corvus-blue-15: rgba(93, 176, 240, 0.15);
    --corvus-blue-08: rgba(93, 176, 240, 0.08);
    --corvus-grid: rgba(93, 176, 240, 0.035);
    --corvus-ink: rgba(215, 220, 230, 1);
    --corvus-ink-dim: rgba(193, 193, 193, 0.72);
    --corvus-bg-elev-1: rgba(255, 255, 255, 0.03);
    --corvus-bg-elev-2: rgba(255, 255, 255, 0.06);
    --corvus-border: rgba(255, 255, 255, 0.12);
    --corvus-border-strong: rgba(255, 255, 255, 0.22);
    --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
}

/* Section fade-in observer could leave content stuck at opacity:0
   (fast-scroll / anchored nav / no-JS). Always visible. */
.section { opacity: 1 !important; transform: none !important; }

/* ---- Global atmosphere: faint tactical grid ---- */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image:
        linear-gradient(var(--corvus-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--corvus-grid) 1px, transparent 1px);
    background-size: 96px 96px;
    pointer-events: none;
    z-index: 0;
    -webkit-mask-image: radial-gradient(ellipse at center, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.3) 60%, transparent 100%);
            mask-image: radial-gradient(ellipse at center, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.3) 60%, transparent 100%);
}
#site-nav, .hero, main.content, .legal-hero, .legal-content, #site-footer,
.dev-stats-strip, .dev-ecosystem, .dev-mid-cta, .dev-process, .dev-inline-form-section {
    position: relative;
    z-index: 1;
}
.dev-sticky-cta { z-index: 1000 !important; }

/* ---- HERO: sharper typographic hierarchy ---- */
.hero h1 {
    font-size: clamp(32px, 4vw, 56px) !important;
    letter-spacing: 3px !important;
    line-height: 1.1 !important;
}
.hero .subtitle {
    color: var(--corvus-blue) !important;
    letter-spacing: 3px !important;
    font-size: 13px !important;
    margin-bottom: 32px !important;
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid var(--corvus-blue-30);
    background: var(--corvus-blue-08);
}
.hero .description { color: var(--corvus-ink) !important; }

/* ---- SECTION HEADINGS: accent underline ---- */
.section h2 {
    position: relative;
    padding-bottom: 20px;
    letter-spacing: 2px !important;
}
.section h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 56px;
    height: 2px;
    background: var(--corvus-blue);
}
.section p,
.section ul li { color: var(--corvus-ink) !important; }

/* ---- FEATURE CARDS: tactical corner crops + lift ---- */
.feature-card,
.cap-card {
    position: relative;
    transition: border-color 0.3s, background 0.3s, transform 0.25s ease;
}
.feature-card::before,
.cap-card::before {
    content: '';
    position: absolute;
    top: -1px; left: -1px;
    width: 12px; height: 12px;
    border-top: 1px solid var(--corvus-blue-30);
    border-left: 1px solid var(--corvus-blue-30);
    transition: border-color 0.3s ease;
    pointer-events: none;
    z-index: 0;
}
.feature-card::after,
.cap-card::after {
    content: '';
    position: absolute;
    bottom: -1px; right: -1px;
    width: 12px; height: 12px;
    border-bottom: 1px solid var(--corvus-blue-30);
    border-right: 1px solid var(--corvus-blue-30);
    transition: border-color 0.3s ease;
    pointer-events: none;
    z-index: 0;
}
.feature-card:hover::before,
.feature-card:hover::after,
.cap-card:hover::before,
.cap-card:hover::after {
    border-color: var(--corvus-blue);
}
.feature-card:hover,
.cap-card:hover { transform: translateY(-2px); }

/* ---- HIGHLIGHT BOX (investors, product pages): corner mark ---- */
.highlight-box {
    position: relative;
}
.highlight-box::after {
    content: '';
    position: absolute;
    top: 10px; right: 10px;
    width: 10px; height: 10px;
    border-top: 1px solid var(--corvus-blue-40);
    border-right: 1px solid var(--corvus-blue-40);
    opacity: 0.7;
    pointer-events: none;
}

/* ---- BENEFIT ITEMS (procurement): left accent on hover ---- */
.benefit-item {
    position: relative;
    transition: border-color 0.3s, background 0.3s, transform 0.25s ease;
}
.benefit-item:hover { transform: translateX(2px); }

/* ---- LICENCE TIER (procurement): corner marks ---- */
.tier {
    position: relative;
}
.tier::after {
    content: '';
    position: absolute;
    top: 14px; right: 14px;
    width: 12px; height: 12px;
    border-top: 1px solid var(--corvus-blue-40);
    border-right: 1px solid var(--corvus-blue-40);
    opacity: 0.7;
    pointer-events: none;
}

/* ---- CTA BOX: corner marks ---- */
.cta {
    position: relative;
}
.cta > .corner-mark-tl,
.cta > .corner-mark-br { display: none; } /* unused placeholder */

/* ---- AUDIENCE TAGS: tighter hover ---- */
.audience-tag {
    transition: border-color 0.3s, color 0.3s, background-color 0.3s;
}
.audience-tag:hover {
    color: #ffffff !important;
    background: var(--corvus-blue-08);
}

/* ══════════════════════════════════════════════════════════════
   LEGAL PAGES — legal-hero / legal-content polish
   ══════════════════════════════════════════════════════════════ */
.legal-hero {
    position: relative;
    padding-bottom: 72px !important;
}
.legal-hero h1 {
    position: relative;
    display: inline-block;
    letter-spacing: 3px !important;
    padding-bottom: 20px;
}
.legal-hero h1::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 72px;
    height: 2px;
    background: var(--corvus-blue);
    transform: translateX(-50%);
    box-shadow: 0 0 24px var(--corvus-blue-40);
}
.legal-content {
    position: relative;
}
.legal-content h2 {
    position: relative;
    padding-left: 16px;
    color: #ffffff !important;
    letter-spacing: 0.3px;
}
.legal-content h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: var(--corvus-blue);
    opacity: 0.7;
}
.legal-content h3 {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
    margin: 20px 0 8px;
    letter-spacing: 0.3px;
}
.legal-content a { color: var(--corvus-blue) !important; }
.legal-content a:hover { color: #ffffff !important; }

/* ══════════════════════════════════════════════════════════════
   DEVELOPMENT PAGE — applies only when page uses these classes
   (Stats strip / ecosystem / process / mid-CTA / inline form)
   ══════════════════════════════════════════════════════════════ */

/* ---- STATS STRIP ---- */
.dev-stats-strip {
    grid-template-columns: repeat(3, 1fr) !important;
    max-width: 1060px;
    margin: 0 auto;
    padding: 64px 40px !important;
    border-top: 1px solid var(--corvus-border) !important;
    border-bottom: 1px solid var(--corvus-border) !important;
    position: relative;
}
.dev-stats-strip::before,
.dev-stats-strip::after {
    content: '';
    position: absolute;
    left: 40px; right: 40px;
    height: 1px;
    background: repeating-linear-gradient(90deg, var(--corvus-blue-40) 0 10px, transparent 10px 22px);
    opacity: 0.7;
}
.dev-stats-strip::before { top: -1px; }
.dev-stats-strip::after { bottom: -1px; }
.dev-stats-strip .stat-cell {
    padding: 0 32px !important;
    border-right: 1px solid var(--corvus-border) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}
.dev-stats-strip .stat-cell:last-child { border-right: none !important; }
.dev-stats-strip .stat-cell .stat-value {
    font-family: 'custom_95725', sans-serif !important;
    font-size: clamp(18px, 2.1vw, 26px) !important;
    font-weight: 400 !important;
    letter-spacing: 1.8px !important;
    color: var(--corvus-blue) !important;
    line-height: 1.15 !important;
    position: relative;
    padding-bottom: 14px !important;
    margin-bottom: 18px !important;
    white-space: nowrap;
    text-transform: uppercase;
}
.dev-stats-strip .stat-cell .stat-value::after {
    content: '';
    position: absolute;
    left: 50%; bottom: 0;
    width: 32px; height: 1px;
    background: var(--corvus-blue);
    transform: translateX(-50%);
}
.dev-stats-strip .stat-label {
    font-size: 11px !important;
    letter-spacing: 1.2px !important;
    color: var(--corvus-ink-dim) !important;
    text-align: center;
    line-height: 1.5;
    max-width: 220px;
}

/* ---- ECOSYSTEM SECTION ---- */
.dev-ecosystem { padding: 96px 40px !important; }
.dev-ecosystem .eco-eyebrow {
    font-size: clamp(20px, 2.8vw, 32px) !important;
    letter-spacing: 3px !important;
    margin-bottom: 24px !important;
    position: relative;
    display: inline-block;
    padding: 0 48px;
}
.dev-ecosystem .eco-eyebrow::before,
.dev-ecosystem .eco-eyebrow::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 32px;
    height: 1px;
    background: var(--corvus-blue-40);
}
.dev-ecosystem .eco-eyebrow::before { left: 0; }
.dev-ecosystem .eco-eyebrow::after { right: 0; }
.dev-ecosystem .eco-sub {
    color: var(--corvus-ink) !important;
    font-size: 17px !important;
    max-width: 680px !important;
    margin: 0 auto 56px !important;
}
.dev-ecosystem .eco-card {
    background: var(--corvus-bg-elev-1) !important;
    border: 1px solid var(--corvus-border) !important;
    border-top: none !important;
    padding: 40px 28px 32px !important;
    position: relative;
    transition: transform 0.35s ease, background 0.3s ease, border-color 0.3s ease;
}
.dev-ecosystem .eco-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--corvus-blue) 0%, var(--corvus-blue) 40%, transparent 100%);
}
.dev-ecosystem .eco-card::after {
    content: '';
    position: absolute;
    top: 14px; right: 14px;
    width: 10px; height: 10px;
    border-top: 1px solid var(--corvus-blue);
    border-right: 1px solid var(--corvus-blue);
    opacity: 0.55;
}
.dev-ecosystem .eco-card:hover {
    transform: translateY(-3px);
    background: rgba(93, 176, 240, 0.05) !important;
    border-color: var(--corvus-border-strong) !important;
}
.dev-ecosystem .eco-card-label {
    font-size: 20px !important;
    color: #ffffff !important;
    letter-spacing: 2.5px !important;
    margin-bottom: 16px !important;
}
.dev-ecosystem .eco-card-desc {
    color: var(--corvus-ink) !important;
    font-size: 14.5px !important;
    line-height: 23px !important;
}

/* ---- PROCESS STRIP ---- */
.dev-process .proc-eyebrow {
    color: var(--corvus-blue) !important;
    font-size: 12px !important;
    letter-spacing: 3px !important;
    position: relative;
    display: inline-block;
}
.dev-process .proc-eyebrow::before,
.dev-process .proc-eyebrow::after {
    content: '';
    display: inline-block;
    width: 40px;
    height: 1px;
    background: var(--corvus-blue-40);
    vertical-align: middle;
    margin: 0 16px;
}
.dev-process .proc-num {
    font-family: var(--mono) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    width: 56px !important;
    height: 56px !important;
    background: rgba(10, 16, 32, 0.7) !important;
    box-shadow: 0 0 28px rgba(93, 176, 240, 0.18), inset 0 0 0 1px rgba(93, 176, 240, 0.35);
    border: 1px solid var(--corvus-blue) !important;
}
.dev-process .proc-connector {
    background: repeating-linear-gradient(90deg, var(--corvus-blue-40) 0 4px, transparent 4px 10px) !important;
    height: 1px !important;
    margin-top: 28px !important;
    flex: 0 0 72px !important;
}
.dev-process .proc-title { letter-spacing: 1.5px !important; }

/* ---- MID CTA ---- */
.dev-mid-cta {
    background:
        radial-gradient(ellipse 80% 100% at 50% 0%, rgba(93, 176, 240, 0.10) 0%, transparent 70%),
        linear-gradient(180deg, rgba(5, 99, 161, 0.14) 0%, rgba(5, 99, 161, 0.03) 100%) !important;
    border-top: 1px solid var(--corvus-border);
    border-bottom: 1px solid var(--corvus-border);
    position: relative;
    overflow: hidden;
}
.dev-mid-cta::before {
    content: '';
    position: absolute;
    top: 0; left: 50%;
    width: 160px; height: 2px;
    background: var(--corvus-blue);
    transform: translateX(-50%);
    box-shadow: 0 0 32px var(--corvus-blue), 0 0 8px var(--corvus-blue);
}
.dev-mid-cta .mid-cta-eyebrow {
    color: var(--corvus-blue) !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
}
.dev-mid-cta .mid-cta-sub { color: var(--corvus-ink) !important; font-size: 17px !important; }

/* ---- STICKY CTA ---- */
.dev-sticky-cta a {
    box-shadow:
        0 0 0 1px rgba(93, 176, 240, 0.2),
        0 8px 32px rgba(0, 0, 0, 0.45),
        0 2px 8px rgba(0, 0, 0, 0.25) !important;
}
.dev-sticky-cta a:hover {
    box-shadow:
        0 0 0 1px rgba(93, 176, 240, 0.5),
        0 0 32px rgba(93, 176, 240, 0.35),
        0 10px 36px rgba(0, 0, 0, 0.5) !important;
}

/* ---- INLINE FORM ---- */
.dev-inline-form-section .ilf-heading {
    position: relative;
    padding-bottom: 20px;
    letter-spacing: 2.5px !important;
}
.dev-inline-form-section .ilf-heading::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 56px;
    height: 2px;
    background: var(--corvus-blue);
}
.dev-inline-form-section .ilf-sub { color: var(--corvus-ink) !important; }
.dev-ilf-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%) !important;
    border: 1px solid var(--corvus-border) !important;
    position: relative;
}
.dev-ilf-card::before,
.dev-ilf-card::after {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    border: 1px solid var(--corvus-blue);
    pointer-events: none;
}
.dev-ilf-card::before { top: -1px; left: -1px; border-right: none; border-bottom: none; }
.dev-ilf-card::after { bottom: -1px; right: -1px; border-left: none; border-top: none; }

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    body::before { background-size: 64px 64px; }
    .dev-ecosystem { padding: 64px 20px !important; }
    .dev-ecosystem .eco-eyebrow { padding: 0 32px; }
    .dev-ecosystem .eco-eyebrow::before,
    .dev-ecosystem .eco-eyebrow::after { width: 20px; }
    .dev-stats-strip { padding: 40px 20px !important; }
    .legal-hero { padding-bottom: 48px !important; }
}
